V961 Tree Umbau

git-svn-id: svn://svn.compuextreme.de/Viitor/V961/Viitor_initrd@4263 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
kueller 2008-05-03 16:58:47 +00:00
commit 4957df9984
4 changed files with 288 additions and 0 deletions

16
ViitorBoot.msg Normal file
View File

@ -0,0 +1,16 @@
boot.lss
3fAn LinuxFromScratch based Linux
Distribution. You can boot the Live
System with typing "Live" on the boot
Promt. The default will start in
installation modus.
If you have problems booting, try
to use NoSer on Boot Prompt

BIN
boot.lss Normal file

Binary file not shown.

133
init Executable file
View File

@ -0,0 +1,133 @@
#!/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

139
init.hd Executable file
View File

@ -0,0 +1,139 @@
#!/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 udevstart; 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
for i in /etc/init.d/rcS.d/S??*; do
[ ! -f "$i" ] && continue;
$i start
done
mount -t proc none /proc
echo "0" >/proc/sys/kernel/printk
mount -t sysfs none /sys
if [ -d /proc/bus/usb ]; then
mount -t usbfs none /proc/bus/usb
fi
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
mount -t tmpfs none /dev
udevstart
echo "7" >/proc/sys/kernel/printk
for i in `cat /proc/cmdline`; do
DEVNAME=$DEVNAME`echo $i|awk -F "=" '{ if ($1 == "root" ) print $2 }'`
done
MAJOR=`echo $DEVNAME|cut -d"0" -f 1`
MINOR=`echo $DEVNAME|cut -d"0" -f 2`
for i in /sys/block/[hs]d?; do
if [ -d $i ]; then
for j in $i/`basename $i`?; do
if [ -d $j ] && [ "`cat $j/dev`" == "$MAJOR:$MINOR" ]; then
ROOTDEV=`basename $j`
fi
done
fi
done
if [ ${ROOTDEV} ]; then
mount /dev/$ROOTDEV /mnt
exec /sbin/switch_root /mnt /sbin/init
else
exec /bin/ash
fi