diff options
Diffstat (limited to 'packages/slugos-init/files/linuxrc')
-rwxr-xr-x | packages/slugos-init/files/linuxrc | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/packages/slugos-init/files/linuxrc b/packages/slugos-init/files/linuxrc deleted file mode 100755 index 7c20a55b65..0000000000 --- a/packages/slugos-init/files/linuxrc +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh - -# **** DO NOT EVEN THINK OF EDITING OR REMOVING THIS FILE **** -# **** UNLESS YOU REALLY KNOW *EXACTLY* WHAT YOU ARE DOING. **** - - -# Determine the desired rootfs based on user flag files. - -if [ -f /.ramdisk ] ; then - /bin/echo "Preferred root device is /dev/ram0 (maintenence)" - mounted=/mnt - prefroot=maintenence -elif [ -f /.sda1root ] ; then - /bin/echo "Preferred root device is /dev/sda1 (disk 1)" - mounted=/mnt - prefroot=sda1 -elif [ -f /.sda2root ] ; then - /bin/echo "Preferred root device is /dev/sda2 (disk 1)" - mounted=/mnt - prefroot=sda2 -elif [ -f /.sdb1root ] ; then - /bin/echo "Preferred root device is /dev/sdb1 (disk 2)" - mounted=/mnt - prefroot=sdb1 -elif [ -f /.sdb2root ] ; then - /bin/echo "Preferred root device is /dev/sdb2 (disk 2)" - mounted=/mnt - prefroot=sdb2 -elif [ -f /.nfsroot ] ; then - /bin/echo "Preferred root device is NFS" - mounted=/mnt - prefroot=nfsroot -else - /bin/echo "Preferred root device is jffs2" - mounted= - prefroot=jffs2 -fi - - -# Perform prepatory tasks, and determine whether the desired rootfs is viable. - -/bin/mount -t proc proc /proc - -if [ $prefroot = "sda1" -o $prefroot = "sda2" -o $prefroot = "sdb1" -o $prefroot = "sdb2" ] ; then - /bin/echo "Sleeping 10sec while waiting for disk..." - sleep 10 - /bin/mount -rt ext3 /dev/$prefroot /mnt - if [ -L /mnt/sbin/init -o -x /mnt/sbin/init -o \ - -L /mnt/bin/init -o -x /mnt/bin/init ] ; then - /bin/echo "Root filesystem will be mounted from /dev/$prefroot ..." - else - /bin/umount /mnt - /bin/echo "Can't find valid rootfs on /dev/$prefroot, using jffs2 ..." - mounted= - prefroot=jffs2 - fi -fi - -if [ $prefroot = "maintenence" ] ; then - /bin/dd if=/dev/zero of=/dev/ram0 bs=1k count=12k 2>/dev/null - /usr/bin/mke2fs -m 0 /dev/ram0 12288 - /bin/mount -t ext2 /dev/ram0 /mnt - ( /usr/bin/find . -print0 -mount | /usr/bin/cpio -p -0 -d -m -u /mnt ) - /bin/rm -f /mnt/linuxrc - /bin/cp /mnt/home/httpd/html/Management/upgrade.cgi /mnt/home/httpd/html/Management/upgrade-real.cgi - /bin/echo "#!/bin/sh" > /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo >> /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo "/bin/mount -t ramfs none /upload -o size=8196 2>/dev/null" \ - >> /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo "/bin/dd if=/dev/zero of=/upload/free-ram bs=1k count=8k 2>/dev/null" \ - >> /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo "/bin/umount /upload 2>/dev/null" \ - >> /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo "exec /home/httpd/html/Management/upgrade-real.cgi" \ - >> /mnt/home/httpd/html/Management/upgrade.cgi - /bin/echo "Root filesystem will be mounted from /dev/ram0 (a copy of /dev/mtdblock4) ..." -fi - -if [ $prefroot = "nfsroot" ] ; then - - sysconflen=`/bin/dd if=/dev/mtd1 bs=4 count=1 2>/dev/null | /usr/bin/hexdump -n 6 -e '"%02d"'` - ipaddr=`/bin/dd if=/dev/mtd1 bs=1 count=$sysconflen skip=4 2>/dev/null | grep ip_addr | sed -e s/ip_addr=//` - netmask=`/bin/dd if=/dev/mtd1 bs=1 count=$sysconflen skip=4 2>/dev/null | grep netmask | sed -e s/netmask=//` - gateway=`/bin/dd if=/dev/mtd1 bs=1 count=$sysconflen skip=4 2>/dev/null | grep gateway | sed -e s/gateway=//` - - /sbin/insmod ixp400 - /sbin/insmod ixp425_eth - /sbin/ifconfig ixp0 up $ipaddr netmask $netmask - /sbin/route add default gw $gateway - - /sbin/ifconfig lo up 127.0.0.1 - - # The nfsrootloc and nfsrootopts vars can be overridden here. - . /.nfsroot - - /bin/mount $nfsrootopts $nfsrootloc /mnt - - if [ -L /mnt/sbin/init -o -x /mnt/sbin/init -o \ - -L /mnt/bin/init -o -x /mnt/bin/init ] ; then - /bin/echo "Root filesystem will be mounted from an NFS root ..." - mounted=/mnt - else - /bin/umount /mnt - /bin/echo "Can't find valid NFS rootfs, using jffs2 ..." - mounted= - prefroot=jffs2 - fi -fi - -if [ $prefroot = "jffs2" ] ; then - /bin/echo "Root filesystem will be mounted from /dev/mtdblock4 ..." - mounted= -fi - - -/bin/umount /proc - -# Pivot to the desired rootfs and run the initial executable. - -if [ -n "$mounted" ] ; then - - cd $mounted - - if [ -x ./sbin/init -o -L ./sbin/init ] ; then - runboot=/sbin/init - elif [ -x ./bin/init -o -L ./bin/init ] ; then - runboot=/bin/init - else - runboot=/bin/sh - fi - - /sbin/pivot_root . initrd - - exec /usr/sbin/chroot . $runboot < /dev/console 1> /dev/console 2> /dev/console - -else - - exec /sbin/init - -fi - -/bin/echo "Can't chroot to $prefroot, using jffs2 ..." -exec /sbin/init - -# Last-resort fall-back - this should never be reached. -/bin/sh |