Splash image not shown when using device UUID as root

Bug #347790 reported by Roberto C. Morano
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub (Guadalinex)
Fix Released
High
Roberto C. Morano
grub (Ubuntu)
Fix Released
Undecided
Colin Watson

Bug Description

I have checked that grub is not showing the splash image when an UUID root is used, which seems the default way 'update-grub' configures 'splashimage' variable in /boot/grub/menu.lst.
An example of a non-working 'splashimage':

splashimage=6f421c1a-1903-4f7e-991a-3667a1299609/boot/grub/splash.xpm.gz

Although, using old root notation works. In my case:

splashimage=(hd0,4)/boot/grub/splash.xpm.gz

I have tried using the UUID in 'groot' variable (which is filled right but commented by default) and letting 'splashimage' just containing the image path and it works aswell.

We are using near the latest version of grub from jaunty:

* grub 0.97-29ubuntu50
* grub-common 1.96+20080724-12ubuntu2

description: updated
tags: added: grub guadalinex jaunty splash splashimage
Changed in grub (Guadalinex):
assignee: nobody → rcmorano
importance: Undecided → High
Revision history for this message
Juanje Ojeda (juanje) wrote :

This was confirmed by other person in the comment to other bug:
https://bugs.launchpad.net/ubuntu/+source/grub/+bug/51866/comments/16

Changed in grub (Guadalinex):
status: New → Confirmed
Revision history for this message
Juanje Ojeda (juanje) wrote :

Added patch for fixing this.

Actually it's kind of workaround because the patch set the root stanza in those cases where the grub root device is an UUID value.
This fix the problem, but I guess the real fix will be to give to splashimage load the capacity of use uuid uris.

Revision history for this message
Juanje Ojeda (juanje) wrote :

I've been added a new branch (lp:~guadalinex-members/grub/fix_splashimage_uuid_by_groot) where I've integrated the previous patch on the current (0.97-29ubuntu51) package.

This will fix the problem for those cases where the user, after put a splash image on /boot/grub/ run update-grub so the /boot/grub/menu.lst is regenerated and finish the splash image installation.
With the current official package the update-grub will attach the device's UUID identificator as a prefix to the image path, but Grub doesn't understand for that stanza that kind of path, just the grub device format or a relative path to a root device previously set.

For that reason in this patch we set the 'root' stanza before defining the 'splashimage_path' variable and then we remove the 'grub root device' from that path. But just in those cases where the 'grub root device' is an UUID value. Which actually will happen in all cases in Ubuntu since we move to UUID identificators instead Grub or Linux formats for the devices.

Changed in grub (Guadalinex):
status: Confirmed → Fix Committed
Changed in grub (Ubuntu):
status: New → Confirmed
Juanje Ojeda (juanje)
Changed in grub (Guadalinex):
milestone: none → alpha
Revision history for this message
Colin Watson (cjwatson) wrote :

This needs to emit something like this in the UUID case:

  uuid foo-bar-baz
  splashimage=/relative/path

(as opposed to splashimage=(hdX,Y)/relative/path)

If that doesn't work, it'll need to be made to work.

Revision history for this message
Juanje Ojeda (juanje) wrote :
Revision history for this message
Juanje Ojeda (juanje) wrote :

I've generated the package with that patch in the ppa:
https://edge.launchpad.net/~guadalinex-members/+archive/ppa

And I have tested on a Ubuntu Jaunty box. I think it was a alpha6, but it's already updated to the todays packages.

I run the next steps:
 1- I put the file in the correct place: /boot/grub/splash.xpm.gz
 2- Removed the old '/boot/grub/menu.lst'
 3- Run 'update-grub'
 4- I checked the new /boot/grub/menu.lst and it showed what was spected:
  uuid [UUID value]
  splashimage=/boot/grub/splash.xpm.gz
 5- I rebooted the system and the splash image showed up.

This patch seems to work fine and now follow all the advices Colin give me.
The branch has also the patch.

Revision history for this message
Colin Watson (cjwatson) wrote :

Thanks, I've merged your branch now. The only changes I made were to fix up some tab/space desynchronisation in update-grub and to add a debian/changelog entry.

Changed in grub (Ubuntu):
assignee: nobody → cjwatson
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub - 0.97-29ubuntu52

---------------
grub (0.97-29ubuntu52) jaunty; urgency=low

  [ Colin Watson ]
  * Remove old debian/patches/ubuntu_update_grub.diff. It wasn't applied
    anyway, but the fact that it patches files in debian/ was causing
    confusion. It's preserved in revision control if we need it later.

  [ Juanje Ojeda ]
  * debian/update-grub: Output uuid before splashimage if necessary
    (LP: #347790).

 -- Colin Watson <email address hidden> Tue, 07 Apr 2009 13:11:19 +0100

Changed in grub (Ubuntu):
status: Fix Committed → Fix Released
Juanje Ojeda (juanje)
Changed in grub (Guadalinex):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.