| #!/bin/bash |
| |
| check() { |
| require_binaries busybox || return 1 |
| return 0 |
| } |
| |
| depends() { |
| return 0 |
| } |
| |
| install_busybox_links() { |
| dir="${1}" |
| linkname="${2}" |
| |
| (cd "${dracutsysrootdir?}${dir}" && |
| for x in *; do |
| if [ "$(readlink "${x}")" = "${linkname}" ]; then |
| ln -sf "${linkname}" "${initdir?}/${dir}/${x}" |
| fi |
| done |
| ) |
| } |
| |
| install() { |
| inst_multiple /bin/busybox |
| |
| # wrapper script for early console; will launch /sbin/init |
| # after having mounted devtmpfs |
| inst_multiple /init |
| |
| if [ -e "${dracutsysrootdir?}/lib64" ]; then |
| ln -sf lib "${initdir?}/lib64" |
| ln -sf lib "${initdir?}/usr/lib64" |
| fi |
| |
| if [ -e "${dracutsysrootdir?}/lib32" ]; then |
| ln -sf lib "${initdir?}/lib32" |
| ln -sf lib "${initdir?}/usr/lib32" |
| fi |
| |
| install_busybox_links "/bin" "busybox" |
| install_busybox_links "/sbin" "../bin/busybox" |
| if [ ! -L "${dracutsysrootdir?}/bin" ]; then |
| install_busybox_links "/usr/bin" "../../bin/busybox" |
| install_busybox_links "/usr/sbin" "../../bin/busybox" |
| fi |
| |
| inst_multiple \ |
| /etc/inittab \ |
| /etc/init.d/rcS \ |
| /etc/init.d/rcK \ |
| /etc/issue \ |
| /etc/fstab \ |
| /etc/group \ |
| /etc/passwd \ |
| /etc/shadow \ |
| /etc/hostname |
| } |