summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Bächler <thomas@archlinux.org>2010-01-05 23:56:23 +0100
committerThomas Bächler <thomas@archlinux.org>2010-01-05 23:56:23 +0100
commit9f85179b7fd706ddc9b5386dfae3514f16ca26f9 (patch)
tree5c22d461eed8831fbb34733b9a8a0d07e21abf94
parent7fd17e6df5e82433759b27811707b6dc0b940835 (diff)
downloadmkinitcpio-9f85179b7fd706ddc9b5386dfae3514f16ca26f9.tar.gz
mkinitcpio-9f85179b7fd706ddc9b5386dfae3514f16ca26f9.tar.xz
Start moving from klibc to glibc+busybox
Remove klibc-isms from base and init (except kinit, which will be done in a later commit) Install busybox to the initramfs and change /init so it can be used with busybox
-rw-r--r--init10
-rw-r--r--install/base21
2 files changed, 14 insertions, 17 deletions
diff --git a/init b/init
index 8885b39..e77a0dc 100644
--- a/init
+++ b/init
@@ -1,11 +1,13 @@
-#!/bin/sh
+#!/bin/busybox ash
+# Mount /proc so busybox can access /proc/self/exe
+/bin/busybox mount -t proc proc /proc
+# Install busybox's applets as symlinks
+/bin/busybox --install -s
. /init_functions
msg ":: Loading Initramfs"
-
/bin/mount -t sysfs none /sys
-/bin/mount -t proc none /proc
read CMDLINE </proc/cmdline
export CMDLINE
@@ -96,7 +98,6 @@ fi
if [ "${break}" = "y" ]; then
echo ":: Break requested, type 'exit' to resume operation"
- echo " NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
PS1="ramfs$ " /bin/sh -i
fi
@@ -119,7 +120,6 @@ if [ -z "${nfsroot}" -a "${root}" != "/dev/nfs" ]; then
echo "You are being dropped to a recovery shell"
echo " Type 'reboot' to reboot"
echo " Type 'exit' to try and continue booting"
- echo "NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
echo ""
echo "If the device '${root}' gets created while you are here,"
echo "try adding 'rootdelay=10' or higher to the kernel command-line"
diff --git a/install/base b/install/base
index 0fdc120..43fc1cb 100644
--- a/install/base
+++ b/install/base
@@ -5,24 +5,21 @@ install ()
add_dir "/proc"
add_dir "/sys"
add_dir "/dev"
+ add_dir "/bin"
+ add_dir "/sbin"
+ add_dir "/lib"
+ add_dir "/usr"
+ add_dir "/usr/bin"
+ add_dir "/usr/lib"
+ add_dir "/usr/sbin"
add_device "/dev/null" c 1 3
add_device "/dev/zero" c 1 5
add_device "/dev/console" c 5 1
add_device "/dev/mem" c 1 1
- for f in $(find /lib -name klibc-*.so); do
- add_file ${f}
- done
-
- for f in /usr/lib/klibc/bin/*; do
- add_file ${f} /bin/$(basename ${f})
- done
- for f in /usr/lib/klibc/sbin/*; do
- add_file ${f} /sbin/$(basename ${f})
- done
- # add symlink for compatibility
- add_symlink2 /bin/modprobe /sbin/modprobe
+ add_binary /lib/initcpio/busybox /bin/busybox
+ add_binary /sbin/modprobe
add_file "/lib/initcpio/init_functions" "/init_functions"
add_file "/lib/initcpio/init" "/init"