diff options
| author | Jeff Bailey <jbailey@ubuntu.com> | 2005-06-08 21:13:41 +0000 |
|---|---|---|
| committer | Jeff Bailey <jbailey@ubuntu.com> | 2005-06-08 21:13:41 +0000 |
| commit | de9c780f57ae626f05ec1c971c56648250cba03c (patch) | |
| tree | 585d8515ef623e64b2800cc4266920fff1564940 /debian/initramfs-tools/usr | |
| download | initramfs-tools-de9c780f57ae626f05ec1c971c56648250cba03c.tar.gz initramfs-tools-de9c780f57ae626f05ec1c971c56648250cba03c.zip | |
Initial checkin
Diffstat (limited to 'debian/initramfs-tools/usr')
9 files changed, 217 insertions, 0 deletions
diff --git a/debian/initramfs-tools/usr/sbin/mkinitramfs b/debian/initramfs-tools/usr/sbin/mkinitramfs new file mode 100644 index 0000000..593c69e --- /dev/null +++ b/debian/initramfs-tools/usr/sbin/mkinitramfs @@ -0,0 +1,93 @@ +#!/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 new file mode 100644 index 0000000..bf7e07d --- /dev/null +++ b/debian/initramfs-tools/usr/share/doc/initramfs-tools/TODO @@ -0,0 +1,8 @@ +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 Binary files differnew file mode 100644 index 0000000..c89e14f --- /dev/null +++ b/debian/initramfs-tools/usr/share/doc/initramfs-tools/changelog.gz diff --git a/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright b/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright new file mode 100644 index 0000000..cdc2919 --- /dev/null +++ b/debian/initramfs-tools/usr/share/doc/initramfs-tools/copyright @@ -0,0 +1,10 @@ +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 new file mode 100644 index 0000000..ee1310a --- /dev/null +++ b/debian/initramfs-tools/usr/share/doc/initramfs-tools/examples/modules @@ -0,0 +1,7 @@ +# 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 new file mode 100644 index 0000000..c3e4887 --- /dev/null +++ b/debian/initramfs-tools/usr/share/initramfs-tools/init @@ -0,0 +1,64 @@ +#!/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 new file mode 100644 index 0000000..19560ba --- /dev/null +++ b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/functions @@ -0,0 +1,9 @@ +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 new file mode 100644 index 0000000..572f185 --- /dev/null +++ b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/local @@ -0,0 +1,15 @@ +# 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 new file mode 100644 index 0000000..1225c4d --- /dev/null +++ b/debian/initramfs-tools/usr/share/initramfs-tools/scripts/nfs @@ -0,0 +1,11 @@ + +# 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} +} |
