kadischi/linuxrc livecd-linuxrc,1.4,1.5
Jasper O'neal Hartline (autopsy)
fedora-extras-commits at redhat.com
Tue Aug 29 03:04:14 UTC 2006
Author: autopsy
Update of /cvs/devel/kadischi/linuxrc
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14095/kadischi/linuxrc
Modified Files:
livecd-linuxrc
Log Message:
Implement hybrid initramfs with nash/busybox rather than Ext2 initrd
Index: livecd-linuxrc
===================================================================
RCS file: /cvs/devel/kadischi/linuxrc/livecd-linuxrc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- livecd-linuxrc 11 Apr 2006 08:26:16 -0000 1.4
+++ livecd-linuxrc 29 Aug 2006 03:04:12 -0000 1.5
@@ -1,53 +1,93 @@
-#!/bin/ash
+#!/bin/nash
-#set -x
-if [ "${INITRD_DBG}" = "x" ]; then set -x; fi
-
-echo Mounted proc filesystem
mount -t proc /proc /proc
+echo Mounting proc filesystem
echo Mounting sysfs filesystem
-mount -t sysfs none /sys
-mount -t tmpfs none /tmp
-
-cd /
-
-find-live-cd /cdrom
+mount -t sysfs /sys /sys
+echo Creating /dev
+mount -o mode=0755 -t tmpfs /dev /dev
+mkdir /dev/pts
+mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
+mkdir /dev/shm
+#mkdir /dev/mapper
+echo Creating initial device nodes
+mknod /dev/null c 1 3
+mknod /dev/zero c 1 5
+mknod /dev/systty c 4 0
+mknod /dev/tty c 5 0
+mknod /dev/console c 5 1
+mknod /dev/ptmx c 5 2
+mknod /dev/rtc c 10 135
+mknod /dev/tty0 c 4 0
+mknod /dev/tty1 c 4 1
+mknod /dev/tty2 c 4 2
+mknod /dev/tty3 c 4 3
+mknod /dev/tty4 c 4 4
+mknod /dev/tty5 c 4 5
+mknod /dev/tty6 c 4 6
+mknod /dev/tty7 c 4 7
+mknod /dev/tty8 c 4 8
+mknod /dev/tty9 c 4 9
+mknod /dev/tty10 c 4 10
+mknod /dev/tty11 c 4 11
+mknod /dev/tty12 c 4 12
+mknod /dev/ttyS0 c 4 64
+mknod /dev/ttyS1 c 4 65
+mknod /dev/ttyS2 c 4 66
+mknod /dev/ttyS3 c 4 67
+mknod /dev/loop0 b 7 0
+mknod /dev/loop1 b 7 1
+mknod /dev/loop2 b 7 2
+mknod /dev/loop3 b 7 3
+mknod /dev/loop4 b 7 4
+mknod /dev/loop5 b 7 5
+mknod /dev/loop6 b 7 6
+mknod /dev/loop7 b 7 7
+#mknod /dev/root b 7 1
+echo Setting up hotplug.
+hotplug
+echo Creating block device nodes.
+mkblkdevs
+echo "Loading jbd.ko module"
+modprobe jbd
+echo "Loading ext3.ko module"
+modprobe ext3
+echo "Loading dm-mod.ko module"
+modprobe dm-mod
+echo "Loading dm-mirror.ko module"
+modprobe dm-mirror
+echo "Loading dm-zero.ko module"
+modprobe dm-zero
+echo "Loading dm-snapshot.ko module"
+modprobe dm-snapshot
+echo Making device-mapper control node
+mkdmnod
+mkblkdevs
+echo Scanning logical volumes
+lvm vgscan --ignorelockingfailure
+echo Activating logical volumes
+lvm vgchange -ay --ignorelockingfailure VolGroup00
-# Make kernel don't mount root fs
-echo 0x100 > /proc/sys/kernel/real-root-dev
-echo "Mounting root filesystem"
+# Modprobe and find-live-cd
modprobe loop
modprobe squashfs
-mount -t squashfs -oloop,ro /cdrom/kadischi.sqsh /sysroot
-
-echo "Doing the pivot_root"
-cd /sysroot
-pivot_root /sysroot /sysroot/initrd
-cd /
-
-umount /initrd/proc
-umount /initrd/sys
+find-live-cd /cdrom
-#
-# FIXME: make this work with udev
-#
-# Mount a (writeable) ramfs at dev and populate it with nodes:
-mount -n -t ramfs initrd_dev /dev
+# Make kernel don't mount root fs
+echo 0x100 > /proc/sys/kernel/real-root-dev
-cd /dev
-for node in mem kmem null port zero core full ram ptmx tty pty shm cpu input agpgart dri cdrom console; do
- /initrd/sbin/MAKEDEV $node
-done
-# Mount pseudo-terminal fs at /dev/pts:
-mkdir /dev/pts
-mount -n -t devpts initrd_devpts /dev/pts
+echo "Mounting root filesystem"
+/bin/busybox mount -t squashfs -oloop,ro /cdrom/kadischi.sqsh /sysroot
+echo Creating root device.
+#echo "Doing the pivot_root"
+# mount /sysroot
+#pivot_root /sysroot /sysroot/initrd
+setuproot
-# readonly
echo "Setting up readonly-root"
-/etc/rc.readonly linuxrc
-
-# rc.readonly will umount both /initrd/tmp and /initrd
+/bin/busybox chroot /sysroot /etc/rc.readonly linuxrc
+switchroot
More information about the scm-commits
mailing list