60 lines
1.1 KiB
Bash
60 lines
1.1 KiB
Bash
|
#!/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
|
||
|
}
|