FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 02-13-2011, 12:19 PM
Peter Maydell
 
Default Bug#613200: linux-base: lilo.conf not updated to UUIDs for kernels not in /

Package: linux-base
Version: 2.6.32-30

I upgraded my Debian box to squeeze today, and after the initial
"install new kernel and udev" the system didn't boot because
linux-base hadn't correctly updated lilo.conf to use UUIDs rather
than /dev/hd*.

My lilo.conf had a stanza for the kernel like this:
# Linux kernel options:
image=/boot/vmlinuz # where to find it...
initrd=/boot/initrd.img
label=Linux # name to type to boot it
alias=l
root=/dev/hdb2 # Linux partition is D: 2nd partition
read-only # don't allow writes until it's been checked

...and linux-base's postinst didn't update the root= parameter.

This appears to be because _lilo_update() decides whether
to update an image= stanza using this regex:

$in_generic = ($value =~ m|^/vmlinuz(?:.old)?$|);

...which will only match if you were keeping your kernels
in /, not if they're in /boot/ as mine are.

Given that once you're running the new kernel lilo will
fail to handle the stanzas with /dev/hd* in them:
Fatal: Illegal 'root=' specification: /dev/hdb2

it seems to me that the best approach would be to rewrite
them in all image= stanzas.

-- PMM



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: E1Pobqz-0004W8-9K@mnementh.archaic.org.uk">http://lists.debian.org/E1Pobqz-0004W8-9K@mnementh.archaic.org.uk
 
Old 02-13-2011, 01:32 PM
Ben Hutchings
 
Default Bug#613200: linux-base: lilo.conf not updated to UUIDs for kernels not in /

On Sun, 2011-02-13 at 13:19 +0000, Peter Maydell wrote:
> Package: linux-base
> Version: 2.6.32-30
>
> I upgraded my Debian box to squeeze today, and after the initial
> "install new kernel and udev" the system didn't boot because
> linux-base hadn't correctly updated lilo.conf to use UUIDs rather
> than /dev/hd*.
>
> My lilo.conf had a stanza for the kernel like this:
> # Linux kernel options:
> image=/boot/vmlinuz # where to find it...
> initrd=/boot/initrd.img
> label=Linux # name to type to boot it
> alias=l
> root=/dev/hdb2 # Linux partition is D: 2nd partition
> read-only # don't allow writes until it's been checked
>
> ...and linux-base's postinst didn't update the root= parameter.
>
> This appears to be because _lilo_update() decides whether
> to update an image= stanza using this regex:
>
> $in_generic = ($value =~ m|^/vmlinuz(?:.old)?$|);
>
> ...which will only match if you were keeping your kernels
> in /, not if they're in /boot/ as mine are.

This has nothing to do with where the kernel images are (they are always
installed in /boot), but only to do with where the symlinks are created.
The default is to create them in /, but I recall there is an option (now
deprecated) to create them in /boot. I suppose we could check for that
as well.

> Given that once you're running the new kernel lilo will
> fail to handle the stanzas with /dev/hd* in them:
> Fatal: Illegal 'root=' specification: /dev/hdb2
>
> it seems to me that the best approach would be to rewrite
> them in all image= stanzas.

No, this is wrong because custom kernel configurations which do not use
an initramfs cannot interpret UUID specifications.

Ben.

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
 

Thread Tools




All times are GMT. The time now is 05:17 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org