[Cbe-oss-dev] [patch kexec] Fix test for loaded kernel
Geoff Levand
geoffrey.levand at am.sony.com
Sat Sep 13 05:33:26 EST 2008
Hi Simon,
Sorry, this does not work correctly. Please ignore.
Geoff Levand wrote:
> Fix these reboot errors with NFS mounted root filesystems:
>
> nfs: server 192.168.1.1 not responding, still trying
>
> The main kexec code that uses kexec_loaded() expects a non-zero
> return to mean a kexec kernel has been loaded for execution.
> Here is the current check:
>
> if ((result == 0) && (do_shutdown || do_exec) && !kexec_loaded())
> die
>
> In cases where the currently running kernel does not have kexec enabled,
> or in cases where the distro init scripts (YDL, maybe others) have unmounted
> the sys filesystem prior to running kexec, the open of
> "/sys/kernel/kexec_loaded" will fail. This result should be returned as
> (0), meaning NOT LOADED. The current kexec_loaded() code returns (-1),
> meaning LOADED.
Unfortunately, in the case where a kernel has been loaded, but the init
scripts unmount sys_fs, my change will not allow the kexec to continue.
The only way to fix the NFS problem is to change the init scripts to
pass the -x option to kexec.
-Geoff
More information about the cbe-oss-dev
mailing list