fedora21 comes with syslinux v6 which requires ldlinux.c32 in addition to its new...
[bootcd.git] / build.sh
index da8113d..343100b 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -12,6 +12,10 @@ COMMAND=$(basename $0)
 DIRNAME=$(dirname $0)
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 
+DEBUG_SYSTEMD=""
+# uncomment this on to get systemd's full log on console (slows things down)
+#DEBUG_SYSTEMD=true
+
 # defaults
 DEFAULT_TYPES="usb iso"
 # Leave 4 MB of free space
@@ -230,9 +234,14 @@ function build_overlay () {
     for i in "$ISOREF"/isofs/{bootcd.img,kernel}; do
        ln -s "$i" "${BUILDTMP}/isofs"
     done
-    # the syslinux that comes with f12 has this file in a new location
-    cp "/usr/lib/syslinux/isolinux.bin" "${BUILDTMP}/isofs" \
-       || cp "/usr/share/syslinux/isolinux.bin" "${BUILDTMP}/isofs" 
+    # use new location as of fedora 12
+    # used to be in /usr/lib/syslinux/isolinux.bin
+    # removed backward compat in jan. 2015
+    official=/usr/share/syslinux/isolinux.bin
+    [ -f $official ] && cp $official "${BUILDTMP}/isofs"
+    # as of syslinux 5.0 (fedora 21) this file is required as well
+    official=/usr/share/syslinux/ldlinux.c32
+    [ -f $official ] && cp $official "${BUILDTMP}/isofs"
     ISOFS="${BUILDTMP}/isofs"
 
     # Root of the ISO and USB images
@@ -332,6 +341,18 @@ EOF
 
     [ -n "$IS_SERIAL" ] && KERNEL_ARGS="$KERNEL_ARGS ${console_spec}"
 
+    # tmp: should be restricted to f15 nodes and above
+    # making sure the network interfaces are still numbered eth0 and above
+    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"
+# cannot use this mecahnism to set systemd default target because this applies to kexec boots as well
+#    # set default target for systemd
+#    KERNEL_ARGS="$KERNEL_ARGS systemd.unit=pl_boot.target"
+    # output more systemd-related messages on the console
+    KERNEL_ARGS="$KERNEL_ARGS systemd.log_target=console"
+    # this slows down system init but is very helpful when e.g. trying to run on a new distro
+    [ -n "$DEBUG_SYSTEMD" ] && KERNEL_ARGS="$KERNEL_ARGS systemd.log_level=debug systemd.journald.forward_to_console=1"
     [ -n "$KERNEL_ARGS" ] && echo "$KERNEL_ARGS" > $OVERLAY/kargs.txt
 
     # Pack overlay files into a compressed archive
@@ -371,7 +392,7 @@ TIMEOUT 40
 EOF
 
     # Create ISO image
-    echo "* Creating ISO image"
+    echo "* Creating ISO image in $(pwd)"
     mkisofs -o "$iso" $MKISOFS_OPTS $ISOFS
 }