/[pkg-src]/trunk/mkinitrd/patches/mkinitrd-6.3.5-respect-rootdelay-and-mount-devtmpfs-in-sysroot-if-supported.patch |
Contents of /trunk/mkinitrd/patches/mkinitrd-6.3.5-respect-rootdelay-and-mount-devtmpfs-in-sysroot-if-supported.patch
Parent Directory | Revision Log
Revision 1393 -
(show 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 | 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' |