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
| ||
|
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