From 5a9dcd43e9eaf0882be4b326635814d269c72cdf Mon Sep 17 00:00:00 2001 From: kueller Date: Thu, 8 Apr 2010 09:00:47 +0000 Subject: [PATCH] =?UTF-8?q?Init=20script=20f=C3=BCr=20usb=20stick=20boot?= =?UTF-8?q?=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_initrd@5493 504e572c-2e33-0410-9681-be2bf7408885 --- init.usb | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100755 init.usb diff --git a/init.usb b/init.usb new file mode 100755 index 0000000..e8a350e --- /dev/null +++ b/init.usb @@ -0,0 +1,128 @@ +#!/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 +/etc/init.d/udev start +/etc/init.d/hotplug start +for i in /sys/block/sd?; do + DEVNAME=`basename $i` + mount /dev/$DEVNAME /mnt + if [ -d /mnt/Viitor/install ]; then + pkill udevd + exec /sbin/switch_root /mnt /sbin/init + fi + umount /mnt +done +exec /bin/ash