1 |
Hi, |
2 |
There was an update to stable busybox this weekend choosing version |
3 |
1.23.0 as the new stable version. Since this update, for NEW kernels |
4 |
only, I'm unable to assemble my RAID6 root device and therefore the |
5 |
kernel won't boot. Has anyone else had similar problems? I've looked |
6 |
around for recent posts, etc., but haven't found anything as of yet |
7 |
but the gatekeeper in the Gentoo Bugzilla environment won't let me |
8 |
file a bug report. |
9 |
|
10 |
At issue here is assembling the root RAID device. I build the |
11 |
initramfs into the kernel for exactly this sort of reason. Other than |
12 |
changing a few RAID UUIDs this setup hasn't changed in years. I masked |
13 |
1.23.0, went back to 1.21.0 and that still works for new kernel so it |
14 |
appears to be a busybox issue. |
15 |
|
16 |
My configuration follows. initramfs.config is referenced in my |
17 |
kernel config file which then loads initramfs_init_new.sh to do the |
18 |
work. The failure is three messages: |
19 |
|
20 |
/init: line 16: mount: not found |
21 |
/init: line 17: mount: not found |
22 |
/init: line 18: mount: not found |
23 |
|
24 |
which appear to correlate with lines 16-18: |
25 |
|
26 |
mount -t proc none /proc |
27 |
mount -t sysfs none /sys |
28 |
mount -t devtmpfs none /dev |
29 |
|
30 |
Any input are greatly appreciated. |
31 |
|
32 |
Thanks, |
33 |
Mark |
34 |
|
35 |
|
36 |
|
37 |
mark@c2RAID6 ~ $ cat /usr/src/initramfs.config |
38 |
dir /bin 755 0 0 |
39 |
file /bin/busybox /bin/busybox 755 0 0 |
40 |
slink /bin/sh busybox 777 0 0 |
41 |
|
42 |
dir /realroot 755 0 0 |
43 |
dir /etc 755 0 0 |
44 |
dir /proc 755 0 0 |
45 |
dir /sys 755 0 0 |
46 |
|
47 |
dir /sbin 755 0 0 |
48 |
file /sbin/mdadm /sbin/mdadm 755 0 0 |
49 |
|
50 |
file /sbin/e2fsck /sbin/e2fsck 755 0 0 |
51 |
dir /lib 755 0 0 |
52 |
file /lib/libext2fs.so /usr/lib64/libext2fs.so 755 0 0 |
53 |
file /etc/mdadm.conf /usr/src/mdadm_initramfs.conf 755 0 0 |
54 |
|
55 |
dir /dev 755 0 0 |
56 |
nod /dev/console 600 0 0 c 5 1 |
57 |
nod /dev/null 666 0 0 c 1 3 |
58 |
nod /dev/tty 666 0 0 c 5 0 |
59 |
nod /dev/urandom 666 0 0 c 1 9 |
60 |
|
61 |
file /init /usr/src/initramfs_init_new.sh 755 0 0 |
62 |
mark@c2RAID6 ~ $ |
63 |
|
64 |
|
65 |
|
66 |
|
67 |
mark@c2RAID6 ~ $ cat /usr/src/initramfs_init_new.sh |
68 |
#!/bin/busybox sh |
69 |
|
70 |
rescue_shell() { |
71 |
echo "-----" |
72 |
echo "!!!!!" |
73 |
echo "Something went wrong." |
74 |
echo "Dropping into busybox" |
75 |
echo "!!!!!" |
76 |
echo "-----" |
77 |
busybox --install -s |
78 |
exec /bin/sh |
79 |
} |
80 |
|
81 |
|
82 |
# Mount the /proc and /sys filesystems. |
83 |
mount -t proc none /proc |
84 |
mount -t sysfs none /sys |
85 |
mount -t devtmpfs none /dev |
86 |
|
87 |
# Do your stuff here. |
88 |
echo " " |
89 |
echo "This init script assembles the RAID6 root as /dev/md3" |
90 |
echo "mounts it as rootfs and, if there are no problems," |
91 |
echo "boots it up, else calls rescue_shell/busybox" |
92 |
echo " " |
93 |
|
94 |
mdadm --assemble /dev/md3 |
95 |
|
96 |
# Mount the root filesystem. |
97 |
mount -o ro /dev/md3 /realroot || rescue_shell |
98 |
|
99 |
# Clean up. |
100 |
umount /dev |
101 |
umount /proc |
102 |
umount /sys |
103 |
|
104 |
# Boot the real thing. |
105 |
exec switch_root /realroot /sbin/init |
106 |
mark@c2RAID6 ~ $ |