Bug#697017: root=compute fails at parse_numeric() for lilo compatibility
On Sat, 30 Aug 2014 18:36:34 -0400 (EDT), Michael Prokop wrote:
>
> If someone would provide an up2date patch (against current git
> master would be awesome) which resolves this issue (without possibly
> breaking anything else :)) I'm absolutely willing to accept it.
Here is what I am currently using on my system:
http://users.wowway.com/~zlinuxman/kernel/parse_numeric.patch
Sorry, I know that it's customary to include patches inline, but my
e-mail client has the nasty habit of expanding tabs to blanks, inserting
extra line breaks, etc. Therefore, to prevent my e-mail client from
corrupting the patch, I have included a link instead.
I tried to think of every perverse case my devious little mind could
think of. (For example, what if there is more than one colon, what
if a colon is the first or last character, etc.)
Note that although the comments say "lilo compatibility", this code is
executed whenever the kernel boot parameters contain a "root" specification,
regardless of the hardware architecture and regardless of the boot loader.
It is associated with lilo because lilo translates a specification of
root=/dev/...
in /etc/lilo.conf into the corresponding kernel composite device number,
such as
root=801
This translation takes place behind the user's back. The user never sees
this number. But the kernel does. However, you can always code a root
file system specification in this format directly, if you want to, with
any boot loader.
Let me know what you think.
--
.''`. Stephen Powell
: :' :
`. `'`
`-
Reply to: