#!/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 [ [[ acpid addgroup adduser ar arp arping ash awk \ basename brctl bunzip2 bzcat cat chgrp chmod chown \ chvt clear cp cpio cut date dc dd deallocvt delgroup \ deluser depmod df diff dirname dmesg du echo ed egrep \ eject env expand expr false fgrep find free fsck \ fuser getopt grep gunzip gzip head hostname id install\ ip ipaddr iplink iproute iptunnel kbd_mode kill killall\ last less linuxrc loadkmap logger login ls lsmod \ lzmacat makedevs md5sum mdev mesg mkdir mkfifo mknod \ mktemp more mount mountpoint mt mv netstat nice nohup \ nslookup passwd patch pidof ping pkill printf ps pwd \ rdev realpath renice reset rm rmdir sed setconsole \ setkeycodes sh showkey sleep sort split stat strings \ stty su sync tail tar tee telnet test tftp top touch \ traceroute true tty tunctl umount uname uncompress uniq \ unzip uptime usleep 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 -n -t tmpfs -o mode=0755 udev /dev mknod /dev/null c 1 3 mknod /dev/console c 5 1 mkdir /dev/pts mkdir /dev/shm if [ -d /proc/bus/usb ]; then mount -t usbfs none /proc/bus/usb fi if [ ! -d /var/lock/subsys ]; then mkdir -p /var/log/subsys fi /sbin/modprobe usb-storage /etc/init.d/udev start /etc/init.d/hotplug start for i in $(find /lib/modules -type f -name "*.ko"); do modprobe $(basename $i|sed -e "s/\.ko$//") done for i in /sys/block/sd?; do DEVNAME=`basename $i` mount /dev/$DEVNAME /mnt if [ -d /mnt/Viitor/install ]; then pkill udevd mount --move /dev /mnt/dev umount /sys umount /proc exec /sbin/switch_root /mnt /sbin/init fi umount /mnt done exec /bin/ash