slitaz-modular rev 13

Add rootuuid support into init. Also started copying initramfs to /mnt/memory/initramfs to save space. Updated linuxrc to support /memory/initramfs in union.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu Dec 16 08:53:50 2010 +0000 (2010-12-16)
parents babd1468175e
children b4d482e0ed14
files initramfs/init initramfs/liblinuxlive initramfs/linuxrc
line diff
     1.1 --- a/initramfs/init	Mon Dec 13 07:18:56 2010 +0000
     1.2 +++ b/initramfs/init	Thu Dec 16 08:53:50 2010 +0000
     1.3 @@ -9,6 +9,15 @@
     1.4  launch_init_modular()
     1.5  {
     1.6  	echo -e "\\033[70G[ \\033[1;33mOK\\033[0;39m ]"
     1.7 +	[ -d /mnt/memory/initramfs ] || mkdir -p /mnt/memory/initramfs
     1.8 +	SYS_DIR="dev bin etc boot lib sbin home root usr var"
     1.9 +	for dir in $SYS_DIR; do
    1.10 +		cp -a /$dir /mnt/memory/initramfs
    1.11 +	done
    1.12 +	MK_DIR="sys proc tmp media mnt"
    1.13 +	for dir1 in $MK_DIR; do
    1.14 +		mkdir -p /mnt/memory/initramfs/$dir
    1.15 +	done
    1.16  	exec /sbin/switch_root mnt /linuxrc
    1.17  }
    1.18  
    1.19 @@ -126,6 +135,10 @@
    1.20  	try_init
    1.21  fi
    1.22  grep -q cryptoroot= /proc/cmdline && try_init
    1.23 +if grep -q rootuuid= /proc/cmdline; then
    1.24 +	root="$(sed 's/.*rootuuid=\([^ ]*\).*/\1/' < /proc/cmdline)"
    1.25 +	mount $(blkid | grep $root | sed 's/:.*//') /mnt && try_init
    1.26 +fi
    1.27  umount /sys
    1.28  echo -n "Switching / to tmpfs..."
    1.29  size="$(grep rootfssize= < /proc/cmdline | \
     2.1 --- a/initramfs/liblinuxlive	Mon Dec 13 07:18:56 2010 +0000
     2.2 +++ b/initramfs/liblinuxlive	Thu Dec 16 08:53:50 2010 +0000
     2.3 @@ -528,9 +528,11 @@
     2.4     if [ "$(cmdline_parameter baseonly)" ]; then
     2.5     	find "$1/base" "$1/optional" -name "*.sqfs" 2>/dev/null | sort
     2.6     	find "$1/base" "$1/optional" -name "*.lzm" 2>/dev/null | sort
     2.7 +	find "$1/base" "$1/optional" -name "*.xz" 2>/dev/null | sort
     2.8     else
     2.9     	find "$1/base" "$1/modules" "$1/optional" "$1/tmp" -name "*.sqfs" 2>/dev/null | sort
    2.10     	find "$1/base" "$1/modules" "$1/optional" "$1/tmp" -name "*.lzm" 2>/dev/null | sort
    2.11 +	find "$1/base" "$1/modules" "$1/optional" "$1/tmp" -name "*.xz" 2>/dev/null | sort
    2.12     fi
    2.13  }
    2.14  
     3.1 --- a/initramfs/linuxrc	Mon Dec 13 07:18:56 2010 +0000
     3.2 +++ b/initramfs/linuxrc	Thu Dec 16 08:53:50 2010 +0000
     3.3 @@ -178,6 +178,14 @@
     3.4  
     3.5  debug_shell
     3.6  
     3.7 +# setup initramfs if it exist
     3.8 +if [ -d /memory/initramfs ]; then
     3.9 +	echolog "Setup initramfs for first module..."
    3.10 +	mount -n -o remount,add:1:/memory/initramfs=ro aufs $UNION
    3.11 +fi
    3.12 +
    3.13 +debug_shell
    3.14 +
    3.15  # If toram or copy2ram boot parameter is present, copy all fs modules to RAM.
    3.16  # (skip modules from /optional/ which are not listed in load= boot option)
    3.17  # Finaly modify DATA variable so it will point to correct directory