solve the ordering problem which causes the boot failure
authorS.Çağlar Onur <caglar@cs.princeton.edu>
Thu, 11 Feb 2010 23:18:25 +0000 (23:18 +0000)
committerS.Çağlar Onur <caglar@cs.princeton.edu>
Thu, 11 Feb 2010 23:18:25 +0000 (23:18 +0000)
source/BootManager.py
source/steps/ChainBootNode.py

index 96abf90..e5a448e 100755 (executable)
@@ -227,7 +227,6 @@ class BootManager:
             ret = ValidateNodeInstall.Run( self.VARS, self.LOG )
             if ret == 1:
                 WriteModprobeConfig.Run( self.VARS, self.LOG )
-                MakeInitrd.Run( self.VARS, self.LOG )
                 WriteNetworkConfig.Run( self.VARS, self.LOG )
                 CheckForNewDisks.Run( self.VARS, self.LOG )
                 SendHardwareConfigToPLC.Run( self.VARS, self.LOG )
index 37a8d67..6e11cfd 100644 (file)
@@ -15,6 +15,7 @@ import re
 import os
 
 import UpdateNodeConfiguration
+import MakeInitrd
 from Exceptions import *
 import utils
 import systeminfo
@@ -125,6 +126,9 @@ def Run( vars, log ):
         cmd = "/usr/local/planetlab/bin/NodeUpdate.py start noreboot"
     utils.sysexec_chroot( SYSIMG_PATH, cmd, log )
 
+    # Re-generate initrd right before kexec call
+    MakeInitrd.Run( vars, log )
+
     # the following step should be done by NM
     UpdateNodeConfiguration.Run( vars, log )