Initial revision
[people/sha0/gpxe.git] / contrib / mkffwnb / 2.0.10 / linuxrc
1 #!/bin/sh
2 #
3 # floppyfw initfile
4 #
5 # nicked from:
6 # hal91's initfile (/linuxrc), the bootup script of the system
7 #
8
9 VERSION=2.1.6
10
11 load_fsmod () {
12         case $1 in
13         /dev/hd*)
14                 insmod ide-cd
15                 insmod cdrom
16                 ;;
17         esac
18         case $2 in
19         vfat)
20                 echo vfat support is builtin
21                 ;;
22         iso9660)
23                 insmod isofs
24                 ;;
25         esac
26 }
27
28 #
29 /bin/busybox echo "Booting floppyfw" 
30
31 PATH="/bin:/sbin:/usr/bin:/usr/sbin"
32 #PATH="/bin"
33 TERM=linux
34 ignoreeof=10
35 no_exit_on_failed_exec=yes
36 export PATH TERM ignoreeof
37 umask 022
38
39 /bin/busybox echo "mounting: proc"
40 /bin/busybox mount -t proc /proc /proc
41
42 /bin/busybox echo "Generating links. (Thanks to busybox.lineo.com)"
43 /bin/busybox --install -s
44
45 echo "Generated"
46
47 # Modified by Gem, based on coyote distro, changes by Ken Yap
48 ROOTDEV=`sed -e 's/$/ /' -e 's/.*root=\([^ ]*\) .*/\1/' -e 's/,/ /g' -e 's:/dev/nfs:/dev/fd0:' /proc/cmdline`
49 set -- $ROOTDEV
50 # Backward compatibility with a single device argument
51 if [ $# -eq 1 ]
52 then
53         set -- $1 vfat
54 fi
55 while [ "$1" -a "$2" ]
56 do
57         echo "attempting to mount $1 ($2)"
58         load_fsmod $1 $2
59         if mount -t $2 $1 /mnt/tmp
60         then
61                 echo "mounted $1 on /mnt/tmp"
62                 break
63         fi
64         shift; shift
65 done
66
67 [ -f /mnt/tmp/floppyfw/floppyfw.ini ] && cat /mnt/tmp/floppyfw/floppyfw.ini \
68 | tr -d '\015' >/floppyfw.ini
69
70 [ -f /floppyfw.ini ] && chmod 777 /floppyfw.ini
71 [ -f /floppyfw.ini ] && exec /floppyfw.ini
72
73 echo
74 echo "** floppyfw.ini failed.. starting a shell"
75 echo
76 exec sh