2012-10-23, 13:31
Hello,
to be used in domestic scenarios, the PI+XMBC needs to be able to be switched off without worrying about shutdown.
This is a must if you want your wife to use it without risk of breaking it at first use...
Proposal
To be able to switch off safetely we need to solve some problems.
1) Linux uses the FS for paging
2) Applications write on FS without worrying about poweroff during this procedure
3) in case of FAT, lost clusters are generated
4) SD card FS is maybe not reliable for powering down and preserving data
5) other?
1) we can build Linux without paging. Maybe it's already this way. I admit I didn't have a look at sources.
2) xmbc must take care of power off during write access. This can be done for every file touched, following this simple algorithm:
- firstly rename the old file to another name (e.g.: bak o whatever else)
- save the new file
- delete the bak
at loading:
- if bak doesn't exist: load the master file
- if bak exists: delete the master one, rename bak to master then load the master file
3) checkdisk must be take in place at every startup
4) in case of physical/technical big problems not easily solveable, it could be useful to allow XMBC to save database files directly on the USB media connected and not on SD
5) anything else?
What do you think?
to be used in domestic scenarios, the PI+XMBC needs to be able to be switched off without worrying about shutdown.
This is a must if you want your wife to use it without risk of breaking it at first use...
Proposal
To be able to switch off safetely we need to solve some problems.
1) Linux uses the FS for paging
2) Applications write on FS without worrying about poweroff during this procedure
3) in case of FAT, lost clusters are generated
4) SD card FS is maybe not reliable for powering down and preserving data
5) other?
1) we can build Linux without paging. Maybe it's already this way. I admit I didn't have a look at sources.
2) xmbc must take care of power off during write access. This can be done for every file touched, following this simple algorithm:
- firstly rename the old file to another name (e.g.: bak o whatever else)
- save the new file
- delete the bak
at loading:
- if bak doesn't exist: load the master file
- if bak exists: delete the master one, rename bak to master then load the master file
3) checkdisk must be take in place at every startup
4) in case of physical/technical big problems not easily solveable, it could be useful to allow XMBC to save database files directly on the USB media connected and not on SD
5) anything else?
What do you think?