[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: