summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Bailey <jbailey@ubuntu.com>2005-06-09 20:08:12 +0000
committerJeff Bailey <jbailey@ubuntu.com>2005-06-09 20:08:12 +0000
commitd49e80ad3723c35714bf44b21545090da62f558e (patch)
tree98ea2b8d69952ffbbf73083225e8e4353c195a46
parentac222142f849ed340c3b7a0300a57cc3153e0436 (diff)
downloadinitramfs-tools-d49e80ad3723c35714bf44b21545090da62f558e.tar.gz
initramfs-tools-d49e80ad3723c35714bf44b21545090da62f558e.zip
Hookscripts, prunce extras
-rw-r--r--debian/dirs13
-rw-r--r--debian/files2
-rw-r--r--debian/initramfs-tools/DEBIAN/conffiles1
-rw-r--r--debian/initramfs-tools/DEBIAN/control10
-rw-r--r--debian/initramfs-tools/DEBIAN/md5sums9
-rw-r--r--debian/initramfs-tools/DEBIAN/postinst10
-rw-r--r--debian/initramfs-tools/DEBIAN/postrm8
-rw-r--r--debian/initramfs-tools/etc/mkinitramfs/initramfs.conf50
-rw-r--r--debian/initramfs-tools/usr/sbin/mkinitramfs93
-rw-r--r--debian/initramfs-tools/usr/share/doc/initramfs-tools/TODO8
-rw-r--r--debian/initramfs-tools/usr/share/doc/initramfs-tools/changelog.gzbin784 -> 0 bytes
-rw-r--r--debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright10
-rw-r--r--debian/initramfs-tools/usr/share/doc/initramfs-tools/examples/modules7
-rw-r--r--debian/initramfs-tools/usr/share/initramfs-tools/init64
-rw-r--r--debian/initramfs-tools/usr/share/initramfs-tools/scripts/functions9
-rw-r--r--debian/initramfs-tools/usr/share/initramfs-tools/scripts/local15
-rw-r--r--debian/initramfs-tools/usr/share/initramfs-tools/scripts/nfs11
-rw-r--r--mkinitramfs36
-rw-r--r--scripts/functions1
19 files changed, 35 insertions, 322 deletions
diff --git a/debian/dirs b/debian/dirs
index fd55804..ef40692 100644
--- a/debian/dirs
+++ b/debian/dirs
@@ -1,6 +1,7 @@
-etc/mkiniramfs/init-bottom
-etc/mkiniramfs/init-top
-etc/mkiniramfs/local-premount
-etc/mkiniramfs/local-top
-etc/mkiniramfs/nfs-premount
-etc/mkiniramfs/nfs-top
+etc/mkinitramfs/init-bottom
+etc/mkinitramfs/init-top
+etc/mkinitramfs/local-premount
+etc/mkinitramfs/local-top
+etc/mkinitramfs/nfs-premount
+etc/mkinitramfs/nfs-top
+usr/share/initramfs-tools/modules.d
diff --git a/debian/files b/debian/files
index b9277fc..47aa909 100644
--- a/debian/files
+++ b/debian/files
@@ -1 +1 @@
-initramfs-tools_0.6_all.deb utils optional
+initramfs-tools_0.7_all.deb utils optional
diff --git a/debian/initramfs-tools/DEBIAN/conffiles b/debian/initramfs-tools/DEBIAN/conffiles
deleted file mode 100644
index cd2afc0..0000000
--- a/debian/initramfs-tools/DEBIAN/conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/mkinitramfs/initramfs.conf
diff --git a/debian/initramfs-tools/DEBIAN/control b/debian/initramfs-tools/DEBIAN/control
deleted file mode 100644
index 9192ae1..0000000
--- a/debian/initramfs-tools/DEBIAN/control
+++ /dev/null
@@ -1,10 +0,0 @@
-Package: initramfs-tools
-Version: 0.6
-Section: utils
-Priority: optional
-Architecture: all
-Depends: klibc-utils
-Installed-Size: 100
-Maintainer: Jeff Bailey <jbailey@ubuntu.com>
-Description: tools for generting an Ubuntu-style initramfs
- This package generates an initramfs for an Ubuntu system.
diff --git a/debian/initramfs-tools/DEBIAN/md5sums b/debian/initramfs-tools/DEBIAN/md5sums
deleted file mode 100644
index 420e544..0000000
--- a/debian/initramfs-tools/DEBIAN/md5sums
+++ /dev/null
@@ -1,9 +0,0 @@
-741626a7104d48b15ee4f7f0f8973deb usr/share/doc/initramfs-tools/TODO
-ed79de81154495c4c23a93b32471cb19 usr/share/doc/initramfs-tools/copyright
-12933b9f50570c11cf0f384eee619ee9 usr/share/doc/initramfs-tools/examples/modules
-35c556b7165396ffbb9daf1e33f75e80 usr/share/doc/initramfs-tools/changelog.gz
-614dec8a64e5f9798d4e0eb42219d96d usr/share/initramfs-tools/init
-f18121fe1135572dbbea347371e8d730 usr/share/initramfs-tools/scripts/nfs
-9d5014b1fbc092a32526ffa52549193c usr/share/initramfs-tools/scripts/local
-6ebc6e800720aab93d022fe8ef5063d5 usr/share/initramfs-tools/scripts/functions
-fd7c4a390d50d181203e0ca2007254e2 usr/sbin/mkinitramfs
diff --git a/debian/initramfs-tools/DEBIAN/postinst b/debian/initramfs-tools/DEBIAN/postinst
deleted file mode 100644
index 36f508d..0000000
--- a/debian/initramfs-tools/DEBIAN/postinst
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ ! -e /etc/mkinitramfs/modules ]; then
- cp /usr/share/doc/initramfs-tools/examples/modules /etc/mkinitramfs/
-fi
-
-
-
diff --git a/debian/initramfs-tools/DEBIAN/postrm b/debian/initramfs-tools/DEBIAN/postrm
deleted file mode 100644
index 84bff36..0000000
--- a/debian/initramfs-tools/DEBIAN/postrm
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if [ "x${1}" = "xpurge" ]; then
- rm /etc/mkinitramfs/modules
-fi
-
-
-
diff --git a/debian/initramfs-tools/etc/mkinitramfs/initramfs.conf b/debian/initramfs-tools/etc/mkinitramfs/initramfs.conf
deleted file mode 100644
index a056469..0000000
--- a/debian/initramfs-tools/etc/mkinitramfs/initramfs.conf
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# initramfs.conf
-#
-
-# BUSYBOX: [ y | n ]
-#
-# Use busybox if available. You MUST use the -static version
-#
-
-BUSYBOX=n
-
-#
-# BOOT: [ local | nfs ]
-#
-# local - Boot off of local media (harddrive, USB stick).
-#
-# nfs - Boot using an NFS drive as the root of the drive.
-#
-
-BOOT=local
-
-#
-# MODULES: [ most | dep | list ]
-#
-# most - Add all framebuffer, acpi, filesystem, and harddrive drivers.
-#
-# dep - Try and guess which modules to load.
-#
-# list - Only include modules from the 'additional modules' list
-#
-MODULES=list
-
-#
-# NFS Section of the config.
-#
-
-#
-# DEVICE: ...
-#
-# Specify the network device, like eth0
-#
-
-DEVICE=eth0
-
-#
-# NFSROOT: [ auto | HOST:MOUNT ]
-#
-
-NFSROOT=auto
-
diff --git a/debian/initramfs-tools/usr/sbin/mkinitramfs b/debian/initramfs-tools/usr/sbin/mkinitramfs
deleted file mode 100644
index 593c69e..0000000
--- a/debian/initramfs-tools/usr/sbin/mkinitramfs
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-
-. /etc/mkinitramfs/initramfs.conf
-
-usage()
-{
- echo "-o Output"
- echo "-v version"
- echo "-k Keep temp files"
- exit 1
-}
-
-# Defaults
-keep="n"
-
-while getopts "ko:v:" flag; do
- case $flag in
- o)
- outfile="${OPTARG}"
- ;;
- v)
- version="${OPTARG}"
- ;;
- k)
- keep="y"
- ;;
- esac
-done
-
-if [ x${outfile} = x ]; then
- usage
-fi
-
-if [ -d ${outfile} ]; then
- echo "${outfile} is a directory"
- exit 1
-fi
-
-if [ ! -e /lib/modules/${version} ]; then
- echo "Cannot find /lib/modules/${version}"
- exit 1
-fi
-
-TMPDIR=$(mktemp -d) || exit 1
-mkdir -p ${TMPDIR}/modules ${TMPDIR}/conf ${TMPDIR}/etc
-mkdir -p ${TMPDIR}/bin ${TMPDIR}/lib ${TMPDIR}/scripts
-
-for x in $(sed -e '/^#/d' /etc/mkinitramfs/modules); do
- for y in $(modprobe --set-version=${version} --show-depends ${x} | awk '{ print $2 }'); do
- # Prune duplicates
- if [ -e ${TMPDIR}/modules/$(basename ${y}) ]; then
- continue
- fi
-
- ln -s ${y} ${TMPDIR}/modules
- echo $(basename ${y}) >>${TMPDIR}/conf/modules
- done
-done
-
-# Have to do each file, because cpio --dereference doesn't recurse down
-# symlinks.
-
-ln -s /usr/lib/klibc/bin/* ${TMPDIR}/bin
-ln -s /usr/lib/klibc/lib/* ${TMPDIR}/lib
-ln -s /usr/share/initramfs-tools/init ${TMPDIR}/init
-ln -s /usr/share/initramfs-tools/scripts/* ${TMPDIR}/scripts
-ln -s /etc/mkinitramfs/initramfs.conf ${TMPDIR}/conf
-ln -s /etc/udev ${TMPDIR}/etc
-
-# Hack until udev is built with klibc
-ln -s /sbin/udev ${TMPDIR}/bin
-ln -s /sbin/udevstart ${TMPDIR}/bin
-ln -s /lib/libc.so.* ${TMPDIR}/lib
-ln -s /lib/ld*.so.* ${TMPDIR}/lib
-rm ${TMPDIR}/lib/*lsb*
-
-# Busybox
-if [ "x${BUSYBOX}" = "xy" ]; then
- rm ${TMPDIR}/bin/sh
- ln -s /bin/busybox ${TMPDIR}/bin/sh
-fi
-
-# Raid
-ln -s /sbin/mdadm ${TMPDIR}/bin
-ln -s /sbin/mdrun ${TMPDIR}/bin
-
-(cd ${TMPDIR} && find . | cpio --quiet --dereference -o -H newc | gzip -9 >${outfile})
-
-if [ "${keep}" = "y" ]; then
- echo "Working files in ${TMPDIR}"
-else
- rm -rf "${TMPDIR}"
-fi
diff --git a/debian/initramfs-tools/usr/share/doc/initramfs-tools/TODO b/debian/initramfs-tools/usr/share/doc/initramfs-tools/TODO
deleted file mode 100644
index bf7e07d..0000000
--- a/debian/initramfs-tools/usr/share/doc/initramfs-tools/TODO
+++ /dev/null
@@ -1,8 +0,0 @@
-TODO
-====
-
- o Get udev compiled against klibc
-
- o Integrate hotplug-ng
-
- o Add option to make-kpkg to use mkinitramfs
diff --git a/debian/initramfs-tools/usr/share/doc/initramfs-tools/changelog.gz b/debian/initramfs-tools/usr/share/doc/initramfs-tools/changelog.gz
deleted file mode 100644
index c89e14f..0000000
--- a/debian/initramfs-tools/usr/share/doc/initramfs-tools/changelog.gz
+++ /dev/null
Binary files differ
diff --git a/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright b/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright
deleted file mode 100644
index cdc2919..0000000
--- a/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright
+++ /dev/null
@@ -1,10 +0,0 @@
-This package was debianized by Jeff Bailey <jbailey@raspberryginger.com> on
-Thu, 27 Jan 2005 15:23:52 -0500.
-
-Copyright:
-
-Author: Jeff Bailey, with some pieces for initrd-tools
-
-License:
-
-PUBLIC DOMAIN
diff --git a/debian/initramfs-tools/usr/share/doc/initramfs-tools/examples/modules b/debian/initramfs-tools/usr/share/doc/initramfs-tools/examples/modules
deleted file mode 100644
index ee1310a..0000000
--- a/debian/initramfs-tools/usr/share/doc/initramfs-tools/examples/modules
+++ /dev/null
@@ -1,7 +0,0 @@
-# List of modules that you want to include in your initramfs.
-# This might be good choices:
-#
-#ide-disk
-#ide-generic
-#ext2
-#ext3
diff --git a/debian/initramfs-tools/usr/share/initramfs-tools/init b/debian/initramfs-tools/usr/share/initramfs-tools/init
deleted file mode 100644
index c3e4887..0000000
--- a/debian/initramfs-tools/usr/share/initramfs-tools/init
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh -x
-mkdir /sys
-mkdir /proc
-mkdir /tmp
-mount -t sysfs sysfs /sys
-mount -t proc proc /proc
-
-. /conf/initramfs.conf
-. /scripts/functions
-
-# Parse command line options
-init=/sbin/init
-root=
-ro=-r
-break=
-rootmnt=/root
-for x in $(cat /proc/cmdline); do
- case $x in
- init=*)
- INIT=${x#init=}
- ;;
- root=*)
- ROOT=${x#root=}
- ;;
- nfsroot=*)
- NFSROOT=${x#nfsroot=}
- ;;
- boot=*)
- BOOT=${x#boot=}
- ;;
- ro)
- ro=-r
- ;;
- rw)
- ro=-w
- ;;
- break)
- break=yes
- ;;
- esac
-done
-
-. /scripts/${BOOT}
-
-# Load the modules
-# FIXME - do module options here
-for x in $(cat /conf/modules); do
- insmod /modules/$x
-done
-
-# Populate /dev tree
-udevstart
-
-if [ x${break} = xyes ]; then
- panic "Spawning shell within the initramfs"
-fi
-
-mountroot
-
-umount /sys
-umount /proc
-
-# Chain to real filesystem
-exec run-init ${rootmnt} ${init} "$@"
diff --git a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/functions b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/functions
deleted file mode 100644
index 19560ba..0000000
--- a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/functions
+++ /dev/null
@@ -1,9 +0,0 @@
-panic()
-{
- echo $@
- if [ -e /bin/busybox ]; then
- FS1='(initramfs) ' exec /bin/busybox sh
- else
- FS1='(initramfs) ' exec /bin/sh
- fi
-}
diff --git a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/local b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/local
deleted file mode 100644
index 572f185..0000000
--- a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/local
+++ /dev/null
@@ -1,15 +0,0 @@
-# Local filesystem mounting
-
-# Parameter: Where to mount the filesystem
-mountroot ()
-{
- # Get the root filesystem type
- if [ ! -e ${ROOT} ]; then
- panic "ALERT! ${ROOT} does not exist. Dropping to a shell!"
- fi
-
- eval $(fstype < ${ROOT})
-
- # Mount root
- mount ${ro} -t ${FSTYPE} ${ROOT} ${rootmnt}
-}
diff --git a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/nfs b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/nfs
deleted file mode 100644
index 1225c4d..0000000
--- a/debian/initramfs-tools/usr/share/initramfs-tools/scripts/nfs
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# Paramter: Where the root should be mounted
-mountroot ()
-{
- ipconfig ${DEVICE}
- . /tmp/net-${DEVICE}.conf
- if [ "x${NFSROOT}" = "xauto" ]; then
- NFSROOT=${ROOTSERVER}:${ROOTPATH}
- fi
- nfsmount ${NFSROOT} ${rootmnt}
-}
diff --git a/mkinitramfs b/mkinitramfs
index 7b6af66..2134a2d 100644
--- a/mkinitramfs
+++ b/mkinitramfs
@@ -1,5 +1,27 @@
#!/bin/sh
+# Takes a file containing a list of modules to be added as an argument
+# Figures out dependancies and adds it in.
+manual_add_modules()
+{
+ # Sanity check
+ if [ ! -e ${1} ]; then
+ return
+ fi
+
+ for x in $(sed -e '/^#/d' ${1}); do
+ for y in $(modprobe --set-version=${version} --show-depends ${x} | awk '{ print $2 }'); do
+ # Prune duplicates
+ if [ -e ${TMPDIR}/modules/$(basename ${y}) ]; then
+ continue
+ fi
+
+ ln -s ${y} ${TMPDIR}/modules
+ echo $(basename ${y}) >>${TMPDIR}/conf/modules
+ done
+ done
+}
+
usage()
{
cat >&2 << EOF
@@ -51,6 +73,8 @@ if [ x${outfile} = x ] || [ ${#} -ne 1 ]; then
usage
fi
+version=${1}
+
if [ -d ${outfile} ]; then
echo "${outfile} is a directory"
exit 1
@@ -65,16 +89,8 @@ TMPDIR=$(mktemp -d) || exit 1
mkdir -p ${TMPDIR}/modules ${TMPDIR}/conf ${TMPDIR}/etc
mkdir -p ${TMPDIR}/bin ${TMPDIR}/lib ${TMPDIR}/scripts
-for x in $(sed -e '/^#/d' ${CONFDIR}/modules); do
- for y in $(modprobe --set-version=${version} --show-depends ${x} | awk '{ print $2 }'); do
- # Prune duplicates
- if [ -e ${TMPDIR}/modules/$(basename ${y}) ]; then
- continue
- fi
-
- ln -s ${y} ${TMPDIR}/modules
- echo $(basename ${y}) >>${TMPDIR}/conf/modules
- done
+for x in ${CONFDIR}/modules /usr/share/initramfs-tools/modules.d/*; do
+ manual_add_modules ${x}
done
# Have to do each file, because cpio --dereference doesn't recurse down
diff --git a/scripts/functions b/scripts/functions
index 586c82f..4a92011 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -128,3 +128,4 @@ run_scripts()
${initdir}/${script}
done
}
+