/[pkg-src]/trunk/mkinitrd/patches/mkinitrd-6.3.5-respect-rootdelay-and-mount-devtmpfs-in-sysroot-if-supported.patch |
Annotation of /trunk/mkinitrd/patches/mkinitrd-6.3.5-respect-rootdelay-and-mount-devtmpfs-in-sysroot-if-supported.patch
Parent Directory | Revision Log
Revision 1393 -
(hide annotations)
(download)
Fri Jul 1 12:16:58 2011 UTC (13 years, 3 months ago) by niro
File size: 3703 byte(s)
Fri Jul 1 12:16:58 2011 UTC (13 years, 3 months ago) by niro
File size: 3703 byte(s)
fixes
1 | niro | 1393 | Index: mkinitrd-6_3_5/livecd/linuxrc.sh |
2 | =================================================================== | ||
3 | --- mkinitrd-6_3_5/livecd/linuxrc.sh (Revision 1225) | ||
4 | +++ mkinitrd-6_3_5/livecd/linuxrc.sh (Arbeitskopie) | ||
5 | @@ -92,6 +92,7 @@ | ||
6 | rootfs=*) FORCED_ROOTFS="${i#*=}";; | ||
7 | init=*) INITEXEC="${i#*=}";; | ||
8 | break) BREAK_ENABLED=yes ;; | ||
9 | + rootdelay=*) ROOTDELAY="${i#*=}";; | ||
10 | esac | ||
11 | done | ||
12 | |||
13 | @@ -124,6 +125,12 @@ | ||
14 | sleep 8 | ||
15 | fi | ||
16 | |||
17 | +# respect rootdelay kernel param | ||
18 | +if [ ! -z "${ROOTDELAY}" ]; then | ||
19 | + echo "-- Requested a rootdelay of ${ROOTDELAY} seconds ..." | ||
20 | + sleep ${ROOTDELAY} | ||
21 | +fi | ||
22 | + | ||
23 | # searching cdrom with cdid | ||
24 | BOOT_DEVICE="" | ||
25 | FSTYPE="" | ||
26 | @@ -182,14 +189,19 @@ | ||
27 | done | ||
28 | mkdir -p initrd proc tmp sys var/tmp dev media | ||
29 | |||
30 | - # make /sysroot/dev/console & /mnt/dev/null | ||
31 | - [ ! -e /sysroot/dev/console ] && mknod -m 600 /sysroot/dev/console c 5 1 | ||
32 | - [ ! -e /sysroot/dev/null ] && mknod -m 666 /sysroot/dev/null c 1 3 | ||
33 | - # only to be safe and to have a log channel | ||
34 | - [ ! -e /sysroot/dev/tty ] && mknod /sysroot/dev/tty c 5 0 | ||
35 | - # busybox needs this one | ||
36 | - [ ! -e /sysroot/dev/tty5 ] && mknod /sysroot/dev/tty5 c 4 5 | ||
37 | - | ||
38 | + # use devtmpfs if supported | ||
39 | + if [ "$(grep devtmpfs /proc/filesystems | cut -d$'\t' -f2)" = "devtmpfs" ] | ||
40 | + then | ||
41 | + mount -t devtmpfs dev /sysroot/dev | ||
42 | + else | ||
43 | + # make /sysroot/dev/console & /mnt/dev/null | ||
44 | + [ ! -e /sysroot/dev/console ] && mknod -m 600 /sysroot/dev/console c 5 1 | ||
45 | + [ ! -e /sysroot/dev/null ] && mknod -m 666 /sysroot/dev/null c 1 3 | ||
46 | + # only to be safe and to have a log channel | ||
47 | + [ ! -e /sysroot/dev/tty ] && mknod /sysroot/dev/tty c 5 0 | ||
48 | + # busybox needs this one | ||
49 | + [ ! -e /sysroot/dev/tty5 ] && mknod /sysroot/dev/tty5 c 4 5 | ||
50 | + fi | ||
51 | (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot) | ||
52 | |||
53 | # ensure the right permissions | ||
54 | Index: mkinitrd-6_3_5/mkinitrd.in | ||
55 | =================================================================== | ||
56 | --- mkinitrd-6_3_5/mkinitrd.in (Revision 1225) | ||
57 | +++ mkinitrd-6_3_5/mkinitrd.in (Arbeitskopie) | ||
58 | @@ -809,6 +809,10 @@ | ||
59 | fi | ||
60 | done | ||
61 | |||
62 | +# respect rootdelay kernel param | ||
63 | +add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in rootdelay=*) ROOTDELAY="${i#*=}";; esac; done' | ||
64 | +add_initrd 'if [ ! -z "${ROOTDELAY}" ]; then echo "-- Requested a rootdelay of ${ROOTDELAY} seconds ..."; sleep ${ROOTDELAY};fi' | ||
65 | + | ||
66 | # lvm support | ||
67 | if [ -n "${vg_list}" ] | ||
68 | then | ||
69 | @@ -850,13 +854,16 @@ | ||
70 | # get the right initexec | ||
71 | add_initrd "INITEXEC=\"${INITEXEC}\"" | ||
72 | # support init=* from cmdline | ||
73 | -add_initrd 'for i in $(cat /proc/cmdline); do if [[ ${i} = init=* ]]; then INITEXEC=${i/init=}; fi; done' | ||
74 | +add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in init=*) INITEXEC="${i#*=}";; esac; done' | ||
75 | |||
76 | add_initrd 'echo "-- Mounting sysroot ..."' | ||
77 | add_initrd '. /etc/rootdev' | ||
78 | add_initrd 'echo "${device} /sysroot ${rootfs} defaults,ro 0 0" > /etc/fstab' | ||
79 | add_initrd 'mount /sysroot || ash' | ||
80 | |||
81 | +# use devtmpfs if supported | ||
82 | +add_initrd "if [ \"\$(grep devtmpfs /proc/filesystems | cut -d$'\t' -f2)\" = \"devtmpfs\" ]; then mount -t devtmpfs dev /sysroot/dev;fi" | ||
83 | + | ||
84 | # unset hotplug event-manager | ||
85 | add_initrd 'echo > /proc/sys/kernel/hotplug' | ||
86 | |||
87 | @@ -864,8 +871,8 @@ | ||
88 | add_initrd 'echo 3 > /proc/sys/kernel/printk' | ||
89 | |||
90 | add_initrd 'BREAK_ENABLED=no' | ||
91 | -add_initrd 'for i in $(cat /proc/cmdline); do if [[ ${i} = break ]]; then BREAK_ENABLED=yes; fi; done' | ||
92 | -add_initrd 'if [[ ${BREAK_ENABLED} = yes ]]; then echo "-- Break requested, type 'exit' to resume operation ..."; ash; fi' | ||
93 | +add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in break) BREAK_ENABLED=yes;; esac; done' | ||
94 | +add_initrd 'if [ "${BREAK_ENABLED}" = "yes" ]; then echo "-- Break requested, type 'exit' to resume operation ..."; ash; fi' | ||
95 | |||
96 | add_initrd 'echo "-- Switching to real sysroot ..."' | ||
97 | add_initrd 'umount /dev' |