# HG changeset patch # User Pascal Bellard # Date 1451641077 -3600 # Node ID 816d2bd9090bd8de175c32021fd0988897c7e198 # Parent 73b721a72d57adabf3d89d25ca08e918cb2a03be syslinux/iso2exe: load custom config in /init diff -r 73b721a72d57 -r 816d2bd9090b syslinux/stuff/iso2exe/init --- a/syslinux/stuff/iso2exe/init Thu Dec 31 16:02:37 2015 +0100 +++ b/syslinux/stuff/iso2exe/init Fri Jan 01 10:37:57 2016 +0100 @@ -691,13 +691,13 @@ gotcustomconf() { - hascustomconf && menuitem "$@" + hascustomconf && echo -en "\"$1\" \"$2\"" } getcustomconf() { - cd /mnt - ddq bs=2k skip=$(customsector) if="$ISO" | while read line; do + cd ${1:-/mnt} + ddq bs=2k skip=$(customsector) if="/mnt/$ISO" | while read line; do case "$line" in \#!boot*) ;; append=*) echo ${line#append=} > cmdline && ls -l cmdline ;; @@ -710,8 +710,7 @@ esac done cd - > /dev/null - echo -e "\rPress RETURN to continue." - read n + [ -z "$1" ] && echo -e "\rPress RETURN to continue." && read n } gotisomd5() @@ -1091,8 +1090,17 @@ text() { + init= + cmdline="$(cat /proc/cmdline)" + if hascustomconf; then + getcustomconf /tmp > /dev/null + [ -s /tmp/cmdline ] && + cmdline="$cmdline $(cat /tmp/cmdline)" && + init="$(sed '/rdinit=/!d;s/.*rdinit=\([^ ]*\).*/\1/' < /tmp/cmdline)" + [ -s /tmp/initrd ] && uncpio /tmp/initrd + fi dosync - exec /init + exec ${init:-/init} $cmdline } live()