summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2006-12-21 10:18:28 +0100
committermaximilian attems <maks@debian.org>2006-12-21 10:18:28 +0100
commitd21a00a23405d1db81ab05a12342145276ef2af0 (patch)
tree64e8269df1d96e074cb2eb39476b7b1bbf147229
parentc03e70312632212c516acac750cb5ec0ef4b33cb (diff)
downloadinitramfs-tools-d21a00a23405d1db81ab05a12342145276ef2af0.tar.gz
initramfs-tools-d21a00a23405d1db81ab05a12342145276ef2af0.zip
- revert busybox hardlinking it's utitilites
- add drivers/ata - rework the framebuffer boot script - small docs changes
-rw-r--r--debian/changelog24
-rw-r--r--hook-functions4
-rw-r--r--initramfs-tools.84
-rwxr-xr-xmkinitramfs8
-rwxr-xr-xscripts/init-top/framebuffer34
5 files changed, 55 insertions, 19 deletions
diff --git a/debian/changelog b/debian/changelog
index 394179a..c292a82 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+initramfs-tools (0.85e) unstable; urgency=high
+
+ Release "Qu'ils soient rouges, bleus ou blancs Il faudrait mieux les pendre"
+
+ * initramfs-tools.8: Correct copy_exec() example. (closes: 403122)
+ Add a better dir to copy_modules_dir() example.
+
+ * mkinitramfs: Revert the sed magic busybox hardlinking for size reduction.
+ Go for functionality. The klibc binaries are better tested and superior
+ in some cases like sleep. Fixes several boot troubles. Thanks
+ Benjamí Villoslada <benjami@bitassa.cat> for the report. (closes: 403224)
+ Thanks Jurij Smakov <jurij@debian.org> for pinpointing the trouble.
+
+ * hook-functions: Add all drivers/ata drivers to initramfs that exist for
+ uname >= 2.6.19 (closes: 403309) urgency high.
+
+ * scripts/init-top/framebuffer: Fix syntax by closing the brackets. Handle
+ options of the form key:value, map kernel bootarg to module name for
+ matroxfb. Thanks Rob Walker <rob@tenfoot.org.uk> for the patches
+ (closes: 403667, 403669). Use posix regexes according to review by
+ Jurij Smakov <jurij@debian.org>. Also protect all variables.
+
+ -- maximilian attems <maks@sternwelten.at> Wed, 20 Dec 2006 22:29:51 +0100
+
initramfs-tools (0.85d) unstable; urgency=high
Release "Le gros ventre qu'engraisse L'suffrage universel"
diff --git a/hook-functions b/hook-functions
index 67f5931..fe5d31e 100644
--- a/hook-functions
+++ b/hook-functions
@@ -198,6 +198,9 @@ auto_add_modules()
manual_add_modules "${x}"
done
;;
+ ata)
+ copy_modules_dir kernel/drivers/ata
+ ;;
ieee1394)
for x in ohci1394 sbp2; do
manual_add_modules "${x}"
@@ -218,6 +221,7 @@ auto_add_modules()
auto_add_modules net
auto_add_modules ide
auto_add_modules scsi
+ auto_add_modules ata
auto_add_modules i2o
auto_add_modules dasd
auto_add_modules ieee1394
diff --git a/initramfs-tools.8 b/initramfs-tools.8
index 690505f..e280ba4 100644
--- a/initramfs-tools.8
+++ b/initramfs-tools.8
@@ -189,7 +189,7 @@ initramfs image.
.RS
.PP
.B Example:
-copy_modules_dir kernel/drivers/pci/foobar
+copy_modules_dir kernel/drivers/ata
.RE
.SS Including binaries
@@ -197,7 +197,7 @@ If you need to copy binaries to the initramfs module, a command like this
should be used:
.PP
.RS
-copy_exec /sbin/mdadm "${DESTDIR}/sbin"
+copy_exec /sbin/mdadm /sbin
.RE
mkinitramfs will automatically detect which libraries the executable depends on
diff --git a/mkinitramfs b/mkinitramfs
index d187de0..0c278d5 100755
--- a/mkinitramfs
+++ b/mkinitramfs
@@ -227,13 +227,9 @@ if [ "x${BUSYBOX}" = "xn" ]; then
echo "Warning: Busybox is required for successful boot!"
else
rm -f ${DESTDIR}/bin/sh
- copy_exec ${BUSYBOXDIR}/busybox /bin/busybox
rm -f ${DESTDIR}/bin/busybox
- cp ${BUSYBOXDIR}/busybox ${DESTDIR}/bin/busybox
- for cmd in `busybox | sed -n '/functions:$/,$p' \
- | sed -e 's/[[:space:]]*//g; s/,$//; s/,/\n/g; /busybox/d'`; do
- ln -f ${DESTDIR}/bin/busybox ${DESTDIR}/bin/${cmd}
- done
+ copy_exec ${BUSYBOXDIR}/busybox /bin/busybox
+ ln -s ${BUSYBOXDIR}/busybox ${DESTDIR}/bin/sh
fi
# Modutils
diff --git a/scripts/init-top/framebuffer b/scripts/init-top/framebuffer
index 044b247..7c080f9 100755
--- a/scripts/init-top/framebuffer
+++ b/scripts/init-top/framebuffer
@@ -35,20 +35,23 @@ parse_video_opts()
local IFS=","
# Must be a line like video=<fbdriver>:<opt1>,[opt2]...
- if [ "$OPTS" = "${OPTS%%:*}" ]; then
+ if [ "${OPTS}" = "${OPTS%%:*}" ]; then
return
fi
OPTS="${OPTS#*:}"
- for opt in $OPTS; do
+ for opt in ${OPTS}; do
# Already in the "<arg>=<value>" form
- if [ "$opt" != "${opt#*=}" ]; then
+ if [ "${opt}" != "${opt#*=}" ]; then
echo -n "$opt "
+ # In the "<arg>:<value>" form
+ elif [ "${opt}" != "${opt#*:}" ]; then
+ echo -n "${opt%:*}=${opt#*:} "
# Presumably a modevalue without the "mode=" prefix
- elif [ "$opt" != "${opt#[[:digit:]]*x[[:digit:]]}"; then
+ elif [ "${opt}" != "${opt#[0-9]*x[0-9]}" ]; then
echo -n "mode=$opt "
# Presumably a boolean
else
- echo -n "$opt=1 "
+ echo -n "${opt}=1 "
fi
done
}
@@ -60,7 +63,7 @@ SPLASH=false;
VESA=false;
for x in $(cat /proc/cmdline); do
- case $x in
+ case ${x} in
splash*)
FB="vga16fb";
OPTS="";
@@ -72,22 +75,31 @@ for x in $(cat /proc/cmdline); do
video=*)
FB=${x#*=}
FB="${FB%%:*}"
- OPTS="$(parse_video_opts "$TMP")"
+ OPTS="$(parse_video_opts "${x}")"
esac
done
-if [ -n "$FB" ]; then
+# Map command line name to module name
+case ${FB} in
+matroxfb)
+ FB=matroxfb_base
+ ;;
+*)
+ ;;
+esac
+
+if [ -n "${FB}" ]; then
modprobe -q fbcon
- modprobe -q $FB $OPTS
+ modprobe -q ${FB} ${OPTS}
fi
if [ -e /proc/fb ]; then
while read fbno desc; do
- mknod /dev/fb$fbno c 29 $fbno
+ mknod /dev/fb${fbno} c 29 ${fbno}
done < /proc/fb
else
mknod /dev/fb0 c 29 0
fi
for i in 0 1 2 3 4 5 6 7 8; do
- mknod /dev/tty$i c 4 $i
+ mknod /dev/tty${i} c 4 ${i}
done