Magellan Linux

Diff of /trunk/mkinitrd/lib/linuxrc.sh

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

revision 333 by niro, Tue Feb 21 00:02:17 2006 UTC revision 485 by niro, Sun Apr 29 20:56:14 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/lib/linuxrc.sh,v 1.1 2006-02-21 00:02:17 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/lib/linuxrc.sh,v 1.8 2007-04-29 20:55:30 niro Exp $
3    
4  # loads given kernel modules  # loads given kernel modules
5  load_kernel_modules()  load_kernel_modules()
# Line 56  check_drives() Line 56  check_drives()
56  DOSCSI=no  DOSCSI=no
57  DOUSB=no  DOUSB=no
58  DOSATA=no  DOSATA=no
59    NOPATA=no
60    
61  ## starts here ##  ## starts here ##
62    
# Line 66  mount -t sysfs sysfs /sys Line 67  mount -t sysfs sysfs /sys
67  # silencio  # silencio
68  echo 0 > /proc/sys/kernel/printk  echo 0 > /proc/sys/kernel/printk
69    
 echo "-- Creating inital device nodes ..."  
 mount -o mode=0755 -t tmpfs udev /dev  
 mkdir /dev/pts  
 mkdir /dev/shm  
 mkdir /dev/mapper  
 mknod /dev/console c 5 1  
 mknod /dev/null c 1 3  
 mknod /dev/ram b 1 1  
 mknod /dev/rtc c 10 135  
 mknod /dev/systty c 4 0  
 mknod /dev/tty c 5 0  
 mknod /dev/zero c 1 5  
 mknod /dev/tty0 c 4 0  
 mknod /dev/tty1 c 4 1  
 mknod /dev/tty2 c 4 2  
 mknod /dev/tty3 c 4 3  
 mknod /dev/tty4 c 4 4  
 mknod /dev/tty5 c 4 5  
 mknod /dev/tty6 c 4 6  
 mknod /dev/tty7 c 4 7  
 mknod /dev/tty8 c 4 8  
 mknod /dev/tty9 c 4 9  
 mknod /dev/tty10 c 4 10  
 mknod /dev/tty11 c 4 11  
 mknod /dev/tty12 c 4 12  
 mknod /dev/ttyS0 c 4 64  
 mknod /dev/ttyS1 c 4 65  
 mknod /dev/ttyS2 c 4 66  
 mknod /dev/ttyS3 c 4 67  
   
 echo "-- Starting udevd ..."  
 ln -snf bin /sbin  
 /sbin/udevstart  
 ln -snf /proc/self/fd /dev/fd  
 ln -snf fd/0 /dev/stdin  
 ln -snf fd/1 /dev/stdout  
 ln -snf fd/2 /dev/stderr  
 ln -snf /proc/kcore /dev/core  
 touch /dev/.udev  
   
 echo "-- Setting up hotplug ..."  
 #echo "/sbin/hotplug" > /proc/sys/kernel/hotplug  
 echo "/sbin/udev" > /proc/sys/kernel/hotplug  
   
70  # check command line for params  # check command line for params
71  for i in $(cat /proc/cmdline)  for i in $(cat /proc/cmdline)
72  do  do
# Line 123  do Line 80  do
80   dosata)   dosata)
81   DOSATA=yes   DOSATA=yes
82   ;;   ;;
83     nopata)
84     NOPATA=yes
85     ;;
86   esac   esac
87  done  done
88    
89  # now load all needed modules  # now load all needed modules
90  load_kernel_modules "generic"  load_kernel_modules "generic"
91    [ "${NOPATA}" != "yes" ] && load_kernel_modules "pata"
92  [ "${DOSCSI}" = "yes" ] && load_kernel_modules "scsi"  [ "${DOSCSI}" = "yes" ] && load_kernel_modules "scsi"
93  [ "${DOUSB}" = "yes" ] && load_kernel_modules "usb"  [ "${DOUSB}" = "yes" ] && load_kernel_modules "usb"
94  [ "${DOSATA}" = "yes" ] && load_kernel_modules "sata"  [ "${DOSATA}" = "yes" ] && load_kernel_modules "sata"
# Line 144  mkdir -p /sysroot/mnt/magellan Line 105  mkdir -p /sysroot/mnt/magellan
105    
106  # needed for the usbstick, the timeout maybe to short  # needed for the usbstick, the timeout maybe to short
107  if [ "${DOUSB}" = "yes" ]; then  if [ "${DOUSB}" = "yes" ]; then
108   echo "-- Waiting 3 seconds for possible usb mount ..."   echo "-- Waiting 8 seconds for possible usb mount ..."
109   sleep 3   sleep 8
110  fi  fi
111    
112  # searching cdrom with cdid  # searching cdrom with cdid
# Line 155  FSTYPE="" Line 116  FSTYPE=""
116  echo "Searching for a boot device ..."  echo "Searching for a boot device ..."
117    
118  # searching usbstick  # searching usbstick
119  check_drives "/dev/scsi/host[0-99]/bus[0-99]/target[0-99]/lun[0-99]/part[0-99]" "vfat"  if [ "${DOUSB}" = "yes" ]; then
120     check_drives "/dev/sd*" "vfat"
121     check_drives "/dev/sg*" "vfat"
122    fi
123    
124  # for cdrom_device in $CDROM_LIST (ide)  # for cdrom_device in $CDROM_LIST (ide)
125  check_drives "/dev/cdroms/*" iso9660  check_drives "/dev/cdroms/*" iso9660
126  check_drives "/dev/hd*" iso9660  check_drives "/dev/hd*" iso9660
127    
128  # scsi cdroms  # scsi cdroms
129  check_drives "/dev/sr*" iso9660  if [ "${DOSCSI}" = "yes" ] || [ "${DOSATA}" = "yes" ]; then
130     check_drives "/dev/sr*" iso9660
131     check_drives "/dev/sg*" iso9660
132     check_drives "/dev/scd*" iso9660
133    fi
134    
135  # mount our rootfs from cdrom  # mount our rootfs from cdrom
136  if [ "${BOOT_DEVICE}" = "" ]  if [ "${BOOT_DEVICE}" = "" ]
# Line 191  else Line 159  else
159   do   do
160   ln -s mnt/cloop/${x} ${x}   ln -s mnt/cloop/${x} ${x}
161   done   done
162   mkdir -p initrd proc tmp sys var/tmp dev   mkdir -p initrd proc tmp sys var/tmp dev media
  chmod 1777 tmp var/tmp  
163    
164   # make /sysroot/dev/console & /mnt/dev/null   # make /sysroot/dev/console & /mnt/dev/null
165   [ ! -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
# Line 200  else Line 167  else
167    
168   (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot)   (cd /sysroot/mnt/cloop; cp -a etc root home var /sysroot)
169    
170   # shurely change to correct permissions   # ensure the right permissions
171   chmod 1777 /sysroot/tmp   chmod 1777 /sysroot/tmp
172   chmod 1777 /sysroot/var/tmp   chmod 1777 /sysroot/var/tmp
173  fi  fi

Legend:
Removed from v.333  
changed lines
  Added in v.485