From 00e2615161b589f10d37001feab07ff8fc3d31ca Mon Sep 17 00:00:00 2001 From: Thomas Bächler Date: Sat, 12 May 2007 16:05:51 +0000 Subject: - fix a bug with BINARIES= (also accept shared objects, not only executables) - fix some bugs introduced by phrakture (could you be more careful?) git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@204 880c04e9-e011-0410-abf7-b926e227c9cd --- functions | 6 +++--- init | 14 ++++++-------- install/base | 7 ++++++- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/functions b/functions index 19f6df9..7b421d2 100644 --- a/functions +++ b/functions @@ -39,7 +39,7 @@ die () { echo "FATAL: ${@}" >&2; exit 1; } add_full_dir () { - if [ -d "${1}" -a "x${1}" != "x" ]; then + if [ "x${1}" != "x" -a -d "${1}" ]; then for f in ${1}/*; do if [ -d "${f}" ]; then add_full_dir "${f}" @@ -53,7 +53,7 @@ add_full_dir () add_dir () { #skip root directory and "." for relative directories... i.e. /foo/bar/./blah - if [ "${1}" -a "x${1}" != "x" -a "${1}" != "/" -a "${1}" != "." ]; then + if [ "x${1}" != "x" -a "${1}" != "/" -a "${1}" != "." ]; then if ! grep "dir ${1} " "${FILELIST}" 2>&1 > /dev/null; then add_dir $(dirname "${1}") msg " adding dir ${1}" @@ -174,7 +174,7 @@ add_binary () msg " adding '${type}' script, ensure proper interp exists..." add_file "${bin}" ${dest} ;; - *executable*) + *executable*|*shared\ object*) add_file "${bin}" ${dest} #note, this will also handle 'not a dynamic executable' spit out by # static binaries... the deps will produce nothing diff --git a/init b/init index 3f594c1..234a6ff 100644 --- a/init +++ b/init @@ -14,7 +14,7 @@ export CMDLINE # Used so hooks can override params to kinit export kinit_params="" export root="" -echo "/bin/modprobe" > /proc/sys/kernel/modprobe +echo "/sbin/modprobe" > /proc/sys/kernel/modprobe for cmd in $CMDLINE; do case "$cmd" in @@ -110,11 +110,11 @@ if [ ! -e "${root}" ]; then PS1="ramfs$ " /bin/sh -i msg "Rebooting..." /bin/reboot -else - msg ":: Initramfs Completed - control passing to kinit" - if [ -f "/message" ]; then - msg "$(cat /message)" - fi +fi + +msg ":: Initramfs Completed - control passing to kinit" +if [ -f "/message" ]; then + msg "$(cat /message)" fi #Special handling if udev is running @@ -125,6 +125,4 @@ if [ "x${udevpid}" != "x" ]; then fi -echo "/sbin/modprobe" > /proc/sys/kernel/modprobe - exec /bin/kinit -- "root=${root}" ${kinit_params} "${runlevel}" > /dev/null 2>&1 diff --git a/install/base b/install/base index 78fbc1d..d1fc19b 100644 --- a/install/base +++ b/install/base @@ -15,7 +15,12 @@ install () done for f in /usr/lib/klibc/bin/*; do - add_file $f /bin/$(basename $f) + if [ "$(basename $f)" = "modprobe" ]; then + # force putting modprobe in /sbin + add_file $f /sbin/$(basename $f) + else + add_file $f /bin/$(basename $f) + fi done add_file "/lib/initcpio/init" "/init" -- cgit v1.2.3-24-g4f1b