bugGNU GRUB - Bugs: bug #38868, update-grub generates bad grub.cfg...

 
 

You are not allowed to post comments on this tracker with your current authentification level.

bug #38868: update-grub generates bad grub.cfg linux vm root=UUID in separate boot partition

Submitted by:  Douglas P Finch <doug10xspeedup>
Submitted on:  Thu 02 May 2013 08:31:33 AM UTC  
 
Category: BootingSeverity: Major
Priority: 5 - NormalItem Group: Software Error
Status: InvalidPrivacy: Public
Assigned to: NoneOriginator Name: doug10xspeedup
Open/Closed: ClosedRelease: 
Release: otherReproducibility: Every Time
Planned Release: None

Thu 02 May 2013 10:58:55 AM UTC, comment #1:

Wrong LPARAMS is a bug in linux-boot-prober. Please take issue to debian-boot team.

Vladimir Serbinenko <phcoder>
Project Administrator
Thu 02 May 2013 08:31:33 AM UTC, original submission:

The release is on ubuntu precise grub 1.99-21ubuntu3.9.

I have 4 servers, each with a 300GB main drive for Ubuntu roots.
Each is GPT partitioned with a BIOS Boot partition, a separate boot partition, and many [8] root partitions all sharing the same boot partition. This works great, and is easy to upgrade.

The problem is that the grub.cfg file generated by update-grub
has many repeated incorrect root=UUID=xxxxxxxxxxxxxxxxxxxxxxxx
parameters ending the linux vmlinuz lines.

One of the stock formating scripts in /etc/grub.d, specifically 30_os-prober has a significant error on blank line 217.

If I insert the following lines of code there, then the problem can be resolved:

##### ===== begin fix =====
LBOOTUUID="`blkid -o value -s UUID -d ${LBOOT}`"
echo " Found boot device ${LBOOT} UUID=${LBOOTUUID}" >&2
LROOTUUID="`blkid -o value -s UUID -d ${LROOT}`"
LPARAMS="`echo ${LPARAMS} | sed -e s/UUID=..................................../UUID=${LROOTUUID}/`"
echo " Found root device ${LROOT} UUID=${LROOTUUID}" >&2
echo " Fix ${LROOT} linux vm root=UUID=${LROOTUUID}" >&2
##### ===== end fix =====

For release just comment out the LBOOT stuff and the echo stuff.

The blkid tool provides the correct UUID for each partition.
The sed tool is used to patch in the correct UUID for each root.

The problem and resolution are rock solid on each of my servers.
This must be tested not just dual boot, but many [8] way boot.

There are many optimizations possible, there is no need to repeat invocations of the tools blkid and sed, they should be combined much earlier in the linux-boot-prober.

Anytime,

Doug

Douglas P Finch
Principal Software Developer and Consultant
-unavailable-
main: 253-863-3007
cell: 253-218-9313

Douglas P Finch <doug10xspeedup>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by phcoder (Posted a comment)
  • -unavailable- added by doug10xspeedup (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 15 Jul 2013 10:37:33 AM UTCphcoderStatusNone=>Invalid
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup