Change tests to test for this scenario.
[ -e "$_i" ] && return 0
done
- for _i in proc sys dev; do
- [ -e "$1"/$_i ] || return 1
- done
-
return 0
}
# mount some important things
if [ ! -d /proc/self ]; then
+ mkdir -m 0755 -p /proc
if ! mount -t proc -o nosuid,noexec,nodev proc /proc > /dev/null; then
echo "Cannot mount proc on /proc! Compile the kernel with CONFIG_PROC_FS!"
exit 1
fi
if [ ! -d /sys/kernel ]; then
+ mkdir -m 0755 -p /sys
if ! mount -t sysfs -o nosuid,noexec,nodev sysfs /sys > /dev/null; then
echo "Cannot mount sysfs on /sys! Compile the kernel with CONFIG_SYSFS!"
exit 1
setdebug
if ! ismounted /dev; then
+ mkdir -m 0755 -p /dev
mount -t devtmpfs -o mode=0755,noexec,nosuid,strictatime devtmpfs /dev > /dev/null
fi
--add-confdir test-root \
"$TESTDIR"/tmp-initramfs.root "$KVERSION" || return 1
- mkdir -p "$TESTDIR"/dracut.*/initramfs/proc
mksquashfs "$TESTDIR"/dracut.*/initramfs/ "$TESTDIR"/squashfs.img -quiet -no-progress
mkdir -p "$TESTDIR"/ESP/EFI/BOOT "$TESTDIR"/dracut.conf.d
-f "$TESTDIR"/initramfs.root "$KVERSION" || return 1
mkdir -p "$TESTDIR"/overlay/source && mv "$TESTDIR"/dracut.*/initramfs/* "$TESTDIR"/overlay/source && rm -rf "$TESTDIR"/dracut.*
+ # test to make sure /proc /sys and /dev is not needed inside the generated initrd
+ rm -rf "$TESTDIR"/dracut.*/initramfs/proc "$TESTDIR"/dracut.*/initramfs/sys "$TESTDIR"/dracut.*/initramfs/dev
+
# second, install the files needed to make the root filesystem
# create an initramfs that will create the target root filesystem.
# We do it this way so that we do not risk trashing the host mdraid