jacmet at sunsite.dk
Wed Feb 23 04:56:50 EST 2011
>>>>> "Baruch" == Baruch Siach <baruch at tkos.co.il> writes:
Baruch> A partial solution is to use initramfs (see the kernel
Baruch> Documentation/filesystems/ramfs-rootfs-initramfs.txt). You can
Baruch> mount your rootfs from the /init script of the initramfs. Then,
Baruch> if mount fails because of a corrupt rootfs, you can mount your
Baruch> rescue rootfs instead, or just run whatever rescue application
Baruch> you want directly from initramfs.
This only works if mount does a complete rootfs check, which isn't the
case. In the typical situation of a power loss in the middle of an
update, the superblock will normally be valid and you will only discover
the corruption when you start accessing files.
Baruch> Another partial solution is a to use a hardware watchdog, and a
Baruch> userspace watchdog ping process. Then, upon boot you may check
Baruch> whether this is a normal power-on reset or a watchdog reset,
Baruch> and load the appropriate kernel.
That's imho a better solution, and pretty simply to implement without
any adverse affects on the startup time, whereas the CRC checks do add
to the startup time.
Bye, Peter Korsgaard
More information about the barebox