[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