ppcrcd/trunk: Makefile initrd.dir/linuxrc
sparky
cvs at pld-linux.org
Sun Jan 15 20:11:42 CET 2006
Author: sparky
Date: Sun Jan 15 20:11:39 2006
New Revision: 6814
Modified:
ppcrcd/trunk/Makefile
ppcrcd/trunk/initrd.dir/linuxrc
Log:
- put some more modules to initrd
Modified: ppcrcd/trunk/Makefile
==============================================================================
--- ppcrcd/trunk/Makefile (original)
+++ ppcrcd/trunk/Makefile Sun Jan 15 20:11:39 2006
@@ -7,7 +7,8 @@
BCOND = --without python --without smp --without doc
CFLAGS = -Os -fsigned-char -falign-loops=0 -falign-jumps=0 -falign-functions=0
-INITRDMODULES = via82cxxx ide-generic cdrom ide-cd isofs nls_base
+INITRDMODULES = scsi_mod sd_mod sr_mod via82cxxx ide-generic \
+ cdrom ide-cd isofs nls_base
R = out/rpm/rpms
P = out/rpm/prep
Modified: ppcrcd/trunk/initrd.dir/linuxrc
==============================================================================
--- ppcrcd/trunk/initrd.dir/linuxrc (original)
+++ ppcrcd/trunk/initrd.dir/linuxrc Sun Jan 15 20:11:39 2006
@@ -1,49 +1,65 @@
#!/bin/sh
#v: @_VERSION_@
-/bin/mount -n -t proc proc /proc
-/bin/awk '/debug/ { exit 0 }; { exit 1 }' /proc/cmdline && set -x
+# P - prefix (/initrd)
+P=""
+B="$P/bin"
+
+$B/mount -n -t proc proc /proc
+$B/awk '/debug/ { exit 0 }; { exit 1 }' /proc/cmdline && set -x
+
-### MEMTEST #####################################
error() {
- /bin/echo "ERROR: $*"
- /bin/sh </dev/console >/dev/console 2>&1
+ $B/echo "ERROR: $*"
+ $B/sh <$P/dev/console >$P/dev/console 2>&1
+}
+
+modload() {
+ $B/insmod $P/lib/modules/$1.ko
}
-
-if /bin/awk '/memtest/ { exit 0 }; { exit 1 }' /proc/cmdline; then
- /bin/echo "***** Preparing memtest *****"
- /bin/echo "*** Loading modules"
- for MOD in cdrom ide-cd nls_base isofs; do
- /bin/insmod /lib/modules/$MOD.ko
+
+findcd() {
+ $B/echo "*** Loading modules"
+ for MOD in scsi_mod sd_mod via82cxxx ide-generic cdrom ide-cd sr_mod nls_base isofs; do
+ modload $MOD
done
- /bin/echo "*** Searching PPCRCD cdrom"
+ # check do we have cdrom info file
+ $B/test -e /proc/sys/dev/cdrom/info || error "Can't find CDROM"
+
+ $B/echo "*** Searching PPCRCD cdrom"
# for each cd drive try to mount
- DRIVES=`/bin/awk '/drive name:/ { gsub(/drive name:/,""); print }' /proc/sys/dev/cdrom/info`
+ DRIVES=`$B/awk '/drive name:/ { gsub(/drive name:/,""); print }' /proc/sys/dev/cdrom/info`
for CD in $DRIVES; do
- /bin/mount -n -t iso9660 /dev/$CD /media/ppcrcd -r
- if /bin/test -f /media/ppcrcd/ppcrcd.sqf; then
- /bin/echo " Found: /dev/$CD"
+ $B/mount -n -t iso9660 $P/dev/$CD /media/ppcrcd -r
+ if $B/test -f /media/ppcrcd/ppcrcd.sqf; then
+ $B/echo " Found: /dev/$CD"
break # it's it !
fi
- /bin/umount /media/ppcrcd 2>/dev/null
+ $B/umount /media/ppcrcd 2>/dev/null
done
- /bin/echo "*** Preparing root filesystem"
- /bin/test -f /media/ppcrcd/ppcrcd.sqf || error "Can't find CDROM"
+ $B/echo "*** Preparing root filesystem"
+ $B/test -f /media/ppcrcd/ppcrcd.sqf || error "Can't find CDROM"
+}
+
+### MEMTEST #####################################
+if $B/awk '/memtest/ { exit 0 }; { exit 1 }' /proc/cmdline; then
+ $B/echo "***** Preparing memtest *****"
+
+ findcd
+
# prepare loop and mount
- /bin/losetup /dev/loop0 /media/ppcrcd/ppcrcd.sqf || error "Can't setup loop device"
- /bin/mount -n -t squashfs /dev/loop0 /rootfs -r || error "Can't mount loop device"
- /bin/umount /proc
+ $B/losetup /dev/loop0 /media/ppcrcd/ppcrcd.sqf || error "Can't setup loop device"
+ $B/mount -n -t squashfs /dev/loop0 /rootfs -r || error "Can't mount loop device"
+ $B/umount /proc
cd /rootfs
- /bin/pivot_root . initrd
- /bin/echo "*** Executing script"
+ $B/pivot_root . initrd
+ $B/echo "*** Executing script"
exec /usr/sbin/chroot . /usr/lib/ppcrcd/memtest <dev/console >dev/console 2>&1
fi
-unset error
-
-/bin/umount /proc
+$B/umount /proc
### NORMAL ######################################
@@ -53,62 +69,34 @@
mkdir -p live initrd media/ppcrcd tmp proc boot lib bin usr sbin sys selinux
-/bin/initrd-busybox pivot_root . initrd
+$B/pivot_root . initrd
# We're in !
-# Some /initrd/ definitions
-error() {
- /initrd/bin/echo "ERROR: $*"
- /initrd/bin/sh </initrd/dev/console >/initrd/dev/console 2>&1
-}
-modload() {
- /initrd/bin/initrd-busybox insmod /initrd/lib/modules/$1.ko
-}
+P="/initrd"
+B="$P/bin"
# We nead /proc
-/initrd/bin/initrd-busybox mount -n -t proc proc /proc
+$B/mount -n -t proc proc /proc
-# load modules for cd (what scsi neads ?)
-/initrd/bin/echo "*** Loading modules"
-modload cdrom
-modload ide-cd
-modload nls_base
-modload isofs
-
-# check do we have cdrom
-/initrd/bin/test -e /proc/sys/dev/cdrom/info || error "Can't find CDROM"
-
-/initrd/bin/echo "*** Searching PPCRCD cdrom"
-# for each cd drive try to mount
-DRIVES=`/initrd/bin/awk '/drive name:/ { gsub(/drive name:/,""); print }' /proc/sys/dev/cdrom/info`
-for CD in $DRIVES; do
- /initrd/bin/initrd-busybox mount -n -t iso9660 /initrd/dev/$CD /media/ppcrcd -r
- if /initrd/bin/test -f /media/ppcrcd/ppcrcd.sqf; then
- /initrd/bin/echo " Found: /dev/$CD"
- break # it's it !
- fi
- /initrd/bin/initrd-busybox umount /media/ppcrcd 2>/initrd/dev/null
-done
+findcd
-/initrd/bin/echo "*** Preparing root filesystem"
-/initrd/bin/test -f /media/ppcrcd/ppcrcd.sqf || error "Can't find CDROM"
# prepare loop and mount
-if /initrd/bin/awk "/tomempost/ { exit 0 }; { exit 1 }" /proc/cmdline; then
- /initrd/bin/echo "*** Copying ppcrcd.sqf image"
- /initrd/bin/cat /media/ppcrcd/ppcrcd.sqf > /ppcrcd.sqf
- /initrd/bin/losetup /initrd/dev/loop7 /ppcrcd.sqf || error "Can't setup loop device"
+if $B/awk "/tomempost/ { exit 0 }; { exit 1 }" /proc/cmdline; then
+ $B/echo "*** Copying ppcrcd.sqf image"
+ $B/cat /media/ppcrcd/ppcrcd.sqf > /ppcrcd.sqf
+ $B/losetup $P/dev/loop7 /ppcrcd.sqf || error "Can't setup loop device"
TOMEM="yes"
else
- /initrd/bin/losetup /initrd/dev/loop7 /media/ppcrcd/ppcrcd.sqf || error "Can't setup loop device"
+ $M/losetup $P/dev/loop7 /media/ppcrcd/ppcrcd.sqf || error "Can't setup loop device"
fi
-/initrd/bin/initrd-busybox mount -n -t squashfs /initrd/dev/loop7 /live -r || error "Can't mount loop device"
+$B/ mount -n -t squashfs $P/dev/loop7 /live -r || error "Can't mount loop device"
# link ro dirs
for f in boot lib bin usr sbin; do
- /initrd/bin/initrd-busybox mount -n -t none -o bind live/$f $f
+ $B/mount -n -t none -o bind live/$f $f
done
-/initrd/bin/echo "*** Preparing RW directories"
+$B/echo "*** Preparing RW directories"
# cp rw files
cp -a /live/etc/skel /root
chmod -R +w /root
@@ -122,7 +110,7 @@
chmod -R +w /dev
touch /fastboot
-if /initrd/bin/test -n "$TOMEM"; then
+if $B/test -n "$TOMEM"; then
/bin/umount /media/ppcrcd
/bin/rmdir /media/ppcrcd
else
@@ -132,8 +120,8 @@
/bin/mount -f /
# stop ?
-/initrd/bin/awk "/stop/ { exit 0 }; { exit 1 }" /proc/cmdline && error "stop requested"
-/initrd/bin/initrd-busybox umount /proc
+$B/awk "/stop/ { exit 0 }; { exit 1 }" /proc/cmdline && error "stop requested"
+$B/umount /proc
#/bin/umount /initrd
#/sbin/blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
More information about the pld-cvs-commit
mailing list