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
BUILDTMP=$(mktemp -d ${BUILDTMP}/bootcd.XXXXXX)
push_cleanup rm -fr "${BUILDTMP}"
- mkdir "${BUILDTMP}/isofs"
+
+ # initialize ISOFS
+ ISOFS="${BUILDTMP}/isofs"
+ mkdir -p "$ISOFS"
for i in "$ISOREF"/isofs/{bootcd.img,kernel}; do
- ln -s "$i" "${BUILDTMP}/isofs"
+ ln -s "$i" "$ISOFS"
+ done
+ # use new location as of fedora 12
+ # used to be in /usr/lib/syslinux/isolinux.bin
+ # removed backward compat in jan. 2015
+ # as of syslinux 5.0 (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"
+ for isolinuxfile in $isolinuxfiles; do
+ [ -f $isolinuxdir/$isolinuxfile ] && cp $isolinuxdir/$isolinuxfile "${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"
- ISOFS="${BUILDTMP}/isofs"
# Root of the ISO and USB images
echo "* Populating root filesystem..."
# # 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_level=debug systemd.log_target=kmsg"
+ 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
EOF
# Create ISO image
- echo "* Creating ISO image"
+ echo "* Creating ISO image in $(pwd)"
mkisofs -o "$iso" $MKISOFS_OPTS $ISOFS
}