From: Michael Tremer Date: Wed, 4 Feb 2009 16:33:25 +0000 (+0100) Subject: Enhanded mkinitramfs. X-Git-Tag: v3.0-alpha1~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bf81f836bcb6f8074b77807a8e9ec9c8e063e4a;p=ipfire-3.x.git Enhanded mkinitramfs. --- diff --git a/src/mkinitramfs/functions b/src/mkinitramfs/functions index 7811cedde..23b59cd49 100644 --- a/src/mkinitramfs/functions +++ b/src/mkinitramfs/functions @@ -281,12 +281,23 @@ function locatemodule() { function installmodule() { local module + local load for module in $@; do + [ "$module" = "--load" ] && load=1 module=$(locatemodule $module) [ -z "$module" ] && continue install $module done + if [ "$load" = "1" ]; then + for module in $@; do + [ "$module" = "--load" ] && continue + cat >> $TMPDIR/sbin/real-init <> sbin/real-init <<'EOF' + +# Users can override rootfs target on the kernel commandline +for o in $(cat /proc/cmdline); do + case $o in + root=*) + rootdev=${o#root=} + ;; + rootflags=*) + rootflags=${o#rootflags=} + ;; + rootfstype=*) + rootfstype=${o#rootfstype=} + ;; + esac +done + vecho "Starting udevd..." udevd --daemon @@ -67,7 +79,7 @@ udevadm trigger vecho "Waiting for system to settle..." udevadm settle --timeout=30 || : -vecho "Mounting root filesystem..." +vecho "Mounting root filesystem $rootdev..." mount $rootdev /sysroot $rootfs $rootopts kill $(pidof udevd) diff --git a/src/mkinitramfs/mkliveramfs b/src/mkinitramfs/mkliveramfs index 53cdcacab..6bdc82d4b 100644 --- a/src/mkinitramfs/mkliveramfs +++ b/src/mkinitramfs/mkliveramfs @@ -19,11 +19,7 @@ # # ############################################################################### -if [ -e "new-functions" ]; then - . new-functions -else - . /usr/lib/mkinitramfs/functions -fi +. /usr/lib/mkinitramfs/functions # Modules needed by the live system MODULES="$MODULES aufs squashfs loop"