local firmware_files="$2"
debug "Adding Firmwares ($firmware_files) to initrd for module $module"
- inst_d /proc
- inst_d /sys
# firmware not yet installed
if [ ! -f "$MNTIMAGE/lib/firmware/firmware.sh" ]; then
inst_d /lib/firmware
chmod a+rx "$RCFILE"
ln -s linuxrc $MNTIMAGE/init
-inst_d /{lib,bin,etc,dev,loopfs,var}
+# create dirs that we really need
+inst_d /{lib,bin,etc,dev{,/pts,/shm},loopfs,var,proc,sys}
modules_install "$MODULES"
mknod "$MNTIMAGE/dev/console" c 5 1
mknod "$MNTIMAGE/dev/null" c 1 3
mknod "$MNTIMAGE/dev/zero" c 1 5
-inst_d /dev/pts /dev/shm
inst /bin/initrd-busybox /bin/initrd-busybox
ln -s initrd-busybox $MNTIMAGE/bin/sh
if [ ! -x /usr/${_lib}/suspend/resume -a ! -x /usr/sbin/resume ]; then
die "/usr/${_lib}/suspend/resume is missing!"
fi
- inst_d /etc /dev
resume_dev="$(awk '/^resume device =/ { print $4 } ' /etc/suspend.conf)"
mknod $MNTIMAGE/dev/snapshot c 10 231
inst $resume_dev /dev
}
initrd_gen_tuxonice() {
- inst_d /sys /proc
mount_sys
add_linuxrc <<-'EOF'
if [ "$(echo "$CMDLINE" | awk ' /resume2=/ { print "yes"; } ' /proc/cmdline)" = "yes" ]; then
initrd_gen_udev() {
debug "Setting up udev..."
- inst_d /sbin /proc /etc/udev /sys
+ inst_d /sbin /etc/udev
if [ ! -x /sbin/initrd-udevd ]; then
die "/sbin/initrd-udevd not present"
}
initrd_gen_multipath() {
- inst_d /proc /sys /sbin /lib/udev /etc
+ inst_d /sbin /lib/udev
inst_exec /sbin/kpartx /sbin
inst_exec /sbin/multipath /sbin
# for udev callouts
die "/sbin/dmraid-initrd is missing!"
fi
- inst_d /sbin /sys
+ inst_d /sbin
inst /sbin/dmraid-initrd /sbin/dmraid
mount_dev
initrd_gen_lvm() {
debug "Adding LVM support to initrd"
- inst_d /etc /tmp /proc /newroot
+ inst_d /tmp /newroot
inst /sbin/initrd-lvm /bin/lvm.static
# always make /dev on tmpfs for LVM2
initrd_gen_procdata() {
debug "Adding rootfs finding based on root= option support."
- inst_d /proc
add_linuxrc <<-'EOF'
root="$(busybox awk ' /root=\/dev\// { gsub(/.*root=\/dev\//,NIL,$0); gsub(/ .*/,NIL,$0); print $0; } ' /proc/cmdline)"
if [ -n "$root" ]; then