lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 19 Apr 2010 19:31:21 -0600
From:	Robert Hancock <hancockrwd@...il.com>
To:	Jan Kundrát <jkt@...too.org>
CC:	Arjan van de Ven <arjan@...radead.org>,
	linux-kernel@...r.kernel.org
Subject: Re: boot device order troubleshooting without an initrd

On 04/19/2010 03:19 AM, Jan Kundrát wrote:
> Arjan van de Ven wrote:
>> so the problem is that the boot order you want is pretty much opposite
>> from what "normal" people want.
>> AHCI sata before CF slots is pretty much the right thing and what most
>> people will use.... most people will have their OS on AHCI SATA, and
>> occasionally stick in some photo card or whatever.... and they'd ask
>> the flipside question basically.
>
> On this particular motherboard, the CF slot is soldered to the bottom
> side of the PCB, so it is normally situated between the motherboard and
> the computer case, completely inaccessible to the user at runtime.
>
>> We could have pretty evil things in the kernel, so that we'd deal with
>> multiple root= lines in the kernel, one by one trying them until one
>> sticks. Right now we don't.... but if you make a clean enough patch
>> it might even pass the review here...
>
> If the ordering stays the same and such patch existed, I should probably
> use something like
> "root=/dev/sdf1,/dev/sde1,/dev/sdd1,/dev/sdc1,/dev/sdb1,/dev/sda1". Now,
>   I'd guess this would break as soon as I attempt to boot with a USB
> flash device present (I'm assuming it will be enumerated after the CF
> card, right?).
>
> So, in short, what I'd love to see is a special device alias which would
> mean the "BIOS-provided boot device". Would such an approach be
> reasonable? Is it possible at all?

The BIOS EDD information may provide information that would be useful 
for this. However, it seems not all systems implement it, and it's also 
not trivial to map the information it provides all the way back to 
figure out what actual device node to use. It gives you something like 
"BIOS INT13 device 0x80, which was presumably the boot device, is a SATA 
drive on port blah of PCI device blah", and then you have to dig up 
which device instance that is, look up the port it gives you, hoping the 
driver's port numbering is the same as whatever the BIOS used, then 
figure out what disk device that is, etc. And the whole thing is 
assuming the BIOS actually gave you correct information, which is far 
from certain.

It's possible to do all that, but that sort of logic likely doesn't 
really belong in the kernel, which means - you guessed it - an initrd. 
And in that case it's likely easier to just use mounting by label or 
UUID and avoid all the complexity.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists