Re: Switching from (deprecated) IDE driver -> SATA (PATA support)(found solution (scratch that))

From: Michael Tokarev
Date: Sun Jan 25 2009 - 08:15:33 EST


Justin Piszcz wrote:
>
> On Sun, 25 Jan 2009, Justin Piszcz wrote:
>> On Sun, 25 Jan 2009, Justin Piszcz wrote:
>>> On Sun, 25 Jan 2009, Justin Piszcz wrote:
>>>> On Sun, 25 Jan 2009, Justin Piszcz wrote:
>>>>> On Sun, 25 Jan 2009, Justin Piszcz wrote:

Wow, that's quite some ping-pong!.. ;)

[]
> Hm, I may have spoke too fast:
>
> Added: (IDE ONLY), no SATA:
> image=/boot/2.6.26-6
> label=2.6.26-6
> read-only
> root=current
>
> p254:/boot# lilo
> Added 2.6.26-6 *
> Added 2.6.28-4
> p254:/boot#
>
> Set to current.
>
> p254:/boot# grep =current /etc/lilo.conf
> root=current
> root=current
> p254:/boot#
>
> The reason current may have worked before is because I manually booted with
> root=/dev/sdd2 (after I saw the error that it could not find root,302, etc)
>
> So I am booting the old kernel without the SATA drivers with root=current
> to see if it works..
>
> Nope, so I need to figure out how to get the UUID= option working in LILO.

There's no way without using initramfs. Lilo only records the unix device
number (like 8:1 for /dev/sda1) and passes it to kernel (replacing `current'
with that number). But for different kernels (IDE vs PATA drivers) the
number will be different. Lilo itself - when booting at least - can not
know which device it will be.

The only universal solution is to use smart initramfs that will populate
/dev/disk/by-label/ etc (using udev maybe).

Another solution is to explicitly specify root=/dev/sda1 or root=/dev/hda1
when using pata- or ide-enabled kernels, in lilo.conf.

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/