- refactored marc's kupdate.sh into a new script kvariant.sh
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 3 Apr 2009 16:45:22 +0000 (16:45 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 3 Apr 2009 16:45:22 +0000 (16:45 +0000)
- this allows to create a 'variant' stored in /usr/share/bootcd/<variant>
from the standard /usr/share/bootcd/build tree but with a different kernel
- GetBootMedium has a new option to use a given variant

PLC/Methods/GetBootMedium.py

index a211030..0051aa6 100644 (file)
@@ -96,6 +96,10 @@ class GetBootMedium(Method):
         it is expected to be a colon separated string denoting
         tty - baudrate - parity - bits
         e.g. ttyS0:115200:n:8
+        - 'variant:<variantname>'
+        passed to build.sh as -V <variant> 
+        variants are used to run a different kernel on the bootCD
+        see kvariant.sh for how to create a variant
 
     Security:
         - Non-admins can only generate files for nodes at their sites.
@@ -297,6 +301,8 @@ class GetBootMedium(Method):
                     optdict['serial']='default'
                 elif option.find("serial:") == 0:
                     optdict['serial']=option.replace("serial:","")
+                elif option.find("variant:") == 0:
+                    optdict['variant']=option.replace("variant:","")
                 else:
                     raise PLCInvalidArgument, "unknown option %s"%option
 
@@ -427,7 +433,8 @@ class GetBootMedium(Method):
                 # make build's arguments
                 serial_arg=""
                 if "cramfs" in optdict: type += "_cramfs"
-                if "serial" in optdict: serial_arg = "-s %s"%optdict['serial']
+                if "serial" in optdict: serial_arg += " -s %s"%optdict['serial']
+                if "variant" in optdict: serial_arg += " -V %s"%optdict['variant']
                 log_file="%s.log"%node_image
                 # invoke build.sh
                 build_command = '%s -f "%s" -o "%s" -t "%s" %s &> %s' % (self.BOOTCDBUILD,