[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