Magellan Linux

Diff of /trunk/mkinitrd-magellan/livecd/linuxrc.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 753 by niro, Thu Jun 26 22:21:36 2008 UTC revision 1188 by niro, Thu Dec 16 01:24:51 2010 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd-magellan/livecd/linuxrc.sh,v 1.7 2008-06-26 22:21:36 niro Exp $  # $Id$
3    
4  # loads given kernel modules  # loads given kernel modules
5  load_kernel_modules()  load_kernel_modules()
# Line 55  check_drives() Line 55  check_drives()
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    BREAK_ENABLED=no
64    
65  ## starts here ##  ## starts here ##
66    
67  # mount essential filesystems  # mount essential filesystems
68  mount -t proc proc /proc  mount -t proc proc /proc
69  mount -t sysfs sysfs /sys  mount -t sysfs sysfs /sys
70    mount -t tmpfs tmpfs /dev -o rw,mode=0644,size=1024
71    
72    # install all busybox applets
73    busybox --install -s
74    
75  # silencio  # silencio
76  echo 0 > /proc/sys/kernel/printk  echo 0 > /proc/sys/kernel/printk
# Line 73  echo 0 > /proc/sys/kernel/printk Line 79  echo 0 > /proc/sys/kernel/printk
79  for i in $(cat /proc/cmdline)  for i in $(cat /proc/cmdline)
80  do  do
81   case "${i}" in   case "${i}" in
82   doscsi)   doscsi) DOSCSI=yes;;
83   DOSCSI=yes   noscsi) DOSCSI=no;;
84   ;;   dousb) DOUSB=yes;;
85   dousb)   nousb) DOUSB=no;;
86   DOUSB=yes   dosata) DOSATA=yes ;;
87   ;;   nosata) DOSATA=no ;;
88   dosata)   dofb) DOFB=yes;;
89   DOSATA=yes   nofb) DOFB=no;;
90   ;;   dopata) DOPATA=yes;;
91   dofb)   nopata) DOPATA=no;;
92   DOFB=yes   rootfs=*) FORCED_ROOTFS="${i#*=}";;
93   ;;   init=*) INITEXEC="${i#*=}";;
94   dopata)   break) BREAK_ENABLED=yes ;;
  DOPATA=yes  
  ;;  
  rootfs=*)  
  FORCED_ROOTFS="${i#*=}"  
  ;;  
95   esac   esac
96  done  done
97    
# Line 102  load_kernel_modules "generic" Line 103  load_kernel_modules "generic"
103  [ "${DOUSB}" = "yes" ] && load_kernel_modules "usb"  [ "${DOUSB}" = "yes" ] && load_kernel_modules "usb"
104  [ "${DOSATA}" = "yes" ] && load_kernel_modules "sata"  [ "${DOSATA}" = "yes" ] && load_kernel_modules "sata"
105    
106    # populate dev
107    mdev -s
108    # handle hotplug events properly
109    echo /sbin/mdev > /proc/sys/kernel/hotplug
110    
111  # create newroot mount point  # create newroot mount point
112  mkdir -p /sysroot  mkdir -p /sysroot
113  # fake a new filesystem (also needed with an initramfs!!)  # fake a new filesystem (also needed with an initramfs!!)
# Line 180  else Line 186  else
186   [ ! -e /sysroot/dev/console ] && mknod -m 600 /sysroot/dev/console c 5 1   [ ! -e /sysroot/dev/console ] && mknod -m 600 /sysroot/dev/console c 5 1
187   [ ! -e /sysroot/dev/null ] && mknod -m 666 /sysroot/dev/null c 1 3   [ ! -e /sysroot/dev/null ] && mknod -m 666 /sysroot/dev/null c 1 3
188   # only to be safe and to have a log channel   # only to be safe and to have a log channel
189   [ ! -e /sysroot/dev/tty ] && mknod ${BINDIR}/dev/tty c 5 0 || die   [ ! -e /sysroot/dev/tty ] && mknod /sysroot/dev/tty c 5 0
190   # busybox needs this one   # busybox needs this one
191   [ ! -e /sysroot/dev/tty5 ] && mknod ${BINDIR}/dev/tty5 c 4 5 || die   [ ! -e /sysroot/dev/tty5 ] && mknod /sysroot/dev/tty5 c 4 5
192    
193   (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot)   (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot)
194    
# Line 193  fi Line 199  fi
199    
200  cd /  cd /
201    
202    # unset hotplug event-manager
203    echo > /proc/sys/kernel/hotplug
204    
205  # de-silencio  # de-silencio
206  echo 3 > /proc/sys/kernel/printk  echo 3 > /proc/sys/kernel/printk
207    
208    if [[ ${BREAK_ENABLED} = yes ]]
209    then
210     echo "-- Break requested, type 'exit' to resume operation ..."
211     ash
212    fi
213    
214  echo "-- Switching to real sysroot ..."  echo "-- Switching to real sysroot ..."
215    umount /dev
216  umount /sys  umount /sys
217  umount /proc  umount /proc
218    
219  exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console  exec run-init /sysroot ${INITEXEC} $@ </sysroot/dev/console >/sysroot/dev/console

Legend:
Removed from v.753  
changed lines
  Added in v.1188