[SM-Commit] GIT changes to master grimoire by David Brown (e713588a138e7344e89a435bce300c71f95d2baf)

David Brown scm at mail.sourcemage.org
Sun Jan 28 01:21:00 EST 2007


GIT changes to master grimoire by David Brown <dmlb2000 at gmail.com>:

 kernels/linux-initramfs/HISTORY       |    5 
 kernels/linux-initramfs/INSTALL       |    4 
 kernels/linux-initramfs/installkernel |   49 ++
 kernels/linux-initramfs/mkinitrd      |  683 ++++++++++++++++++++++++++++++++++
 kernels/linux/HISTORY                 |    5 
 kernels/linux/INSTALL                 |    4 
 kernels/linux/installkernel           |   49 --
 kernels/linux/mkinitrd                |  683 ----------------------------------
 8 files changed, 746 insertions(+), 736 deletions(-)

New commits:
commit e713588a138e7344e89a435bce300c71f95d2baf
Author: David Brown <dmlb2000 at gmail.com>
Commit: David Brown <dmlb2000 at gmail.com>

    moved mkinitrd and install kernel scripts to the linux-initramfs spell

diff --git a/kernels/linux-initramfs/HISTORY b/kernels/linux-initramfs/HISTORY
index 8a165b6..0ab6d34 100644
--- a/kernels/linux-initramfs/HISTORY
+++ b/kernels/linux-initramfs/HISTORY
@@ -1,3 +1,8 @@
+2007-01-27 David Brown <dmlb2000 at gmail.com>
+	* mkinitrd: added from linux spell
+	* installkernel: added from linux spell
+	* INSTALL: installed files from linux spell
+
 2007-01-10 David Brown <dmlb2000 at gmail.com>
 	* share/bb-modules.lst: added for busybox module list
 	* share/bb-initramfs.lst: added for listing of busybox initramfs
diff --git a/kernels/linux-initramfs/INSTALL b/kernels/linux-initramfs/INSTALL
index a544716..2ec5a30 100755
--- a/kernels/linux-initramfs/INSTALL
+++ b/kernels/linux-initramfs/INSTALL
@@ -10,4 +10,6 @@ do
   else
     install_config_file ${SPELL_DIRECTORY}/share/${file} ${INSTALL_ROOT}/usr/share/${SPELL}/${file}
   fi
-done
+done &&
+install -vm 755 -u root -g root ${SPELL_DIRECTORY}/mkinitrd ${INSTALL_ROOT}/sbin/ &&
+install -vm 755 -u root -g root ${SPELL_DIRECTORY/installkernel ${INSTALL_ROOT}/sbin/ 
diff --git a/kernels/linux-initramfs/installkernel b/kernels/linux-initramfs/installkernel
new file mode 100755
index 0000000..f16dd81
--- /dev/null
+++ b/kernels/linux-initramfs/installkernel
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+VERSION=$1
+IMAGE=$2
+SYSMAP=$3
+BOOT_DIR=${INSTALL_ROOT}$4
+BUILD_DIRECTORY=$(dirname `pwd`)
+
+kernel_arch=$(echo $IMAGE | cut -d/ -f2)
+
+mkdir -p ${BOOT_DIR} &&
+if grep 'CONFIG_MODULES=y' ./.config ; then
+	case "$VERSION" in
+		2.[0246]*)
+			echo "installing for a 2.x kernel" &&
+			ARCH="$kernel_arch" make INSTALL_MOD_PATH="${INSTALL_ROOT}" modules_install
+			;;
+		*)
+			echo "I again don't know what version: $VERSION is" &&
+			return 1
+			;;
+	esac
+fi &&
+echo "Copying and linking kernel" &&
+case  ${kernel_arch}  in
+	ppc)
+		cp vmlinux ${BOOT_DIR}/vmlinux-$VERSION &&
+		ln -sf vmlinux-${VERSION} ${BOOT_DIR}/vmlinux
+		;;
+	sparc*)
+		gzip -c9 vmlinux > ${BOOT_DIR}/vmlinuz-$VERSION &&
+		ln -sf vmlinuz-${VERSION} ${BOOT_DIR}/vmlinuz
+		;;
+	*)
+		cp $IMAGE ${BOOT_DIR}/vmlinuz-$VERSION &&
+		ln -sf vmlinuz-${VERSION} ${BOOT_DIR}/vmlinuz
+		;;
+esac &&
+echo "Copying and linking System.map" &&
+cp $SYSMAP ${BOOT_DIR}/System.map-${VERSION} &&
+ln -sf System.map-${VERSION} ${BOOT_DIR}/System.map &&
+echo "Copying and linking .config" &&
+cp .config ${BOOT_DIR}/config-${VERSION} &&
+ln -sf config-${VERSION} ${BOOT_DIR}/config &&
+# for people with boot partitions so grub can still find the kernel
+# if they reference /boot/vmlinuz in their menu.lst
+ln -sfn . ${BOOT_DIR}/boot
+ln -sfn $(pwd) ${BUILD_DIRECTORY}/linux
+
diff --git a/kernels/linux-initramfs/mkinitrd b/kernels/linux-initramfs/mkinitrd
new file mode 100755
index 0000000..6df5416
--- /dev/null
+++ b/kernels/linux-initramfs/mkinitrd
@@ -0,0 +1,683 @@
+#!/bin/bash
+
+FORCE_RAID=${FORCE_RAID:=false}
+FORCE_LVM=${FORCE_LVM:=false}
+USE_RAID=${USE_RAID:=false}
+USE_LVM=${USE_LVM:=false}
+BREAK_ON_MISSING=${BREAK_ON_MISSING:=true}
+REMOVE_OLD_INITRD=${REMOVE_OLD_INITRD:=false}
+
+MODULES=${MODULES:=}
+KVERSION=$(uname -r)
+INITRD_FILE=${INITRD_FILE:=/boot/initrd.img-$KVERSION}
+
+function usage()
+{
+	local usage=<<EOF
+	$0 [OPTIONS] -o <initrdfile> <kernel-version>
+EOF
+	echo $usage
+}
+
+function linuxrc_pre()
+{
+	cat <<-EOF
+#!/bin/sh.shared
+
+for module in \`cat /modules.lst\`
+do
+/sbin/insmod \$module
+done
+EOF
+}
+
+function linuxrc_raid()
+{
+	if $USE_RAID || $FORCE_RAID
+	then
+	cat <<-EOF
+/sbin/mdadm --assemble --scan
+EOF
+	fi
+}
+
+function linuxrc_lvm()
+{
+	if $USE_LVM || $FORCE_LVM
+	then
+	cat <<-EOF
+/sbin/mount -t proc proc /proc
+/sbin/dmsetup mknodes
+/sbin/vgscan --ignorelockingfailure --mknodes
+/sbin/vgchange -ay --ignorelockingfailure
+EOF
+	fi
+}
+
+function linuxrc_post()
+{
+	cat <<-EOF
+exec /bin/kinit "\$@"
+EOF
+}
+
+function default_parts()
+{
+	cat <<-EOF
+dir /dev 0755 0 0
+nod /dev/console 0600 0 0 c 5 1
+dir /root 0700 0 0
+slink /init linuxrc 0755 0 0
+file /linuxrc /tmp/linuxrc 0755 0 0
+EOF
+}
+
+function dir_parts()
+{
+	cat <<-EOF
+slink /sbin bin 0755 0 0
+dir /bin 0755 0 0
+dir /lib 0755 0 0
+dir /proc 0755 0 0
+dir /sys 0755 0 0
+dir /etc 0755 0 0
+dir /modules 0755 0 0
+EOF
+}
+
+function dev_parts()
+{
+	cat <<-EOF
+nod /dev/sda 660 0 6 b 8 0
+nod /dev/sda1 660 0 6 b 8 1
+nod /dev/sda10 660 0 6 b 8 10
+nod /dev/sda11 660 0 6 b 8 11
+nod /dev/sda12 660 0 6 b 8 12
+nod /dev/sda13 660 0 6 b 8 13
+nod /dev/sda14 660 0 6 b 8 14
+nod /dev/sda15 660 0 6 b 8 15
+nod /dev/sda2 660 0 6 b 8 2
+nod /dev/sda3 660 0 6 b 8 3
+nod /dev/sda4 660 0 6 b 8 4
+nod /dev/sda5 660 0 6 b 8 5
+nod /dev/sda6 660 0 6 b 8 6
+nod /dev/sda7 660 0 6 b 8 7
+nod /dev/sda8 660 0 6 b 8 8
+nod /dev/sda9 660 0 6 b 8 9
+nod /dev/sdb 660 0 6 b 8 16
+nod /dev/sdb1 660 0 6 b 8 17
+nod /dev/sdb10 660 0 6 b 8 26
+nod /dev/sdb11 660 0 6 b 8 27
+nod /dev/sdb12 660 0 6 b 8 28
+nod /dev/sdb13 660 0 6 b 8 29
+nod /dev/sdb14 660 0 6 b 8 30
+nod /dev/sdb15 660 0 6 b 8 31
+nod /dev/sdb2 660 0 6 b 8 18
+nod /dev/sdb3 660 0 6 b 8 19
+nod /dev/sdb4 660 0 6 b 8 20
+nod /dev/sdb5 660 0 6 b 8 21
+nod /dev/sdb6 660 0 6 b 8 22
+nod /dev/sdb7 660 0 6 b 8 23
+nod /dev/sdb8 660 0 6 b 8 24
+nod /dev/sdb9 660 0 6 b 8 25
+nod /dev/sdc 660 0 6 b 8 32
+nod /dev/sdc1 660 0 6 b 8 33
+nod /dev/sdc10 660 0 6 b 8 42
+nod /dev/sdc11 660 0 6 b 8 43
+nod /dev/sdc12 660 0 6 b 8 44
+nod /dev/sdc13 660 0 6 b 8 45
+nod /dev/sdc14 660 0 6 b 8 46
+nod /dev/sdc15 660 0 6 b 8 47
+nod /dev/sdc2 660 0 6 b 8 34
+nod /dev/sdc3 660 0 6 b 8 35
+nod /dev/sdc4 660 0 6 b 8 36
+nod /dev/sdc5 660 0 6 b 8 37
+nod /dev/sdc6 660 0 6 b 8 38
+nod /dev/sdc7 660 0 6 b 8 39
+nod /dev/sdc8 660 0 6 b 8 40
+nod /dev/sdc9 660 0 6 b 8 41
+nod /dev/sdd 660 0 6 b 8 48
+nod /dev/sdd1 660 0 6 b 8 49
+nod /dev/sdd10 660 0 6 b 8 58
+nod /dev/sdd11 660 0 6 b 8 59
+nod /dev/sdd12 660 0 6 b 8 60
+nod /dev/sdd13 660 0 6 b 8 61
+nod /dev/sdd14 660 0 6 b 8 62
+nod /dev/sdd15 660 0 6 b 8 63
+nod /dev/sdd2 660 0 6 b 8 50
+nod /dev/sdd3 660 0 6 b 8 51
+nod /dev/sdd4 660 0 6 b 8 52
+nod /dev/sdd5 660 0 6 b 8 53
+nod /dev/sdd6 660 0 6 b 8 54
+nod /dev/sdd7 660 0 6 b 8 55
+nod /dev/sdd8 660 0 6 b 8 56
+nod /dev/sdd9 660 0 6 b 8 57
+nod /dev/sde 660 0 6 b 8 64
+nod /dev/sde1 660 0 6 b 8 65
+nod /dev/sde10 660 0 6 b 8 74
+nod /dev/sde11 660 0 6 b 8 75
+nod /dev/sde12 660 0 6 b 8 76
+nod /dev/sde13 660 0 6 b 8 77
+nod /dev/sde14 660 0 6 b 8 78
+nod /dev/sde15 660 0 6 b 8 79
+nod /dev/sde2 660 0 6 b 8 66
+nod /dev/sde3 660 0 6 b 8 67
+nod /dev/sde4 660 0 6 b 8 68
+nod /dev/sde5 660 0 6 b 8 69
+nod /dev/sde6 660 0 6 b 8 70
+nod /dev/sde7 660 0 6 b 8 71
+nod /dev/sde8 660 0 6 b 8 72
+nod /dev/sde9 660 0 6 b 8 73
+nod /dev/sdf 660 0 6 b 8 80
+nod /dev/sdf1 660 0 6 b 8 81
+nod /dev/sdf10 660 0 6 b 8 90
+nod /dev/sdf11 660 0 6 b 8 91
+nod /dev/sdf12 660 0 6 b 8 92
+nod /dev/sdf13 660 0 6 b 8 93
+nod /dev/sdf14 660 0 6 b 8 94
+nod /dev/sdf15 660 0 6 b 8 95
+nod /dev/sdf2 660 0 6 b 8 82
+nod /dev/sdf3 660 0 6 b 8 83
+nod /dev/sdf4 660 0 6 b 8 84
+nod /dev/sdf5 660 0 6 b 8 85
+nod /dev/sdf6 660 0 6 b 8 86
+nod /dev/sdf7 660 0 6 b 8 87
+nod /dev/sdf8 660 0 6 b 8 88
+nod /dev/sdf9 660 0 6 b 8 89
+nod /dev/sdh 660 0 6 b 8 112
+nod /dev/sdh1 660 0 6 b 8 113
+nod /dev/sdh10 660 0 6 b 8 122
+nod /dev/sdh11 660 0 6 b 8 123
+nod /dev/sdh12 660 0 6 b 8 124
+nod /dev/sdh13 660 0 6 b 8 125
+nod /dev/sdh14 660 0 6 b 8 126
+nod /dev/sdh15 660 0 6 b 8 127
+nod /dev/sdh2 660 0 6 b 8 114
+nod /dev/sdh3 660 0 6 b 8 115
+nod /dev/sdh4 660 0 6 b 8 116
+nod /dev/sdh5 660 0 6 b 8 117
+nod /dev/sdh6 660 0 6 b 8 118
+nod /dev/sdh7 660 0 6 b 8 119
+nod /dev/sdh8 660 0 6 b 8 120
+nod /dev/sdh9 660 0 6 b 8 121
+nod /dev/sdi 660 0 6 b 8 128
+nod /dev/sdi1 660 0 6 b 8 129
+nod /dev/sdi10 660 0 6 b 8 138
+nod /dev/sdi11 660 0 6 b 8 139
+nod /dev/sdi12 660 0 6 b 8 140
+nod /dev/sdi13 660 0 6 b 8 141
+nod /dev/sdi14 660 0 6 b 8 142
+nod /dev/sdi15 660 0 6 b 8 143
+nod /dev/sdi2 660 0 6 b 8 130
+nod /dev/sdi3 660 0 6 b 8 131
+nod /dev/sdi4 660 0 6 b 8 132
+nod /dev/sdi5 660 0 6 b 8 133
+nod /dev/sdi6 660 0 6 b 8 134
+nod /dev/sdi7 660 0 6 b 8 135
+nod /dev/sdi8 660 0 6 b 8 136
+nod /dev/sdi9 660 0 6 b 8 137
+nod /dev/sdj 660 0 6 b 8 144
+nod /dev/sdj1 660 0 6 b 8 145
+nod /dev/sdj10 660 0 6 b 8 154
+nod /dev/sdj11 660 0 6 b 8 155
+nod /dev/sdj12 660 0 6 b 8 156
+nod /dev/sdj13 660 0 6 b 8 157
+nod /dev/sdj14 660 0 6 b 8 158
+nod /dev/sdj15 660 0 6 b 8 159
+nod /dev/sdj2 660 0 6 b 8 146
+nod /dev/sdj3 660 0 6 b 8 147
+nod /dev/sdj4 660 0 6 b 8 148
+nod /dev/sdj5 660 0 6 b 8 149
+nod /dev/sdj6 660 0 6 b 8 150
+nod /dev/sdj7 660 0 6 b 8 151
+nod /dev/sdj8 660 0 6 b 8 152
+nod /dev/sdj9 660 0 6 b 8 153
+nod /dev/sdk 660 0 6 b 8 160
+nod /dev/sdk1 660 0 6 b 8 161
+nod /dev/sdk10 660 0 6 b 8 170
+nod /dev/sdk11 660 0 6 b 8 171
+nod /dev/sdk12 660 0 6 b 8 172
+nod /dev/sdk13 660 0 6 b 8 173
+nod /dev/sdk14 660 0 6 b 8 174
+nod /dev/sdk15 660 0 6 b 8 175
+nod /dev/sdk2 660 0 6 b 8 162
+nod /dev/sdk3 660 0 6 b 8 163
+nod /dev/sdk4 660 0 6 b 8 164
+nod /dev/sdk5 660 0 6 b 8 165
+nod /dev/sdk6 660 0 6 b 8 166
+nod /dev/sdk7 660 0 6 b 8 167
+nod /dev/sdk8 660 0 6 b 8 168
+nod /dev/sdk9 660 0 6 b 8 169
+nod /dev/sdl 660 0 6 b 8 176
+nod /dev/sdl1 660 0 6 b 8 177
+nod /dev/sdl10 660 0 6 b 8 186
+nod /dev/sdl11 660 0 6 b 8 187
+nod /dev/sdl12 660 0 6 b 8 188
+nod /dev/sdl13 660 0 6 b 8 189
+nod /dev/sdl14 660 0 6 b 8 190
+nod /dev/sdl15 660 0 6 b 8 191
+nod /dev/sdl2 660 0 6 b 8 178
+nod /dev/sdl3 660 0 6 b 8 179
+nod /dev/sdl4 660 0 6 b 8 180
+nod /dev/sdl5 660 0 6 b 8 181
+nod /dev/sdl6 660 0 6 b 8 182
+nod /dev/sdl7 660 0 6 b 8 183
+nod /dev/sdl8 660 0 6 b 8 184
+nod /dev/sdl9 660 0 6 b 8 185
+nod /dev/hda 660 0 6 b 3 0
+nod /dev/hda1 660 0 6 b 3 1
+nod /dev/hda10 660 0 6 b 3 10
+nod /dev/hda11 660 0 6 b 3 11
+nod /dev/hda12 660 0 6 b 3 12
+nod /dev/hda13 660 0 6 b 3 13
+nod /dev/hda14 660 0 6 b 3 14
+nod /dev/hda15 660 0 6 b 3 15
+nod /dev/hda16 660 0 6 b 3 16
+nod /dev/hda17 660 0 6 b 3 17
+nod /dev/hda18 660 0 6 b 3 18
+nod /dev/hda19 660 0 6 b 3 19
+nod /dev/hda2 660 0 6 b 3 2
+nod /dev/hda20 660 0 6 b 3 20
+nod /dev/hda3 660 0 6 b 3 3
+nod /dev/hda4 660 0 6 b 3 4
+nod /dev/hda5 660 0 6 b 3 5
+nod /dev/hda6 660 0 6 b 3 6
+nod /dev/hda7 660 0 6 b 3 7
+nod /dev/hda8 660 0 6 b 3 8
+nod /dev/hda9 660 0 6 b 3 9
+nod /dev/hdb 660 0 6 b 3 64
+nod /dev/hdb1 660 0 6 b 3 65
+nod /dev/hdb10 660 0 6 b 3 74
+nod /dev/hdb11 660 0 6 b 3 75
+nod /dev/hdb12 660 0 6 b 3 76
+nod /dev/hdb13 660 0 6 b 3 77
+nod /dev/hdb14 660 0 6 b 3 78
+nod /dev/hdb15 660 0 6 b 3 79
+nod /dev/hdb16 660 0 6 b 3 80
+nod /dev/hdb17 660 0 6 b 3 81
+nod /dev/hdb18 660 0 6 b 3 82
+nod /dev/hdb19 660 0 6 b 3 83
+nod /dev/hdb2 660 0 6 b 3 66
+nod /dev/hdb20 660 0 6 b 3 84
+nod /dev/hdb3 660 0 6 b 3 67
+nod /dev/hdb4 660 0 6 b 3 68
+nod /dev/hdb5 660 0 6 b 3 69
+nod /dev/hdb6 660 0 6 b 3 70
+nod /dev/hdb7 660 0 6 b 3 71
+nod /dev/hdb8 660 0 6 b 3 72
+nod /dev/hdb9 660 0 6 b 3 73
+nod /dev/hdc 660 0 6 b 22 0
+nod /dev/hdc1 660 0 6 b 22 1
+nod /dev/hdc10 660 0 6 b 22 10
+nod /dev/hdc11 660 0 6 b 22 11
+nod /dev/hdc12 660 0 6 b 22 12
+nod /dev/hdc13 660 0 6 b 22 13
+nod /dev/hdc14 660 0 6 b 22 14
+nod /dev/hdc15 660 0 6 b 22 15
+nod /dev/hdc16 660 0 6 b 22 16
+nod /dev/hdc17 660 0 6 b 22 17
+nod /dev/hdc18 660 0 6 b 22 18
+nod /dev/hdc19 660 0 6 b 22 19
+nod /dev/hdc2 660 0 6 b 22 2
+nod /dev/hdc20 660 0 6 b 22 20
+nod /dev/hdc3 660 0 6 b 22 3
+nod /dev/hdc4 660 0 6 b 22 4
+nod /dev/hdc5 660 0 6 b 22 5
+nod /dev/hdc6 660 0 6 b 22 6
+nod /dev/hdc7 660 0 6 b 22 7
+nod /dev/hdc8 660 0 6 b 22 8
+nod /dev/hdc9 660 0 6 b 22 9
+nod /dev/hdd 660 0 6 b 22 64
+nod /dev/hdd1 660 0 6 b 22 65
+nod /dev/hdd10 660 0 6 b 22 74
+nod /dev/hdd11 660 0 6 b 22 75
+nod /dev/hdd12 660 0 6 b 22 76
+nod /dev/hdd13 660 0 6 b 22 77
+nod /dev/hdd14 660 0 6 b 22 78
+nod /dev/hdd15 660 0 6 b 22 79
+nod /dev/hdd16 660 0 6 b 22 80
+nod /dev/hdd17 660 0 6 b 22 81
+nod /dev/hdd18 660 0 6 b 22 82
+nod /dev/hdd19 660 0 6 b 22 83
+nod /dev/hdd2 660 0 6 b 22 66
+nod /dev/hdd20 660 0 6 b 22 84
+nod /dev/hdd3 660 0 6 b 22 67
+nod /dev/hdd4 660 0 6 b 22 68
+nod /dev/hdd5 660 0 6 b 22 69
+nod /dev/hdd6 660 0 6 b 22 70
+nod /dev/hdd7 660 0 6 b 22 71
+nod /dev/hdd8 660 0 6 b 22 72
+nod /dev/hdd9 660 0 6 b 22 73
+nod /dev/hde 660 0 6 b 33 0
+nod /dev/hde1 660 0 6 b 33 1
+nod /dev/hde10 660 0 6 b 33 10
+nod /dev/hde11 660 0 6 b 33 11
+nod /dev/hde12 660 0 6 b 33 12
+nod /dev/hde13 660 0 6 b 33 13
+nod /dev/hde14 660 0 6 b 33 14
+nod /dev/hde15 660 0 6 b 33 15
+nod /dev/hde16 660 0 6 b 33 16
+nod /dev/hde17 660 0 6 b 33 17
+nod /dev/hde18 660 0 6 b 33 18
+nod /dev/hde19 660 0 6 b 33 19
+nod /dev/hde2 660 0 6 b 33 2
+nod /dev/hde20 660 0 6 b 33 20
+nod /dev/hde3 660 0 6 b 33 3
+nod /dev/hde4 660 0 6 b 33 4
+nod /dev/hde5 660 0 6 b 33 5
+nod /dev/hde6 660 0 6 b 33 6
+nod /dev/hde7 660 0 6 b 33 7
+nod /dev/hde8 660 0 6 b 33 8
+nod /dev/hde9 660 0 6 b 33 9
+nod /dev/hdf 660 0 6 b 33 64
+nod /dev/hdf1 660 0 6 b 33 65
+nod /dev/hdf10 660 0 6 b 33 74
+nod /dev/hdf11 660 0 6 b 33 75
+nod /dev/hdf12 660 0 6 b 33 76
+nod /dev/hdf13 660 0 6 b 33 77
+nod /dev/hdf14 660 0 6 b 33 78
+nod /dev/hdf15 660 0 6 b 33 79
+nod /dev/hdf16 660 0 6 b 33 80
+nod /dev/hdf17 660 0 6 b 33 81
+nod /dev/hdf18 660 0 6 b 33 82
+nod /dev/hdf19 660 0 6 b 33 83
+nod /dev/hdf2 660 0 6 b 33 66
+nod /dev/hdf20 660 0 6 b 33 84
+nod /dev/hdf3 660 0 6 b 33 67
+nod /dev/hdf4 660 0 6 b 33 68
+nod /dev/hdf5 660 0 6 b 33 69
+nod /dev/hdf6 660 0 6 b 33 70
+nod /dev/hdf7 660 0 6 b 33 71
+nod /dev/hdf8 660 0 6 b 33 72
+nod /dev/hdf9 660 0 6 b 33 73
+nod /dev/hdg 660 0 6 b 34 0
+nod /dev/hdg1 660 0 6 b 34 1
+nod /dev/hdg10 660 0 6 b 34 10
+nod /dev/hdg11 660 0 6 b 34 11
+nod /dev/hdg12 660 0 6 b 34 12
+nod /dev/hdg13 660 0 6 b 34 13
+nod /dev/hdg14 660 0 6 b 34 14
+nod /dev/hdg15 660 0 6 b 34 15
+nod /dev/hdg16 660 0 6 b 34 16
+nod /dev/hdg17 660 0 6 b 34 17
+nod /dev/hdg18 660 0 6 b 34 18
+nod /dev/hdg19 660 0 6 b 34 19
+nod /dev/hdg2 660 0 6 b 34 2
+nod /dev/hdg20 660 0 6 b 34 20
+nod /dev/hdg3 660 0 6 b 34 3
+nod /dev/hdg4 660 0 6 b 34 4
+nod /dev/hdg5 660 0 6 b 34 5
+nod /dev/hdg6 660 0 6 b 34 6
+nod /dev/hdg7 660 0 6 b 34 7
+nod /dev/hdg8 660 0 6 b 34 8
+nod /dev/hdg9 660 0 6 b 34 9
+nod /dev/hdh 660 0 6 b 34 64
+nod /dev/hdh1 660 0 6 b 34 65
+nod /dev/hdh10 660 0 6 b 34 74
+nod /dev/hdh11 660 0 6 b 34 75
+nod /dev/hdh12 660 0 6 b 34 76
+nod /dev/hdh13 660 0 6 b 34 77
+nod /dev/hdh14 660 0 6 b 34 78
+nod /dev/hdh15 660 0 6 b 34 79
+nod /dev/hdh16 660 0 6 b 34 80
+nod /dev/hdh17 660 0 6 b 34 81
+nod /dev/hdh18 660 0 6 b 34 82
+nod /dev/hdh19 660 0 6 b 34 83
+nod /dev/hdh2 660 0 6 b 34 66
+nod /dev/hdh20 660 0 6 b 34 84
+nod /dev/hdh3 660 0 6 b 34 67
+nod /dev/hdh4 660 0 6 b 34 68
+nod /dev/hdh5 660 0 6 b 34 69
+nod /dev/hdh6 660 0 6 b 34 70
+nod /dev/hdh7 660 0 6 b 34 71
+nod /dev/hdh8 660 0 6 b 34 72
+nod /dev/hdh9 660 0 6 b 34 73
+nod /dev/loop0 660 0 6 b 7 0
+nod /dev/loop1 660 0 6 b 7 1
+nod /dev/loop10 660 0 6 b 7 10
+nod /dev/loop11 660 0 6 b 7 11
+nod /dev/loop12 660 0 6 b 7 12
+nod /dev/loop13 660 0 6 b 7 13
+nod /dev/loop14 660 0 6 b 7 14
+nod /dev/loop15 660 0 6 b 7 15
+nod /dev/loop2 660 0 6 b 7 2
+nod /dev/loop3 660 0 6 b 7 3
+nod /dev/loop4 660 0 6 b 7 4
+nod /dev/loop5 660 0 6 b 7 5
+nod /dev/loop6 660 0 6 b 7 6
+nod /dev/loop7 660 0 6 b 7 7
+nod /dev/loop8 660 0 6 b 7 8
+nod /dev/loop9 660 0 6 b 7 9
+nod /dev/ram0 660 0 6 b 1 0
+nod /dev/ram1 660 0 6 b 1 1
+nod /dev/ram2 660 0 6 b 1 2
+nod /dev/ram3 660 0 6 b 1 3
+EOF
+}
+
+function module_parts()
+{
+	local module
+	local full_path_module
+	rm -f /tmp/modules.lst
+	touch /tmp/modules.lst
+	echo "file /modules.lst /tmp/modules.lst 0644 0 0"
+	for module in $MODULES
+	do
+		full_path_module=$(find /lib/modules/${KVERSION}/kernel | grep "/$module.ko\|/${module//-/_}.ko\|/${module//_/-}.ko")
+		echo /modules/$(basename $full_path_module) >> /tmp/modules.lst
+		cat <<-EOF
+		file /modules/$(basename $full_path_module) $full_path_module 0644 0 0
+		EOF
+	done
+}
+
+function klibc_parts()
+{
+	local file
+	for file in /usr/lib/klibc/bin/*
+	do
+		echo "file /bin/$(basename $file) $file 0755 0 0"
+	done
+	for file in /usr/lib/klibc/lib/*
+	do
+		echo "file /lib/$(basename $file) $file 0755 0 0"
+	done
+}
+
+function raid_parts()
+{
+	if $USE_RAID || $FORCE_RAID
+	then
+	cat <<-EOF
+file /sbin/mdadm /sbin/mdadm.static 0755 0 0
+file /etc/mdadm.conf /etc/mdadm.conf 0644 0 0
+EOF
+	fi
+}
+
+function lvm_parts()
+{
+	if $USE_LVM || $FORCE_LVM
+	then
+	cat <<-EOF
+dir /etc/lvm 0755 0 0
+file /etc/lvm/lvm.conf /etc/lvm/lvm.conf 0644 0 0
+file /sbin/lvm /usr/sbin/lvm.static 0755 0 0
+EOF
+	local link
+	for link in lvs pvs vgs vgck lvconvert lvdisplay pvchange pvcreate \
+		vgmknodes pvremove pvresize lvmchange lvmdump lvmsadc \
+		vgcfgrestore lvmdiskscan pvdisplay lvmsar lvscan vgchange \
+		vgcreate pvmove pvscan vgexport vgextend vgimport vgscan \
+		vgmerge vgsplit lvchange lvcreate lvextend vgreduce vgrename \
+		vgremove vgconvert vgcfgbackup lvreduce lvrename lvremove \
+		lvresize vgdisplay 
+	do
+		echo "slink /sbin/$link lvm 0755 0 0"
+	done
+	echo "file /sbin/dmsetup /sbin/dmsetup.static 0755 0 0"
+	fi
+}
+
+function rec_fill_modules()
+{
+	local dep_modules
+	local module=$1
+	local dep_module
+	dep_modules=$(grep "/$module.ko:\|/${module//-/_}.ko:\|/${module//_/-}.ko:" /lib/modules/$KVERSION/modules.dep)
+	if [[ -z $dep_modules ]]
+	then
+		echo "# Bahh!!! couldn't find dependent module $module"
+		if $BREAK_ON_MISSING
+		then
+			exit -1
+		else
+			return 0
+		fi
+	fi
+	dep_modules=$(echo $dep_modules | cut -d: -f2-)
+	if ! echo $MODULES | grep -q " $module"
+	then
+		if [[ $dep_modules ]]
+		then
+			for dep_module in $dep_modules
+			do
+				dep_module=$(basename $dep_module)
+				rec_fill_modules ${dep_module/.ko}
+			done
+		fi
+		MODULES="${MODULES} $module"
+	fi
+}
+
+function fill_root_driver()
+{
+	local module
+	# there should be a better way to 'detect' what this is but...
+	for module in `cat /etc/modules`
+	do
+		if ! echo $MODULES | grep -q " $module"
+		then
+			rec_fill_modules ${module}
+		fi
+	done
+}
+
+function fill_root_filesystem()
+{
+	local filesystem=$(mount | grep ' / ' | tail -n 1 | cut -d' ' -f5)
+	rec_fill_modules $filesystem
+}
+
+function fill_modules()
+{
+	if $USE_RAID || $FORCE_RAID
+	then
+		rec_fill_modules raid0
+		rec_fill_modules raid1
+		rec_fill_modules raid10
+		rec_fill_modules raid5
+		rec_fill_modules raid6
+		rec_fill_modules raid456
+	fi
+	if $USE_LVM || $FORCE_LVM
+	then
+		rec_fill_modules dm-mod
+	fi
+	fill_root_driver
+	fill_root_filesystem
+}
+
+function check_raid()
+{
+	if [[ -f /etc/mdadm.conf && -x /sbin/mdadm.static ]]
+	then
+		USE_RAID=true
+	else
+		USE_RAID=false
+	fi
+}
+
+function check_lvm()
+{
+	if [[ -f /etc/lvm/lvm.conf && -x /usr/sbin/lvm.static && -x /sbin/dmsetup.static ]]
+	then
+		USE_LVM=true
+	else
+		USE_LVM=false
+	fi
+}
+
+while [[ $1 ]]
+do
+	case $1 in
+		-v|--version)
+			echo "Source Mage GNU/Linux mkinitrd v0.1"
+			usage
+			exit 0
+		;;
+		--enable-raid)
+			FORCE_RAID=true
+		;;
+		--enable-lvm)
+			FORCE_LVM=true
+		;;
+		--disable-raid)
+			FORCE_RAID=false
+		;;
+		--disable-lvm)
+			FORCE_LVM=false
+		;;
+		-f|--force)
+			REMOVE_OLD_INITRD=true
+		;;
+		--ignore-missing)
+			BREAK_ON_MISSING=false
+		;;
+		-m|--with-module)
+			MODULES="${MODULES} ${2}"
+			shift
+		;;
+		-o|--output)
+			INITRD_FILE="${2}"
+			shift
+		;;
+		2.[46]*)
+			KVERSION=$1
+		;;
+		*)
+			echo "Caught a second option that looks like the file"
+			usage
+			exit 1
+		;;
+
+	esac &&
+	shift
+done
+
+check_raid
+check_lvm
+fill_modules
+(
+	default_parts
+	dev_parts
+	dir_parts
+	module_parts
+	klibc_parts
+	raid_parts
+	lvm_parts	
+) > /tmp/initrd.lst
+(
+	linuxrc_pre
+	linuxrc_raid
+	linuxrc_lvm
+	linuxrc_post
+) > /tmp/linuxrc
+if ! [[ -x /lib/modules/$KVERSION/build/usr/gen_init_cpio ]]
+then
+  echo "Bah!!! can't find the gen_init_cpio file is your kernel built?"
+  usage
+  exit -1
+fi
+/lib/modules/$KVERSION/build/usr/gen_init_cpio /tmp/initrd.lst | gzip -c > $INITRD_FILE
diff --git a/kernels/linux/HISTORY b/kernels/linux/HISTORY
index fa4ad56..96fe13a 100644
--- a/kernels/linux/HISTORY
+++ b/kernels/linux/HISTORY
@@ -1,3 +1,8 @@
+2007-01-28 David Brown <dmlb2000 at gmail.com>
+	* mkinitrd: moved to linux-initramfs spell
+	* installkernel: moved to linux-initramfs spell
+	* INSTALL: removed install of mkinitrd and installkernel
+
 2007-01-27 David Brown <dmlb2000 at gmail.com>
 	* mkinitrd: created and added mount proc and fixed dev parts
 	* INSTALL: added install of installkernel and mkinitrd
diff --git a/kernels/linux/INSTALL b/kernels/linux/INSTALL
index db03193..fb108c7 100755
--- a/kernels/linux/INSTALL
+++ b/kernels/linux/INSTALL
@@ -59,8 +59,6 @@ if [[ -z "$INTERNAL_ISO_VAR" ]] ; then
 	${INSTALL_ROOT}/boot/config &&
 	# for people with boot partitions so grub can still find the kernel
 	# if they reference /boot/vmlinuz in their menu.lst
-	ln -sfn . ${INSTALL_ROOT}/boot/boot &&
-	install -vm 0755 -o root -g root ${SPELL_DIRECTORY}/installkernel ${INSTALL_ROOT}/sbin/ &&
-	install -vm 0755 -o root -g root ${SPELL_DIRECTORY}/mkinitrd ${INSTALL_ROOT}/sbin/
+	ln -sfn . ${INSTALL_ROOT}/boot/boot 
 fi &&
 ln -sfn `basename ${LINUX_SOURCE_DIRECTORY}` ${BUILD_DIRECTORY}/linux 
diff --git a/kernels/linux/installkernel b/kernels/linux/installkernel
deleted file mode 100755
index f16dd81..0000000
--- a/kernels/linux/installkernel
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-VERSION=$1
-IMAGE=$2
-SYSMAP=$3
-BOOT_DIR=${INSTALL_ROOT}$4
-BUILD_DIRECTORY=$(dirname `pwd`)
-
-kernel_arch=$(echo $IMAGE | cut -d/ -f2)
-
-mkdir -p ${BOOT_DIR} &&
-if grep 'CONFIG_MODULES=y' ./.config ; then
-	case "$VERSION" in
-		2.[0246]*)
-			echo "installing for a 2.x kernel" &&
-			ARCH="$kernel_arch" make INSTALL_MOD_PATH="${INSTALL_ROOT}" modules_install
-			;;
-		*)
-			echo "I again don't know what version: $VERSION is" &&
-			return 1
-			;;
-	esac
-fi &&
-echo "Copying and linking kernel" &&
-case  ${kernel_arch}  in
-	ppc)
-		cp vmlinux ${BOOT_DIR}/vmlinux-$VERSION &&
-		ln -sf vmlinux-${VERSION} ${BOOT_DIR}/vmlinux
-		;;
-	sparc*)
-		gzip -c9 vmlinux > ${BOOT_DIR}/vmlinuz-$VERSION &&
-		ln -sf vmlinuz-${VERSION} ${BOOT_DIR}/vmlinuz
-		;;
-	*)
-		cp $IMAGE ${BOOT_DIR}/vmlinuz-$VERSION &&
-		ln -sf vmlinuz-${VERSION} ${BOOT_DIR}/vmlinuz
-		;;
-esac &&
-echo "Copying and linking System.map" &&
-cp $SYSMAP ${BOOT_DIR}/System.map-${VERSION} &&
-ln -sf System.map-${VERSION} ${BOOT_DIR}/System.map &&
-echo "Copying and linking .config" &&
-cp .config ${BOOT_DIR}/config-${VERSION} &&
-ln -sf config-${VERSION} ${BOOT_DIR}/config &&
-# for people with boot partitions so grub can still find the kernel
-# if they reference /boot/vmlinuz in their menu.lst
-ln -sfn . ${BOOT_DIR}/boot
-ln -sfn $(pwd) ${BUILD_DIRECTORY}/linux
-
diff --git a/kernels/linux/mkinitrd b/kernels/linux/mkinitrd
deleted file mode 100755
index 6df5416..0000000
--- a/kernels/linux/mkinitrd
+++ /dev/null
@@ -1,683 +0,0 @@
-#!/bin/bash
-
-FORCE_RAID=${FORCE_RAID:=false}
-FORCE_LVM=${FORCE_LVM:=false}
-USE_RAID=${USE_RAID:=false}
-USE_LVM=${USE_LVM:=false}
-BREAK_ON_MISSING=${BREAK_ON_MISSING:=true}
-REMOVE_OLD_INITRD=${REMOVE_OLD_INITRD:=false}
-
-MODULES=${MODULES:=}
-KVERSION=$(uname -r)
-INITRD_FILE=${INITRD_FILE:=/boot/initrd.img-$KVERSION}
-
-function usage()
-{
-	local usage=<<EOF
-	$0 [OPTIONS] -o <initrdfile> <kernel-version>
-EOF
-	echo $usage
-}
-
-function linuxrc_pre()
-{
-	cat <<-EOF
-#!/bin/sh.shared
-
-for module in \`cat /modules.lst\`
-do
-/sbin/insmod \$module
-done
-EOF
-}
-
-function linuxrc_raid()
-{
-	if $USE_RAID || $FORCE_RAID
-	then
-	cat <<-EOF
-/sbin/mdadm --assemble --scan
-EOF
-	fi
-}
-
-function linuxrc_lvm()
-{
-	if $USE_LVM || $FORCE_LVM
-	then
-	cat <<-EOF
-/sbin/mount -t proc proc /proc
-/sbin/dmsetup mknodes
-/sbin/vgscan --ignorelockingfailure --mknodes
-/sbin/vgchange -ay --ignorelockingfailure
-EOF
-	fi
-}
-
-function linuxrc_post()
-{
-	cat <<-EOF
-exec /bin/kinit "\$@"
-EOF
-}
-
-function default_parts()
-{
-	cat <<-EOF
-dir /dev 0755 0 0
-nod /dev/console 0600 0 0 c 5 1
-dir /root 0700 0 0
-slink /init linuxrc 0755 0 0
-file /linuxrc /tmp/linuxrc 0755 0 0
-EOF
-}
-
-function dir_parts()
-{
-	cat <<-EOF
-slink /sbin bin 0755 0 0
-dir /bin 0755 0 0
-dir /lib 0755 0 0
-dir /proc 0755 0 0
-dir /sys 0755 0 0
-dir /etc 0755 0 0
-dir /modules 0755 0 0
-EOF
-}
-
-function dev_parts()
-{
-	cat <<-EOF
-nod /dev/sda 660 0 6 b 8 0
-nod /dev/sda1 660 0 6 b 8 1
-nod /dev/sda10 660 0 6 b 8 10
-nod /dev/sda11 660 0 6 b 8 11
-nod /dev/sda12 660 0 6 b 8 12
-nod /dev/sda13 660 0 6 b 8 13
-nod /dev/sda14 660 0 6 b 8 14
-nod /dev/sda15 660 0 6 b 8 15
-nod /dev/sda2 660 0 6 b 8 2
-nod /dev/sda3 660 0 6 b 8 3
-nod /dev/sda4 660 0 6 b 8 4
-nod /dev/sda5 660 0 6 b 8 5
-nod /dev/sda6 660 0 6 b 8 6
-nod /dev/sda7 660 0 6 b 8 7
-nod /dev/sda8 660 0 6 b 8 8
-nod /dev/sda9 660 0 6 b 8 9
-nod /dev/sdb 660 0 6 b 8 16
-nod /dev/sdb1 660 0 6 b 8 17
-nod /dev/sdb10 660 0 6 b 8 26
-nod /dev/sdb11 660 0 6 b 8 27
-nod /dev/sdb12 660 0 6 b 8 28
-nod /dev/sdb13 660 0 6 b 8 29
-nod /dev/sdb14 660 0 6 b 8 30
-nod /dev/sdb15 660 0 6 b 8 31
-nod /dev/sdb2 660 0 6 b 8 18
-nod /dev/sdb3 660 0 6 b 8 19
-nod /dev/sdb4 660 0 6 b 8 20
-nod /dev/sdb5 660 0 6 b 8 21
-nod /dev/sdb6 660 0 6 b 8 22
-nod /dev/sdb7 660 0 6 b 8 23
-nod /dev/sdb8 660 0 6 b 8 24
-nod /dev/sdb9 660 0 6 b 8 25
-nod /dev/sdc 660 0 6 b 8 32
-nod /dev/sdc1 660 0 6 b 8 33
-nod /dev/sdc10 660 0 6 b 8 42
-nod /dev/sdc11 660 0 6 b 8 43
-nod /dev/sdc12 660 0 6 b 8 44
-nod /dev/sdc13 660 0 6 b 8 45
-nod /dev/sdc14 660 0 6 b 8 46
-nod /dev/sdc15 660 0 6 b 8 47
-nod /dev/sdc2 660 0 6 b 8 34
-nod /dev/sdc3 660 0 6 b 8 35
-nod /dev/sdc4 660 0 6 b 8 36
-nod /dev/sdc5 660 0 6 b 8 37
-nod /dev/sdc6 660 0 6 b 8 38
-nod /dev/sdc7 660 0 6 b 8 39
-nod /dev/sdc8 660 0 6 b 8 40
-nod /dev/sdc9 660 0 6 b 8 41
-nod /dev/sdd 660 0 6 b 8 48
-nod /dev/sdd1 660 0 6 b 8 49
-nod /dev/sdd10 660 0 6 b 8 58
-nod /dev/sdd11 660 0 6 b 8 59
-nod /dev/sdd12 660 0 6 b 8 60
-nod /dev/sdd13 660 0 6 b 8 61
-nod /dev/sdd14 660 0 6 b 8 62
-nod /dev/sdd15 660 0 6 b 8 63
-nod /dev/sdd2 660 0 6 b 8 50
-nod /dev/sdd3 660 0 6 b 8 51
-nod /dev/sdd4 660 0 6 b 8 52
-nod /dev/sdd5 660 0 6 b 8 53
-nod /dev/sdd6 660 0 6 b 8 54
-nod /dev/sdd7 660 0 6 b 8 55
-nod /dev/sdd8 660 0 6 b 8 56
-nod /dev/sdd9 660 0 6 b 8 57
-nod /dev/sde 660 0 6 b 8 64
-nod /dev/sde1 660 0 6 b 8 65
-nod /dev/sde10 660 0 6 b 8 74
-nod /dev/sde11 660 0 6 b 8 75
-nod /dev/sde12 660 0 6 b 8 76
-nod /dev/sde13 660 0 6 b 8 77
-nod /dev/sde14 660 0 6 b 8 78
-nod /dev/sde15 660 0 6 b 8 79
-nod /dev/sde2 660 0 6 b 8 66
-nod /dev/sde3 660 0 6 b 8 67
-nod /dev/sde4 660 0 6 b 8 68
-nod /dev/sde5 660 0 6 b 8 69
-nod /dev/sde6 660 0 6 b 8 70
-nod /dev/sde7 660 0 6 b 8 71
-nod /dev/sde8 660 0 6 b 8 72
-nod /dev/sde9 660 0 6 b 8 73
-nod /dev/sdf 660 0 6 b 8 80
-nod /dev/sdf1 660 0 6 b 8 81
-nod /dev/sdf10 660 0 6 b 8 90
-nod /dev/sdf11 660 0 6 b 8 91
-nod /dev/sdf12 660 0 6 b 8 92
-nod /dev/sdf13 660 0 6 b 8 93
-nod /dev/sdf14 660 0 6 b 8 94
-nod /dev/sdf15 660 0 6 b 8 95
-nod /dev/sdf2 660 0 6 b 8 82
-nod /dev/sdf3 660 0 6 b 8 83
-nod /dev/sdf4 660 0 6 b 8 84
-nod /dev/sdf5 660 0 6 b 8 85
-nod /dev/sdf6 660 0 6 b 8 86
-nod /dev/sdf7 660 0 6 b 8 87
-nod /dev/sdf8 660 0 6 b 8 88
-nod /dev/sdf9 660 0 6 b 8 89
-nod /dev/sdh 660 0 6 b 8 112
-nod /dev/sdh1 660 0 6 b 8 113
-nod /dev/sdh10 660 0 6 b 8 122
-nod /dev/sdh11 660 0 6 b 8 123
-nod /dev/sdh12 660 0 6 b 8 124
-nod /dev/sdh13 660 0 6 b 8 125
-nod /dev/sdh14 660 0 6 b 8 126
-nod /dev/sdh15 660 0 6 b 8 127
-nod /dev/sdh2 660 0 6 b 8 114
-nod /dev/sdh3 660 0 6 b 8 115
-nod /dev/sdh4 660 0 6 b 8 116
-nod /dev/sdh5 660 0 6 b 8 117
-nod /dev/sdh6 660 0 6 b 8 118
-nod /dev/sdh7 660 0 6 b 8 119
-nod /dev/sdh8 660 0 6 b 8 120
-nod /dev/sdh9 660 0 6 b 8 121
-nod /dev/sdi 660 0 6 b 8 128
-nod /dev/sdi1 660 0 6 b 8 129
-nod /dev/sdi10 660 0 6 b 8 138
-nod /dev/sdi11 660 0 6 b 8 139
-nod /dev/sdi12 660 0 6 b 8 140
-nod /dev/sdi13 660 0 6 b 8 141
-nod /dev/sdi14 660 0 6 b 8 142
-nod /dev/sdi15 660 0 6 b 8 143
-nod /dev/sdi2 660 0 6 b 8 130
-nod /dev/sdi3 660 0 6 b 8 131
-nod /dev/sdi4 660 0 6 b 8 132
-nod /dev/sdi5 660 0 6 b 8 133
-nod /dev/sdi6 660 0 6 b 8 134
-nod /dev/sdi7 660 0 6 b 8 135
-nod /dev/sdi8 660 0 6 b 8 136
-nod /dev/sdi9 660 0 6 b 8 137
-nod /dev/sdj 660 0 6 b 8 144
-nod /dev/sdj1 660 0 6 b 8 145
-nod /dev/sdj10 660 0 6 b 8 154
-nod /dev/sdj11 660 0 6 b 8 155
-nod /dev/sdj12 660 0 6 b 8 156
-nod /dev/sdj13 660 0 6 b 8 157
-nod /dev/sdj14 660 0 6 b 8 158
-nod /dev/sdj15 660 0 6 b 8 159
-nod /dev/sdj2 660 0 6 b 8 146
-nod /dev/sdj3 660 0 6 b 8 147
-nod /dev/sdj4 660 0 6 b 8 148
-nod /dev/sdj5 660 0 6 b 8 149
-nod /dev/sdj6 660 0 6 b 8 150
-nod /dev/sdj7 660 0 6 b 8 151
-nod /dev/sdj8 660 0 6 b 8 152
-nod /dev/sdj9 660 0 6 b 8 153
-nod /dev/sdk 660 0 6 b 8 160
-nod /dev/sdk1 660 0 6 b 8 161
-nod /dev/sdk10 660 0 6 b 8 170
-nod /dev/sdk11 660 0 6 b 8 171
-nod /dev/sdk12 660 0 6 b 8 172
-nod /dev/sdk13 660 0 6 b 8 173
-nod /dev/sdk14 660 0 6 b 8 174
-nod /dev/sdk15 660 0 6 b 8 175
-nod /dev/sdk2 660 0 6 b 8 162
-nod /dev/sdk3 660 0 6 b 8 163
-nod /dev/sdk4 660 0 6 b 8 164
-nod /dev/sdk5 660 0 6 b 8 165
-nod /dev/sdk6 660 0 6 b 8 166
-nod /dev/sdk7 660 0 6 b 8 167
-nod /dev/sdk8 660 0 6 b 8 168
-nod /dev/sdk9 660 0 6 b 8 169
-nod /dev/sdl 660 0 6 b 8 176
-nod /dev/sdl1 660 0 6 b 8 177
-nod /dev/sdl10 660 0 6 b 8 186
-nod /dev/sdl11 660 0 6 b 8 187
-nod /dev/sdl12 660 0 6 b 8 188
-nod /dev/sdl13 660 0 6 b 8 189
-nod /dev/sdl14 660 0 6 b 8 190
-nod /dev/sdl15 660 0 6 b 8 191
-nod /dev/sdl2 660 0 6 b 8 178
-nod /dev/sdl3 660 0 6 b 8 179
-nod /dev/sdl4 660 0 6 b 8 180
-nod /dev/sdl5 660 0 6 b 8 181
-nod /dev/sdl6 660 0 6 b 8 182
-nod /dev/sdl7 660 0 6 b 8 183
-nod /dev/sdl8 660 0 6 b 8 184
-nod /dev/sdl9 660 0 6 b 8 185
-nod /dev/hda 660 0 6 b 3 0
-nod /dev/hda1 660 0 6 b 3 1
-nod /dev/hda10 660 0 6 b 3 10
-nod /dev/hda11 660 0 6 b 3 11
-nod /dev/hda12 660 0 6 b 3 12
-nod /dev/hda13 660 0 6 b 3 13
-nod /dev/hda14 660 0 6 b 3 14
-nod /dev/hda15 660 0 6 b 3 15
-nod /dev/hda16 660 0 6 b 3 16
-nod /dev/hda17 660 0 6 b 3 17
-nod /dev/hda18 660 0 6 b 3 18
-nod /dev/hda19 660 0 6 b 3 19
-nod /dev/hda2 660 0 6 b 3 2
-nod /dev/hda20 660 0 6 b 3 20
-nod /dev/hda3 660 0 6 b 3 3
-nod /dev/hda4 660 0 6 b 3 4
-nod /dev/hda5 660 0 6 b 3 5
-nod /dev/hda6 660 0 6 b 3 6
-nod /dev/hda7 660 0 6 b 3 7
-nod /dev/hda8 660 0 6 b 3 8
-nod /dev/hda9 660 0 6 b 3 9
-nod /dev/hdb 660 0 6 b 3 64
-nod /dev/hdb1 660 0 6 b 3 65
-nod /dev/hdb10 660 0 6 b 3 74
-nod /dev/hdb11 660 0 6 b 3 75
-nod /dev/hdb12 660 0 6 b 3 76
-nod /dev/hdb13 660 0 6 b 3 77
-nod /dev/hdb14 660 0 6 b 3 78
-nod /dev/hdb15 660 0 6 b 3 79
-nod /dev/hdb16 660 0 6 b 3 80
-nod /dev/hdb17 660 0 6 b 3 81
-nod /dev/hdb18 660 0 6 b 3 82
-nod /dev/hdb19 660 0 6 b 3 83
-nod /dev/hdb2 660 0 6 b 3 66
-nod /dev/hdb20 660 0 6 b 3 84
-nod /dev/hdb3 660 0 6 b 3 67
-nod /dev/hdb4 660 0 6 b 3 68
-nod /dev/hdb5 660 0 6 b 3 69
-nod /dev/hdb6 660 0 6 b 3 70
-nod /dev/hdb7 660 0 6 b 3 71
-nod /dev/hdb8 660 0 6 b 3 72
-nod /dev/hdb9 660 0 6 b 3 73
-nod /dev/hdc 660 0 6 b 22 0
-nod /dev/hdc1 660 0 6 b 22 1
-nod /dev/hdc10 660 0 6 b 22 10
-nod /dev/hdc11 660 0 6 b 22 11
-nod /dev/hdc12 660 0 6 b 22 12
-nod /dev/hdc13 660 0 6 b 22 13
-nod /dev/hdc14 660 0 6 b 22 14
-nod /dev/hdc15 660 0 6 b 22 15
-nod /dev/hdc16 660 0 6 b 22 16
-nod /dev/hdc17 660 0 6 b 22 17
-nod /dev/hdc18 660 0 6 b 22 18
-nod /dev/hdc19 660 0 6 b 22 19
-nod /dev/hdc2 660 0 6 b 22 2
-nod /dev/hdc20 660 0 6 b 22 20
-nod /dev/hdc3 660 0 6 b 22 3
-nod /dev/hdc4 660 0 6 b 22 4
-nod /dev/hdc5 660 0 6 b 22 5
-nod /dev/hdc6 660 0 6 b 22 6
-nod /dev/hdc7 660 0 6 b 22 7
-nod /dev/hdc8 660 0 6 b 22 8
-nod /dev/hdc9 660 0 6 b 22 9
-nod /dev/hdd 660 0 6 b 22 64
-nod /dev/hdd1 660 0 6 b 22 65
-nod /dev/hdd10 660 0 6 b 22 74
-nod /dev/hdd11 660 0 6 b 22 75
-nod /dev/hdd12 660 0 6 b 22 76
-nod /dev/hdd13 660 0 6 b 22 77
-nod /dev/hdd14 660 0 6 b 22 78
-nod /dev/hdd15 660 0 6 b 22 79
-nod /dev/hdd16 660 0 6 b 22 80
-nod /dev/hdd17 660 0 6 b 22 81
-nod /dev/hdd18 660 0 6 b 22 82
-nod /dev/hdd19 660 0 6 b 22 83
-nod /dev/hdd2 660 0 6 b 22 66
-nod /dev/hdd20 660 0 6 b 22 84
-nod /dev/hdd3 660 0 6 b 22 67
-nod /dev/hdd4 660 0 6 b 22 68
-nod /dev/hdd5 660 0 6 b 22 69
-nod /dev/hdd6 660 0 6 b 22 70
-nod /dev/hdd7 660 0 6 b 22 71
-nod /dev/hdd8 660 0 6 b 22 72
-nod /dev/hdd9 660 0 6 b 22 73
-nod /dev/hde 660 0 6 b 33 0
-nod /dev/hde1 660 0 6 b 33 1
-nod /dev/hde10 660 0 6 b 33 10
-nod /dev/hde11 660 0 6 b 33 11
-nod /dev/hde12 660 0 6 b 33 12
-nod /dev/hde13 660 0 6 b 33 13
-nod /dev/hde14 660 0 6 b 33 14
-nod /dev/hde15 660 0 6 b 33 15
-nod /dev/hde16 660 0 6 b 33 16
-nod /dev/hde17 660 0 6 b 33 17
-nod /dev/hde18 660 0 6 b 33 18
-nod /dev/hde19 660 0 6 b 33 19
-nod /dev/hde2 660 0 6 b 33 2
-nod /dev/hde20 660 0 6 b 33 20
-nod /dev/hde3 660 0 6 b 33 3
-nod /dev/hde4 660 0 6 b 33 4
-nod /dev/hde5 660 0 6 b 33 5
-nod /dev/hde6 660 0 6 b 33 6
-nod /dev/hde7 660 0 6 b 33 7
-nod /dev/hde8 660 0 6 b 33 8
-nod /dev/hde9 660 0 6 b 33 9
-nod /dev/hdf 660 0 6 b 33 64
-nod /dev/hdf1 660 0 6 b 33 65
-nod /dev/hdf10 660 0 6 b 33 74
-nod /dev/hdf11 660 0 6 b 33 75
-nod /dev/hdf12 660 0 6 b 33 76
-nod /dev/hdf13 660 0 6 b 33 77
-nod /dev/hdf14 660 0 6 b 33 78
-nod /dev/hdf15 660 0 6 b 33 79
-nod /dev/hdf16 660 0 6 b 33 80
-nod /dev/hdf17 660 0 6 b 33 81
-nod /dev/hdf18 660 0 6 b 33 82
-nod /dev/hdf19 660 0 6 b 33 83
-nod /dev/hdf2 660 0 6 b 33 66
-nod /dev/hdf20 660 0 6 b 33 84
-nod /dev/hdf3 660 0 6 b 33 67
-nod /dev/hdf4 660 0 6 b 33 68
-nod /dev/hdf5 660 0 6 b 33 69
-nod /dev/hdf6 660 0 6 b 33 70
-nod /dev/hdf7 660 0 6 b 33 71
-nod /dev/hdf8 660 0 6 b 33 72
-nod /dev/hdf9 660 0 6 b 33 73
-nod /dev/hdg 660 0 6 b 34 0
-nod /dev/hdg1 660 0 6 b 34 1
-nod /dev/hdg10 660 0 6 b 34 10
-nod /dev/hdg11 660 0 6 b 34 11
-nod /dev/hdg12 660 0 6 b 34 12
-nod /dev/hdg13 660 0 6 b 34 13
-nod /dev/hdg14 660 0 6 b 34 14
-nod /dev/hdg15 660 0 6 b 34 15
-nod /dev/hdg16 660 0 6 b 34 16
-nod /dev/hdg17 660 0 6 b 34 17
-nod /dev/hdg18 660 0 6 b 34 18
-nod /dev/hdg19 660 0 6 b 34 19
-nod /dev/hdg2 660 0 6 b 34 2
-nod /dev/hdg20 660 0 6 b 34 20
-nod /dev/hdg3 660 0 6 b 34 3
-nod /dev/hdg4 660 0 6 b 34 4
-nod /dev/hdg5 660 0 6 b 34 5
-nod /dev/hdg6 660 0 6 b 34 6
-nod /dev/hdg7 660 0 6 b 34 7
-nod /dev/hdg8 660 0 6 b 34 8
-nod /dev/hdg9 660 0 6 b 34 9
-nod /dev/hdh 660 0 6 b 34 64
-nod /dev/hdh1 660 0 6 b 34 65
-nod /dev/hdh10 660 0 6 b 34 74
-nod /dev/hdh11 660 0 6 b 34 75
-nod /dev/hdh12 660 0 6 b 34 76
-nod /dev/hdh13 660 0 6 b 34 77
-nod /dev/hdh14 660 0 6 b 34 78
-nod /dev/hdh15 660 0 6 b 34 79
-nod /dev/hdh16 660 0 6 b 34 80
-nod /dev/hdh17 660 0 6 b 34 81
-nod /dev/hdh18 660 0 6 b 34 82
-nod /dev/hdh19 660 0 6 b 34 83
-nod /dev/hdh2 660 0 6 b 34 66
-nod /dev/hdh20 660 0 6 b 34 84
-nod /dev/hdh3 660 0 6 b 34 67
-nod /dev/hdh4 660 0 6 b 34 68
-nod /dev/hdh5 660 0 6 b 34 69
-nod /dev/hdh6 660 0 6 b 34 70
-nod /dev/hdh7 660 0 6 b 34 71
-nod /dev/hdh8 660 0 6 b 34 72
-nod /dev/hdh9 660 0 6 b 34 73
-nod /dev/loop0 660 0 6 b 7 0
-nod /dev/loop1 660 0 6 b 7 1
-nod /dev/loop10 660 0 6 b 7 10
-nod /dev/loop11 660 0 6 b 7 11
-nod /dev/loop12 660 0 6 b 7 12
-nod /dev/loop13 660 0 6 b 7 13
-nod /dev/loop14 660 0 6 b 7 14
-nod /dev/loop15 660 0 6 b 7 15
-nod /dev/loop2 660 0 6 b 7 2
-nod /dev/loop3 660 0 6 b 7 3
-nod /dev/loop4 660 0 6 b 7 4
-nod /dev/loop5 660 0 6 b 7 5
-nod /dev/loop6 660 0 6 b 7 6
-nod /dev/loop7 660 0 6 b 7 7
-nod /dev/loop8 660 0 6 b 7 8
-nod /dev/loop9 660 0 6 b 7 9
-nod /dev/ram0 660 0 6 b 1 0
-nod /dev/ram1 660 0 6 b 1 1
-nod /dev/ram2 660 0 6 b 1 2
-nod /dev/ram3 660 0 6 b 1 3
-EOF
-}
-
-function module_parts()
-{
-	local module
-	local full_path_module
-	rm -f /tmp/modules.lst
-	touch /tmp/modules.lst
-	echo "file /modules.lst /tmp/modules.lst 0644 0 0"
-	for module in $MODULES
-	do
-		full_path_module=$(find /lib/modules/${KVERSION}/kernel | grep "/$module.ko\|/${module//-/_}.ko\|/${module//_/-}.ko")
-		echo /modules/$(basename $full_path_module) >> /tmp/modules.lst
-		cat <<-EOF
-		file /modules/$(basename $full_path_module) $full_path_module 0644 0 0
-		EOF
-	done
-}
-
-function klibc_parts()
-{
-	local file
-	for file in /usr/lib/klibc/bin/*
-	do
-		echo "file /bin/$(basename $file) $file 0755 0 0"
-	done
-	for file in /usr/lib/klibc/lib/*
-	do
-		echo "file /lib/$(basename $file) $file 0755 0 0"
-	done
-}
-
-function raid_parts()
-{
-	if $USE_RAID || $FORCE_RAID
-	then
-	cat <<-EOF
-file /sbin/mdadm /sbin/mdadm.static 0755 0 0
-file /etc/mdadm.conf /etc/mdadm.conf 0644 0 0
-EOF
-	fi
-}
-
-function lvm_parts()
-{
-	if $USE_LVM || $FORCE_LVM
-	then
-	cat <<-EOF
-dir /etc/lvm 0755 0 0
-file /etc/lvm/lvm.conf /etc/lvm/lvm.conf 0644 0 0
-file /sbin/lvm /usr/sbin/lvm.static 0755 0 0
-EOF
-	local link
-	for link in lvs pvs vgs vgck lvconvert lvdisplay pvchange pvcreate \
-		vgmknodes pvremove pvresize lvmchange lvmdump lvmsadc \
-		vgcfgrestore lvmdiskscan pvdisplay lvmsar lvscan vgchange \
-		vgcreate pvmove pvscan vgexport vgextend vgimport vgscan \
-		vgmerge vgsplit lvchange lvcreate lvextend vgreduce vgrename \
-		vgremove vgconvert vgcfgbackup lvreduce lvrename lvremove \
-		lvresize vgdisplay 
-	do
-		echo "slink /sbin/$link lvm 0755 0 0"
-	done
-	echo "file /sbin/dmsetup /sbin/dmsetup.static 0755 0 0"
-	fi
-}
-
-function rec_fill_modules()
-{
-	local dep_modules
-	local module=$1
-	local dep_module
-	dep_modules=$(grep "/$module.ko:\|/${module//-/_}.ko:\|/${module//_/-}.ko:" /lib/modules/$KVERSION/modules.dep)
-	if [[ -z $dep_modules ]]
-	then
-		echo "# Bahh!!! couldn't find dependent module $module"
-		if $BREAK_ON_MISSING
-		then
-			exit -1
-		else
-			return 0
-		fi
-	fi
-	dep_modules=$(echo $dep_modules | cut -d: -f2-)
-	if ! echo $MODULES | grep -q " $module"
-	then
-		if [[ $dep_modules ]]
-		then
-			for dep_module in $dep_modules
-			do
-				dep_module=$(basename $dep_module)
-				rec_fill_modules ${dep_module/.ko}
-			done
-		fi
-		MODULES="${MODULES} $module"
-	fi
-}
-
-function fill_root_driver()
-{
-	local module
-	# there should be a better way to 'detect' what this is but...
-	for module in `cat /etc/modules`
-	do
-		if ! echo $MODULES | grep -q " $module"
-		then
-			rec_fill_modules ${module}
-		fi
-	done
-}
-
-function fill_root_filesystem()
-{
-	local filesystem=$(mount | grep ' / ' | tail -n 1 | cut -d' ' -f5)
-	rec_fill_modules $filesystem
-}
-
-function fill_modules()
-{
-	if $USE_RAID || $FORCE_RAID
-	then
-		rec_fill_modules raid0
-		rec_fill_modules raid1
-		rec_fill_modules raid10
-		rec_fill_modules raid5
-		rec_fill_modules raid6
-		rec_fill_modules raid456
-	fi
-	if $USE_LVM || $FORCE_LVM
-	then
-		rec_fill_modules dm-mod
-	fi
-	fill_root_driver
-	fill_root_filesystem
-}
-
-function check_raid()
-{
-	if [[ -f /etc/mdadm.conf && -x /sbin/mdadm.static ]]
-	then
-		USE_RAID=true
-	else
-		USE_RAID=false
-	fi
-}
-
-function check_lvm()
-{
-	if [[ -f /etc/lvm/lvm.conf && -x /usr/sbin/lvm.static && -x /sbin/dmsetup.static ]]
-	then
-		USE_LVM=true
-	else
-		USE_LVM=false
-	fi
-}
-
-while [[ $1 ]]
-do
-	case $1 in
-		-v|--version)
-			echo "Source Mage GNU/Linux mkinitrd v0.1"
-			usage
-			exit 0
-		;;
-		--enable-raid)
-			FORCE_RAID=true
-		;;
-		--enable-lvm)
-			FORCE_LVM=true
-		;;
-		--disable-raid)
-			FORCE_RAID=false
-		;;
-		--disable-lvm)
-			FORCE_LVM=false
-		;;
-		-f|--force)
-			REMOVE_OLD_INITRD=true
-		;;
-		--ignore-missing)
-			BREAK_ON_MISSING=false
-		;;
-		-m|--with-module)
-			MODULES="${MODULES} ${2}"
-			shift
-		;;
-		-o|--output)
-			INITRD_FILE="${2}"
-			shift
-		;;
-		2.[46]*)
-			KVERSION=$1
-		;;
-		*)
-			echo "Caught a second option that looks like the file"
-			usage
-			exit 1
-		;;
-
-	esac &&
-	shift
-done
-
-check_raid
-check_lvm
-fill_modules
-(
-	default_parts
-	dev_parts
-	dir_parts
-	module_parts
-	klibc_parts
-	raid_parts
-	lvm_parts	
-) > /tmp/initrd.lst
-(
-	linuxrc_pre
-	linuxrc_raid
-	linuxrc_lvm
-	linuxrc_post
-) > /tmp/linuxrc
-if ! [[ -x /lib/modules/$KVERSION/build/usr/gen_init_cpio ]]
-then
-  echo "Bah!!! can't find the gen_init_cpio file is your kernel built?"
-  usage
-  exit -1
-fi
-/lib/modules/$KVERSION/build/usr/gen_init_cpio /tmp/initrd.lst | gzip -c > $INITRD_FILE



More information about the SM-Commit mailing list