Magellan Linux

Annotation of /trunk/mkinitrd/patches/mkinitrd-6.3.5-respect-rootdelay-and-mount-devtmpfs-in-sysroot-if-supported.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1393 - (hide annotations) (download)
Fri Jul 1 12:16:58 2011 UTC (12 years, 11 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'