bug-grub
[Top][All Lists]
Advanced

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

[bug #38868] update-grub generates bad grub.cfg linux vm root=UUID in se


From: Douglas P Finch
Subject: [bug #38868] update-grub generates bad grub.cfg linux vm root=UUID in separate boot partition
Date: Thu, 02 May 2013 08:31:35 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0

URL:
  <http://savannah.gnu.org/bugs/?38868>

                 Summary: update-grub generates bad grub.cfg linux vm
root=UUID in separate boot partition
                 Project: GNU GRUB
            Submitted by: doug10xspeedup
            Submitted on: Thu 02 May 2013 08:31:33 AM GMT
                Category: Booting
                Severity: Major
                Priority: 5 - Normal
              Item Group: Software Error
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: doug10xspeedup
        Originator Email: address@hidden
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 
                 Release: other
         Reproducibility: Every Time
         Planned Release: None

    _______________________________________________________

Details:

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
address@hidden
main: 253-863-3007
cell: 253-218-9313






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?38868>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]