- MyPLC 0.4 RC2
[bootmanager.git] / source / steps / ChainBootNode.py
index 7d43616..e2d2e89 100644 (file)
@@ -11,8 +11,7 @@ from systeminfo import systeminfo
 import BootAPI
 import notify_messages
 
-from GetAndUpdateNodeDetails import SMP_OPT
-
+import ModelOptions
 
 def Run( vars, log ):
     """
@@ -84,6 +83,7 @@ def Run( vars, log ):
         utils.sysexec( "mount /dev/planetlab/root %s" % SYSIMG_PATH, log )
         utils.sysexec( "mount /dev/planetlab/vservers %s/vservers" %
                        SYSIMG_PATH, log )
+        utils.sysexec( "mount -t proc none %s/proc" % SYSIMG_PATH, log )
 
         ROOT_MOUNTED= 1
         vars['ROOT_MOUNTED']= 1
@@ -127,7 +127,7 @@ def Run( vars, log ):
 
     # get the kernel version
     option = ''
-    if NODE_MODEL_OPTIONS & SMP_OPT:
+    if NODE_MODEL_OPTIONS & ModelOptions.SMP:
         option = 'smp'
 
     log.write( "Copying kernel and initrd for booting.\n" )
@@ -141,6 +141,7 @@ def Run( vars, log ):
         utils.sysexec_noerr( "chroot %s umount /rcfs" % SYSIMG_PATH, log )
     except OSError, e:
         pass
+    utils.sysexec_noerr( "umount %s/proc" % SYSIMG_PATH, log )
     utils.sysexec_noerr( "umount -r /dev/planetlab/vservers", log )
     utils.sysexec_noerr( "umount -r /dev/planetlab/root", log )
     utils.sysexec_noerr( "vgchange -an", log )
@@ -241,7 +242,9 @@ def Run( vars, log ):
         log.write( "Couldn't read /proc/modules, continuing.\n" )
 
 
-    kargs = "ramdisk_size=8192"
+    kargs = "root=/dev/mapper/planetlab-root ramdisk_size=8192"
+    if NODE_MODEL_OPTIONS & ModelOptions.SMP:
+        kargs = kargs + " " + "acpi=off"
     try:
         kargsfb = open("/kargs.txt","r")
         moreargs = kargsfb.readline()