#!/bin/busybox ash #Framework, welches ein komplettes Linux System aus den Sourcen erstellt #dieses Framework wird im CVS Repository #:pserver:cvs.tramp-bbs.de:/opt/cvs zur Verfügung gestellt # #Lage dieser Datei im Archiv: $Source$ # #(c) 2003 Harald Kueller, Germany #This program is free software; you can redistribute it and/or #modify ist under the terms of the GNU General Public License #as published by the Free Software Foundation; either version #2 of the License, or (at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. #See the GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not write to the Free Software Foundation, #Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # #Beschreibung:linuxrc initrd script #Starup Script fuer initrd betrieb von einer CDROM # #Aufrufparameter: # #Letzte Änderung von: $Author: kueller $ #Datum der letzten Änderung: $Date: 2008-03-31 14:59:18 +0200 (Mo, 31 Mär 2008) $ #Version der Datei: $Revision: 4152 $ # #$Log$ #Revision 1.6 2007/04/30 21:29:26 kueller #Probleme mit neuer Version von udev korrigiert # #Revision 1.5 2007/04/12 22:04:52 segler #S0 added at getty starts for enabling serial console for monitorless installation # #Revision 1.4 2006/07/07 21:29:50 kueller #Anpassung von devicenamen an udev. abschaltung von devfs # #Revision 1.3 2006/07/06 18:47:16 kueller #Boot vorgang verbessert. startup wird mittels /etc/init.d/rc scripten #gemacht. Ausserdem werden Gettys auf console 1-6 gestartet. Start #ist von normalem boot fast nicht mehr zu unterscheiden, auch wenn ich #den init immer noch nicht zum laufen bekommen hab. # #Revision 1.2 2006/01/13 16:57:04 kueller #Vorbereitung fuer Viitor_Setup. Bugfix beim vgchange kommando. # #Revision 1.1.1.1 2006/01/12 13:20:21 kueller #New added for cdrom bootup # # cd /bin ./busybox ln -s busybox ln cd /bin ./busybox echo "Generating links in /bin for busybox" for i in [ [[ addgroup adduser ar ash awk basename bunzip2 \ bzcat cat chgrp chmod chown chvt clear cp cpio cut date dc \ dd deallocvt delgroup deluser df diff dirname dmesg du echo \ ed egrep env expr false fgrep find free fuser getopt grep \ gunzip gzip head hostname id insmod ip ipaddr iplink iproute \ iptunnel kill killall last less logger login ls md5sum mesg \ mkdir mknod mktemp more mount mountpoint mt mv netstat newlink \ nslookup passwd patch pidof ping printf ps pwd realpath renice \ reset rm rmdir sed sh sleep sort stat strings stty su sync tail \ tar tee telnet test tftp top touch traceroute true tty umount \ uname uncompress uniq unzip uptime vi wc wget which who whoami \ xargs yes zcat; do ln -s busybox $i done cd - 2>&1 >/dev/null cd /sbin echo "Generating linknames in /sbin for busybox" for i in chroot fbset fdisk getty halt hdparm hwclock ifconfig \ init insmod losetup lsmod mkswap modprobe nameif pivot_root \ poweroff reboot rmmod route runlevel sulogin swapoff swapon \ switch_root sysctl; do ln -s /bin/busybox $i done cd - 2>&1 >/dev/null runlevel=S prevlevel=N umask 022 export runlevel prevlevel trap ":" INT QUIT TSTP for i in /proc /sys /mnt; do if [ ! -d $i ]; then mkdir $i fi done mount -t proc none /proc mount -t sysfs none /sys mount -t tmpfs none /dev if [ -d /proc/bus/usb ]; then mount -t usbfs none /proc/bus/usb fi echo "0" >/proc/sys/kernel/printk cd /lib/modules/* for i in `find . -name "*.ko"`; do MODNAME=`basename $i` MODNAME=`echo $MODNAME|sed -e "s/\.ko$//"` echo "Trying to load $MODNAME" modprobe -q -s $MODNAME 2>&1 >/dev/null done udevstart echo "7" >/proc/sys/kernel/printk for i in /etc/init.d/rcS.d/S??*; do [ ! -f "$i" ] && continue; $i start done for i in /dev/sr*; do mount -o ro $i /mnt if [ -d /mnt/Viitor ]; then FOUND=1 break fi umount /mnt done if [ "$FOUND" ]; then exec /sbin/switch_root /mnt /sbin/init else exec /bin/ash fi