X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=5ce3605ac67a7e335211f15a93e5c83d97a16576;hb=4bd97266e53cc34f98a57a18756152d1610a7961;hp=3a71a3cd67afd12f14c9b57b1da8bbb80e51f012;hpb=09f73eec76771eeb2e7744a5d15a649d1bd85c3e;p=bootcd.git diff --git a/build.sh b/build.sh index 3a71a3c..5ce3605 100755 --- a/build.sh +++ b/build.sh @@ -17,8 +17,16 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin # debugging flags # keep KERNEL_DEBUG_ARGS void for production KERNEL_DEBUG_ARGS="" -# uncomment this to augment verbosity of boot phase -#KERNEL_DEBUG_ARGS="$KERNEL_DEBUG_ARGS systemd.log_level=debug" +# add more flags here for debugging +# KERNEL_DEBUG_ARGS="$KERNEL_DEBUG_ARGS some_other_kernel_arg" +# see also +# (*) GetBootMedium that has some provisions for common +# kargs, like e.g. for removing the hangcheck feature, +# or for turning on debug messages for systemd +# these can be turned on with tags on the node +# (*) tests default config, that uses this feature so +# the tests can benefit these features, without deploying +# them by default in production # defaults DEFAULT_TYPES="usb iso" @@ -251,7 +259,10 @@ function build_overlay () { # as of syslinux 6.05 (fedora 21) ldlinux.c32 is required by isolinux.bin # the debug version can come in handy at times, and is 40k as well isolinuxdir="/usr/share/syslinux" - isolinuxfiles="isolinux.bin ldlinux.c32 isolinux-debug.bin memdisk" + # ship only what is mandatory, and forget about + # (*) isolinux-debug.bin as its name confuses mkisofs + # (*) memdisk that is not useful + isolinuxfiles="isolinux.bin ldlinux.c32" for isolinuxfile in $isolinuxfiles; do [ -f $isolinuxdir/$isolinuxfile ] && cp $isolinuxdir/$isolinuxfile "${BUILDTMP}/isofs" done @@ -342,6 +353,19 @@ EOF # build/passwd copied out by prep.sh sed -e "s@^root:[^:]*:\(.*\)@root:$ROOT_PASSWORD:\1@" ${VARIANT}/passwd >$OVERLAY/etc/passwd +# this is more harmful than helpful +# idea being, since we start a full-featured fedora system now, it would +# have been nice to be able to enter sshd very early on - before bm has even been downloaded +# however somehow it appears that these lines ruin all chances to enter ssh at all +# either early or even later on; +# plus, it is unclear what this would give on non=systemd nodes, so I am backing off for now +# # recent bootCDs rely on a standard systemd startup sequence +# # so allow debug key to enter in this context whenever that makes sense +# mkdir -p $OVERLAY/root/.ssh +# chmod 700 $OVERLAY/root/.ssh +# cp $PLC_DEBUG_SSH_KEY_PUB $OVERLAY/root/.ssh/authorized_keys +# chmod 600 $OVERLAY/root/.ssh/authorized_keys + # Install node configuration file (e.g., if node has no floppy disk or USB slot) if [ -f "$NODE_CONFIGURATION_FILE" ] ; then echo "* Installing node configuration file $NODE_CONFIGURATION_FILE -> /usr/boot/plnode.txt of the bootcd image" @@ -358,8 +382,6 @@ EOF KERNEL_ARGS="$KERNEL_ARGS biosdevname=0" # making sure selinux is turned off - somehow this is needed with lxc/f14 KERNEL_ARGS="$KERNEL_ARGS selinux=0" - # output systemd-related messages on the serial line so it gets with log.txt - KERNEL_ARGS="$KERNEL_ARGS systemd.log_target=console console=ttyS0,115200" # add any debug flag if any (defined in the header of this script) KERNEL_ARGS="$KERNEL_ARGS $KERNEL_DEBUG_ARGS" # propagate kernel args for later boot stages @@ -404,7 +426,11 @@ LABEL planetlab-bootcd EOF # Create ISO image - echo "* Creating ISO image in $(pwd)" + echo "* Generated isolinux.cfg -------------------- BEG" + cat $ISOFS/isolinux.cfg + echo "* Generated isolinux.cfg -------------------- END" + echo "* Creating ISO image in pwd=$(pwd)" + echo "* with command mkisofs -o $iso $MKISOFS_OPTS $ISOFS" mkisofs -o "$iso" $MKISOFS_OPTS $ISOFS }