1 |
#!/bin/sh |
#!/bin/sh |
2 |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd-magellan/livecd/linuxrc.sh,v 1.9 2008-06-26 23:04:52 niro Exp $ |
# $Id$ |
3 |
|
|
4 |
# loads given kernel modules |
# loads given kernel modules |
5 |
load_kernel_modules() |
load_kernel_modules() |
55 |
## some defaults ## |
## some defaults ## |
56 |
DOSCSI=no |
DOSCSI=no |
57 |
DOUSB=no |
DOUSB=no |
58 |
DOSATA=no |
DOSATA=yes |
59 |
DOFB=no |
DOFB=no |
60 |
DOPATA=no |
DOPATA=yes |
61 |
FORCED_ROOTFS="" |
FORCED_ROOTFS="" |
62 |
|
INITEXEC="/sbin/init" |
63 |
|
|
64 |
## starts here ## |
## starts here ## |
65 |
|
|
66 |
# mount essential filesystems |
# mount essential filesystems |
67 |
mount -t proc proc /proc |
mount -t proc proc /proc |
68 |
mount -t sysfs sysfs /sys |
mount -t sysfs sysfs /sys |
69 |
|
mount -t tmpfs tmpfs /dev -o rw,mode=0644,size=1024 |
70 |
|
|
71 |
|
# install all busybox applets |
72 |
|
busybox --install -s |
73 |
|
|
74 |
# silencio |
# silencio |
75 |
echo 0 > /proc/sys/kernel/printk |
echo 0 > /proc/sys/kernel/printk |
78 |
for i in $(cat /proc/cmdline) |
for i in $(cat /proc/cmdline) |
79 |
do |
do |
80 |
case "${i}" in |
case "${i}" in |
81 |
doscsi) |
doscsi) DOSCSI=yes;; |
82 |
DOSCSI=yes |
noscsi) DOSCSI=no;; |
83 |
;; |
dousb) DOUSB=yes;; |
84 |
dousb) |
nousb) DOUSB=no;; |
85 |
DOUSB=yes |
dosata) DOSATA=yes ;; |
86 |
;; |
nosata) DOSATA=no ;; |
87 |
dosata) |
dofb) DOFB=yes;; |
88 |
DOSATA=yes |
nofb) DOFB=no;; |
89 |
;; |
dopata) DOPATA=yes;; |
90 |
dofb) |
nopata) DOPATA=no;; |
91 |
DOFB=yes |
rootfs=*) FORCED_ROOTFS="${i#*=}";; |
92 |
;; |
init=*) INITEXEC="${i#*=}";; |
|
dopata) |
|
|
DOPATA=yes |
|
|
;; |
|
|
rootfs=*) |
|
|
FORCED_ROOTFS="${i#*=}" |
|
|
;; |
|
93 |
esac |
esac |
94 |
done |
done |
95 |
|
|
101 |
[ "${DOUSB}" = "yes" ] && load_kernel_modules "usb" |
[ "${DOUSB}" = "yes" ] && load_kernel_modules "usb" |
102 |
[ "${DOSATA}" = "yes" ] && load_kernel_modules "sata" |
[ "${DOSATA}" = "yes" ] && load_kernel_modules "sata" |
103 |
|
|
104 |
|
# populate dev |
105 |
|
mdev -s |
106 |
|
# handle hotplug events properly |
107 |
|
echo /sbin/mdev > /proc/sys/kernel/hotplug |
108 |
|
|
109 |
# create newroot mount point |
# create newroot mount point |
110 |
mkdir -p /sysroot |
mkdir -p /sysroot |
111 |
# fake a new filesystem (also needed with an initramfs!!) |
# fake a new filesystem (also needed with an initramfs!!) |
197 |
|
|
198 |
cd / |
cd / |
199 |
|
|
200 |
|
# unset hotplug event-manager |
201 |
|
echo > /proc/sys/kernel/hotplug |
202 |
|
|
203 |
# de-silencio |
# de-silencio |
204 |
echo 3 > /proc/sys/kernel/printk |
echo 3 > /proc/sys/kernel/printk |
205 |
|
|
206 |
echo "-- Switching to real sysroot ..." |
echo "-- Switching to real sysroot ..." |
207 |
|
umount /dev |
208 |
umount /sys |
umount /sys |
209 |
umount /proc |
umount /proc |
210 |
|
|
211 |
exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console |
exec run-init /sysroot ${INITEXEC} $@ </sysroot/dev/console >/sysroot/dev/console |