You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
![]()
12 years ago
|
#!/bin/sh
|
||
|
export DRACUT_SYSTEMD=1
|
||
|
if [ -f /dracut-state.sh ]; then
|
||
|
. /dracut-state.sh 2>/dev/null
|
||
|
fi
|
||
|
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
||
|
|
||
|
source_conf /etc/conf.d
|
||
|
|
||
|
make_trace_mem "hook mount" '1:shortmem' '2+:mem' '3+:slab'
|
||
|
|
||
|
getarg 'rd.break=mount' -d 'rdbreak=mount' && emergency_shell -n mount "Break mount"
|
||
|
# mount scripts actually try to mount the root filesystem, and may
|
||
|
# be sourced any number of times. As soon as one suceeds, no more are sourced.
|
||
|
i=0
|
||
|
while :; do
|
||
|
if ismounted "$NEWROOT"; then
|
||
|
usable_root "$NEWROOT" && break;
|
||
|
umount "$NEWROOT"
|
||
|
fi
|
||
|
for f in $hookdir/mount/*.sh; do
|
||
|
[ -f "$f" ] && . "$f"
|
||
|
if ismounted "$NEWROOT"; then
|
||
|
usable_root "$NEWROOT" && break;
|
||
|
warn "$NEWROOT has no proper rootfs layout, ignoring and removing offending mount hook"
|
||
|
umount "$NEWROOT"
|
||
![]()
12 years ago
|
rm -f -- "$f"
|
||
![]()
12 years ago
|
fi
|
||
|
done
|
||
|
|
||
|
i=$(($i+1))
|
||
![]()
12 years ago
|
[ $i -gt 20 ] && action_on_fail "Can't mount root filesystem" && break
|
||
![]()
12 years ago
|
done
|
||
|
|
||
|
export -p > /dracut-state.sh
|
||
|
|
||
|
exit 0
|