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