From a715c8dc0f98de4aeacc96d477948c7b28a41921 Mon Sep 17 00:00:00 2001 From: Cedric Schieli Date: Mon, 22 Mar 2010 15:45:09 +0000 Subject: init: generalize console=* handling --- initramfs-init.in | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'initramfs-init.in') diff --git a/initramfs-init.in b/initramfs-init.in index a306971..0bc1efb 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -149,19 +149,28 @@ find_ovl_dev() { done } -setup_inittab_serial(){ +setup_inittab_console(){ while [ $# -gt 0 ]; do local tty=${1%,*} local speed=${1#*,} - if [ "$speed" = "$1" ]; then - speed= - fi + local line= + local term= + case "$tty" in + ttyS*) + [ "$speed" = "$1" ] && speed=9600 + term=vt100 + line=-L + ;; + *) + [ "$speed" = "$1" ] && speed=38400 + ;; + esac shift # do nothing if inittab already have the tty set up grep -q "^$tty:" $sysroot/etc/inittab && continue - echo "# enable login on serial console" >> $sysroot/etc/inittab - echo "$tty::respawn:/sbin/getty -L $tty $speed vt100" \ + echo "# enable login on alternative console" >> $sysroot/etc/inittab + echo "$tty::respawn:/sbin/getty $line $speed $tty $term" \ >> $sysroot/etc/inittab done } @@ -177,8 +186,8 @@ while [ $# -gt 0 ]; do case "$1" in s|single|1) SINGLEMODE=yes ;; - console=ttyS*) - SERIAL="$SERIAL ${1#console=}";; + console=*) + CONSOLE="$CONSOLE ${1#console=}";; *=*) eval "KOPT_${1%%=*}='${1#*=}'" ;; no*) eval "KOPT_$(echo ${1#no} | sed 's: :_:g')=no" ;; *) eval "KOPT_$(echo $1 | sed 's: :_:g')=yes" ;; @@ -391,8 +400,8 @@ else fi eend $? -# fix inittab if serial console -setup_inittab_serial $SERIAL +# fix inittab if alternative console +setup_inittab_console $CONSOLE # copy alpine release info cp $ALPINE_MNT/.alpine-release $sysroot/ -- cgit v1.2.3 From fb2bcf06282c9b130b4b7a2c1e35449e55d0c139 Mon Sep 17 00:00:00 2001 From: Cedric Schieli Date: Fri, 26 Mar 2010 21:24:05 +0000 Subject: init: choose overlay device with ovl_dev=DEV:FS --- initramfs-init.in | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'initramfs-init.in') diff --git a/initramfs-init.in b/initramfs-init.in index 0bc1efb..3d590e6 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -212,6 +212,13 @@ ALPINE_DEV_FS=${KOPT_alpine_dev##*:} if [ "$ALPINE_DEV_FS" = "$ALPINE_DEV" ]; then unset ALPINE_DEV_FS fi +if [ -n "$KOPT_ovl_dev" ] ; then + OVL_DEV=${KOPT_ovl_dev%%:*} + OVL_DEV_FS=${KOPT_ovl_dev##*:} + if [ "$OVL_DEV_FS" = "$OVL_DEV" ]; then + unset OVL_DEV_FS + fi +fi # look for standard mountpoint locations ALPINE_MNT=$(find_mnt /dev/$ALPINE_DEV /etc/fstab) @@ -305,7 +312,18 @@ if [ -n "$KOPT_root_size" ]; then fi mount -t tmpfs $root_opts tmpfs $sysroot -find_ovl_dev +if [ -n "$OVL_DEV" ]; then + mkdir -p /media/$OVL_DEV + unset mount_opts + if [ -n "$OVL_DEV_FS" ]; then + mount_opts="-t $OVL_DEV_FS" + fi + + retry_mount $mount_opts /dev/$OVL_DEV /media/$OVL_DEV >/dev/null 2>&1 + ovl=$(find_ovl /media/$OVL_DEV) +else + find_ovl_dev +fi if ! [ -f "$ovl" ]; then ovl=$(find_ovl $ALPINE_MNT) fi -- cgit v1.2.3