diff options
-rwxr-xr-x | mbuto | 53 |
1 files changed, 17 insertions, 36 deletions
@@ -35,16 +35,8 @@ LIBS_DLOPEN="${LIBS_DLOPEN:- # Kernel modules: see profile_base(). -# Device nodes, one per line, NAME TYPE MAJOR MINOR supported, copied otherwise -NODES="${NODES:- - console - kmsg - null - ptmx - random - urandom - zero -}" +# Device nodes, NAME,TYPE,MAJOR,MINOR supported, copied otherwise +NODES="${NODES:-console kmsg null ptmx random urandom zero}" # Empty directories to create DIRS="${DIRS:-/proc /sys}" @@ -80,7 +72,7 @@ profile_base() { # Programs sourced with linked libraries, alternatives with commas PROGS="${PROGS:-ash,dash,bash mount mkdir ln}" - # Links: installed target program, then link name, one per line + # Links: installed target program, then link name LINKS="${LINKS:- ash,dash,bash /bin/sh ash,dash,bash /init}" @@ -108,9 +100,7 @@ profile_bash() { KMODS="${KMODS:-virtio_net virtio_pci}" - NODES="${NODES} - tty - ttyS0" + NODES="${NODES} tty ttyS0" OUTPUT="__INITRD__ " @@ -178,12 +168,9 @@ profile_passt() { ash,dash,bash /bin/sh ash,dash,bash /usr/bin/bash}" - NODES="${NODES} - tty - ttyS0" + NODES="${NODES} tty ttyS0" - DIRS="${DIRS} - /tmp" + DIRS="${DIRS} /tmp" COPIES="${COPIES} /etc/udhcpc/default.script @@ -509,8 +496,8 @@ libs_copy() { # prog_link() - Link from $LINKS to sourced program from $PROGS # $1: Program name from $PROGS # $2: Target on working directory $wd -# $3: First token of line from $LINKS, skip if not matching -# $4: Link name, second token from $LINKS line +# $3: Even-numbered token from $LINKS, skip if not matching +# $4: Link name, next token from $LINKS prog_link() { [ "${1}" != "${3}" ] && return "${MKDIR}" -p "$("${DIRNAME}" "${wd}${4}")" @@ -541,15 +528,13 @@ prog_add() { "${MKDIR}" -p "${__bindir}" "${CP}" --preserve=all "${__bin}" "${__bindir}" - IFS=' -' + __target= for __l in ${LINKS}; do - IFS=' ' + [ -z "${__target}" ] && __target="${__l}" && continue + prog_link "${1}" \ "${__bindir##${wd}}/$("${BASENAME}" "${__bin}")" \ - ${__l} - IFS=' -' + "${__target}" "${__l}" done IFS=' @@ -746,15 +731,11 @@ build() { done kmod_post - IFS=' -' for __n in ${NODES}; do - IFS=' ' + IFS=',' node_add ${__n} - IFS=' -' + unset IFS done - unset IFS for __c in ${COPIES}; do "${CP}" --parent -a "${__c}" "${wd}" @@ -891,10 +872,10 @@ usage() { echo " KMODS" echo " base kernel modules" echo " NODES" - echo " device nodes, one per line. Copied from host if just" - echo " name is given, created if 'NAME TYPE MAJOR MINOR'" + echo " device nodes, copied from host if just name is given, " + echo " created if NAME,TYPE,MAJOR,MINOR" echo " LINKS" - echo " link to programs by name, one per line, in the form" + echo " link to programs by name, pairs of" echo " PROGRAM PATH" echo " DIRS" echo " list of initial set of empty directories" |