summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog32
-rw-r--r--hook-functions2
-rwxr-xr-xscripts/init-top/framebuffer17
-rwxr-xr-xupdate-initramfs40
4 files changed, 75 insertions, 16 deletions
diff --git a/debian/changelog b/debian/changelog
index 022e167..991ff6f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+initramfs-tools (0.85) unstable; urgency=high
+
+ Release "Nichts ist getan, wenn noch etwas zu tun übrig ist."
+
+ * update-initramfs: Fix ro /boot check to not trigger on other mounts
+ having a /boot string. (closes: 393906) Thanks for the patch
+ Olli Helenius <olli@starnet.fi>
+
+ * init-top/framebuffer: Fix duplicate fbno0 device creation. Merge the
+ 0.69ubuntu10 solution. Thanks Benjamin Leipold <rabbit171@web.de>
+ for the report. (closes: 393890)
+
+ * update-initramfs: Fix mbr_check() for installed lilo and used grub. Thanks
+ for the patch by Michel Casabona <michel.casabona@free.fr>. Also be
+ stricter about do_bootloader match, use negative info and add check for
+ grub on mbr before throwing error. (closes: 394559) urgency high.
+
+ * hook-functions: Add sata_sil24 to scsi modules. (closes: 395907)
+ Thanks Vadim S. Solomi" <vadic@vadic.nnov.ru> for the patch.
+
+ * update-initramfs: Fix lilo detection in mbr_check() for rootraid.
+ Based on a patch by Michael Prokop <mika@grml.org>. Suppress lilo warning
+ messages on test run.
+
+ -- maximilian attems <maks@sternwelten.at> Mon, 30 Oct 2006 10:12:58 +0100
+
initramfs-tools (0.84) unstable; urgency=high
Release "A-t-on pris à Saint-Périne, Tous ces dictateurs impotents ?"
@@ -499,6 +525,12 @@ initramfs-tools (0.69ubuntu11) edgy; urgency=low
-- Oliver Grawert <ogra@ubuntu.com> Sun, 10 Sep 2006 11:50:14 +0200
+initramfs-tools (0.69ubuntu10) edgy; urgency=low
+
+ * Create framebuffer device nodes unconditionally
+
+ -- Matthew Garrett <mjg59@srcf.ucam.org> Tue, 5 Sep 2006 17:50:53 +0100
+
initramfs-tools (0.69ubuntu4) edgy; urgency=low
* scripts/local-premount/suspend: Check for UUID= or LABEL= on the
diff --git a/hook-functions b/hook-functions
index 8df30f2..c6a42a6 100644
--- a/hook-functions
+++ b/hook-functions
@@ -179,7 +179,7 @@ auto_add_modules()
mesh mptfc mptscsih mptsas mptspi nsp32 \
osst qla1280 qla2100 qla2200 qla2300 qla2322 qla2xxx \
qla4xxx qla6312 qlogicfas408 qlogicfc sata_mv sata_nv \
- sata_promise sata_qstor sata_sil sata_sis sata_svw \
+ sata_promise sata_qstor sata_sil sata_sil24 sata_sis sata_svw \
sata_sx4 sata_uli sata_via sata_vsc scsi_mod \
scsi_transport_fc scsi_transport_iscsi scsi_transport_spi \
sd_mod stex sym53c8xx tmscsim zfcp; do
diff --git a/scripts/init-top/framebuffer b/scripts/init-top/framebuffer
index 8382b20..1d5e375 100755
--- a/scripts/init-top/framebuffer
+++ b/scripts/init-top/framebuffer
@@ -76,17 +76,18 @@ for x in $(cat /proc/cmdline); do
esac
done
-if [ -n "$FB" ]; then
- modprobe -q $FB $OPTS
-fi
-
if [ -e /proc/fb ]; then
while read fbno desc; do
mknod /dev/fb$fbno c 29 $fbno
done < /proc/fb
-
+else
mknod /dev/fb0 c 29 0
- for i in 0 1 2 3 4 5 6 7 8; do
- mknod /dev/tty$i c 4 $i
- done
+fi
+for i in 0 1 2 3 4 5 6 7 8; do
+ mknod /dev/tty$i c 4 $i
+done
+
+if [ -n "$FB" ]; then
+ modprobe -q fbcon
+ modprobe -q $FB $OPTS
fi
diff --git a/update-initramfs b/update-initramfs
index c112211..0fea63c 100755
--- a/update-initramfs
+++ b/update-initramfs
@@ -127,7 +127,8 @@ generate_initramfs()
# lilo call
run_lilo()
{
- lilo -t > /dev/null
+ # suppress errors on test run
+ lilo -t > /dev/null 2>&1
if [ $? -eq 0 ]; then
lilo
fi
@@ -136,11 +137,33 @@ run_lilo()
# check if lilo is on mbr
mbr_check()
{
+ # check out lilo.conf for validity
boot=$(awk -F = '/^boot=/{ print $2}' /etc/lilo.conf)
[ -z "${boot}" ] && return 0
+ case ${boot} in
+ /dev/md*)
+ if [ -r /proc/mdstat ]; then
+ MD=${boot#/dev/}
+ boot="/dev/$(awk "/^${MD}/{print substr(\$5, 1, 3)}" \
+ /proc/mdstat)"
+ fi
+ ;;
+ esac
[ ! -r "${boot}" ] && return 0
- dd if="${boot}" bs=512 skip=0 count=1 2> /dev/null | grep -q LILO
- [ $? -eq 0 ] && run_lilo && return 0
+ dd if="${boot}" bs=512 skip=0 count=1 2> /dev/null | grep -q LILO \
+ && run_lilo && return 0
+
+ # try to discover grub and be happy
+ [ -r /boot/grub/menu.lst ] \
+ && groot=$(awk '/^root/{print substr($2, 2, 3); exit}' \
+ /boot/grub/menu.lst)
+ [ -e /boot/grub/device.map ] && [ -n "${groot}" ] \
+ && dev=$(awk "/${groot}/{ print \$NF}" /boot/grub/device.map)
+ [ -n "${dev}" ] && [ -r ${dev} ] \
+ && dd if="${dev}" bs=512 skip=0 count=1 2> /dev/null \
+ | grep -q GRUB && return 0
+
+ # no idea which bootloader is used
echo
echo "WARNING: grub and lilo installed."
echo "If you use grub as bootloader everything is fine."
@@ -151,17 +174,19 @@ mbr_check()
# Invoke bootloader
run_bootloader()
{
- # only run lilo if no grub is around
- # or if "do_bootloader = yes" is set
+ # if both lilo and grub around, figure out if lilo needs to be run
if [ -x /sbin/grub ] || [ -e /boot/grub/menu.lst ] \
|| [ -x /usr/sbin/grub ]; then
if [ -e /etc/lilo.conf ] && [ -x /sbin/lilo ]; then
[ -r "${KPKGCONF}" ] && \
- do_b=$(awk '/bootloader/{print $3}' "${KPKGCONF}")
+ do_b=$(awk '/^do_bootloader/{print $3}' "${KPKGCONF}")
if [ "${do_b}" = "yes" ] || [ "${do_b}" = "Yes" ] \
|| [ "${do_b}" = "YES" ]; then
run_lilo
return 0
+ elif [ "${do_b}" = "no" ] || [ "${do_b}" = "No" ] \
+ || [ "${do_b}" = "NO" ]; then
+ return 0
else
mbr_check
return 0
@@ -203,7 +228,8 @@ delete_sha1()
ro_boot_check()
{
[ -r /proc/mounts ] || return 0
- boot_opts=$(awk '/boot/{if (match($4, /ro/)) print "ro"}' /proc/mounts)
+ boot_opts=$(awk '/boot/{if (match($4, /ro/) && $2 == "/boot")
+ print "ro"}' /proc/mounts)
if [ -n "${boot_opts}" ]; then
echo "WARNING: /boot is ro mounted."
echo "update-initramfs: Not updating ${initramfs}"