This code is not very elegant, so if there are suggestions to improve it, please shoot!
Thanks, Ward.
On 08/11/07 17:03 -0500, Ward Vandewege wrote:
This code is not very elegant, so if there are suggestions to improve it, please shoot!
Thanks, Ward.
-- Ward Vandewege ward@fsf.org Free Software Foundation - Senior System Administrator
Make lab.conf parsing a bit smarter, allowing for 2 modules to be passed to kexec. This allows Xen booting, for instance with this lab.conf file:
CMDLINE="com1=115200,8n1 cdb=com1" INITRD="" KERNEL="/xen-3.1.0.gz" MODULE1="/vmlinuz-2.6.18-xen root=/dev/md1 ro console=tty0 console=ttyS0,115200" MODULE2="/initrd.img-2.6.18-xen" VT="1"
Of course a simple lab.conf file with kernel and initrd still works:
CMDLINE="root=/dev/md1 ro console=tty0 console=ttyS0,115200" KERNEL="/vmlinuz-2.6.22-14-generic" INITRD="/initrd.img-2.6.22-14-generic" VT="1"
Signed-off-by: Ward Vandewege ward@gnu.org
Acked-by: Jordan Crouse jordan.crouse@amd.com
Index: skeleton/bin/boot.functions
--- skeleton/bin/boot.functions (revision 54) +++ skeleton/bin/boot.functions (working copy) @@ -26,13 +26,25 @@ . $DIR/lab.conf fi
- if [ "$INITRD" = "" ]; then
$DIR/kexec -l $DIR/$KERNEL --command-line="$CMDLINE"
- else
$DIR/kexec -l $DIR/$KERNEL --initrd=$DIR/$INITRD --command-line="$CMDLINE"
- fi
if [ "$INITRD" = "" ] && [ "$MODULE1" = "" ]; then
$DIR/kexec -l $DIR/$KERNEL --command-line="$CMDLINE"
elif [ "$INITRD" != "" ] && [ "$MODULE1" = "" ]; then
$DIR/kexec -l $DIR/$KERNEL --initrd=$DIR/$INITRD --command-line="$CMDLINE"
elif [ "$INITRD" = "" ] && [ "$MODULE1" != "" ]; then
if [ "$MODULE2" != "" ]; then
$DIR/kexec -l $DIR/$KERNEL --module="$DIR/$MODULE1" --module="$DIR/$MODULE2" --command-line="$CMDLINE"
else
$DIR/kexec -l $DIR/$KERNEL --module="$DIR/$MODULE1" --command-line="$CMDLINE"
fi
elif [ "$INITRD" != "" ] && [ "$MODULE1" != "" ]; then
if [ "$MODULE2" != "" ]; then
$DIR/kexec -l $DIR/$KERNEL --initrd=$DIR/$INITRD --module="$DIR/$MODULE1" --module="$DIR/$MODULE2" --command-line="$CMDLINE"
else
$DIR/kexec -l $DIR/$KERNEL --initrd=$DIR/$INITRD --module="$DIR/$MODULE1" --command-line="$CMDLINE"
fi
fi
$DIR/kexec -e
- message "ERROR: can't run kexec $DIR/$KERNEL $CMDLINE $INITRD"
- message "ERROR: can't run kexec $DIR/$KERNEL $CMDLINE $INITRD $MODULE1 $MODULE2"
}
-- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios
On Fri, Nov 09, 2007 at 01:23:25PM -0700, Jordan Crouse wrote:
Make lab.conf parsing a bit smarter, allowing for 2 modules to be passed to kexec. This allows Xen booting, for instance with this lab.conf file:
CMDLINE="com1=115200,8n1 cdb=com1" INITRD="" KERNEL="/xen-3.1.0.gz" MODULE1="/vmlinuz-2.6.18-xen root=/dev/md1 ro console=tty0 console=ttyS0,115200" MODULE2="/initrd.img-2.6.18-xen" VT="1"
Of course a simple lab.conf file with kernel and initrd still works:
CMDLINE="root=/dev/md1 ro console=tty0 console=ttyS0,115200" KERNEL="/vmlinuz-2.6.22-14-generic" INITRD="/initrd.img-2.6.22-14-generic" VT="1"
Signed-off-by: Ward Vandewege ward@gnu.org
Acked-by: Jordan Crouse jordan.crouse@amd.com
r55
Thanks, Ward.