I added an entry to grub’s menu.lst and reran grub (grub-install hd0) and now my background is gone and the entries just show up like on a normal console.
I searched the forums and I couldn’t find anything. Does anybody know why this happened and how to fix it?
I have not changed anything in menu.lst except for adding the new OS.
This is simple. It can be done in YaST Boot Loader but probably even easier to do with a text editor. So if using KDE press Alt-F2 and in the run dialog type:
kdesu kwrite /boot/grub/menu.lst
If using Gnome, then it is
gnomesu gedit /boot/grub/menu.lst
The line which controls the splash screen is near the top, and looks something like this:
gfxmenu (hd0,0)/boot/message
If it is missing, just add it. Make sure that the “(hd0,0)” is the same as the “root” line in the boot stanza below that you use. So if you have a line that is “root (hd0,5)” then you want the gfxmenu line to be (hd0,5), too.
By the way, if you make changes to menu.lst, you rarely need to reinstall grub. Reinstalling is only necessary if you are changing the location of where grub is installed to or changing the partition of where its loader program (stage2) is located, the order of the boot disks has changed, or the like. And don’t use the “grub-install” script; in openSUSE that simply passes /etc/grub.conf as an installation instruction to the grub shell, and that file was created when you last used YaST to install grub - so it is conceivable it could be doing something different than you intend. The vanilla grub-install script in openSUSE is grub-install.unsupported, and is less reliable than YaST. What is absolutely most reliable is to use the grub shell interactively from the command line.
The line gfxmenu (hd1,11)/message is still there, I didn’t change that part.
When I saw your post I realized that maybe /boot needed to be added to the path; I changed it and tried again and same thing, no background picture.
Thanks for your other comments- I know it is not necessary to rerun grub just to add an entry. But since the original grub install under SUSE was done automagically and I didn’t know what he did and because my new OS install overwrote the MBR, I had to install GRUB again from a live CD.
Then I went back into openSUSE and installed grub to the MBR again to make sure I had the latest gfxmenu support.
Anyway it is still white letters on black! What should I check for next? Thanks for your help.
Here is my menu.lst. My boot partition is /dev/sdb12.
# Modified by YaST2. Last modification on Wed Jan 7 17:44:36 UTC 2009
default 0
timeout 10
gfxmenu (hd1,11)/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.7-9
root (hd1,11)
kernel /vmlinuz-2.6.27.7-9-default root=/dev/disk/by-id/ata-sanitized-part3 resume=/dev/disk/by-id/ata-sanitized-part2 splash=silent showopts vga=0x31a
initrd /initrd-2.6.27.7-9-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.1 - 2.6.27.7-9
root (hd1,11)
kernel /vmlinuz-2.6.27.7-9-default root=/dev/disk/by-id/ata-sanitized-part3 showopts ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a
initrd /initrd-2.6.27.7-9-default
###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (fd0)
chainloader +1
###Added by operator: FreeBSD###
title FreeBSD
root (hd0,0,a)
kernel /boot/loader
But I have read and participated in some similar threads with other users. And the problem persists. I kind of lost track of them so I don’t know if any were solved.
I have a feeling there is a bug in managing changes to the menu.lst via yast bootloader. Did you use that? Rather than a manual edit initially?
I know with some it has screwed the grub location.
Not a kernel problem.
Do to yast system boot select your openSUSE and add the appropriate value in vga from the table below:
Bit hard to read but you should be able to work out yours i use 0x31A
Hi
Which AFAIK is controlled by gfxboot and gfxboot-branding-openSUSE,
have a look at the man page and your config.
Just did a quick check by moving the /boot/message file, lost grub
colored screen but still got the graphical screen whilst boot. Then
moved it back and grub colored screen was back.
My suggestion is to uninstall the gfxboot-branding-openSUSE, then
re-install or use the actual rpm to re-install with --force to
ensure /boot/message is re-installed.
–
Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.1 x86 Kernel 2.6.27.7-9-pae
up 1 day 21:18, 2 users, load average: 0.07, 0.11, 0.06
GPU GeForce 6600 TE/6200 TE - Driver Version: 180.22
The vga parameter on the kernel line is for the vesa framebuffer baked into the kernel and bootsplash which is built into the initrd, for the bootsplash to work. This parameter is not used until the kernel is called by grub, i.e., the grub menu has already been loaded.
The gfxmenu grub splash is different. It uses low-resolution/low bit-rate that virtually all bios’s support. But it does have to be callable/loadable by grub stage2.
Thanks for your suggestions. Malcom I was sure it was going to work but I still have no background! I removed the gfxboot opensuse branding package and reinstalled it. I verified that /boot/message has a new date/time stamp. It still doesn’t work!
I have a similar problem with opensuse 11 and 11.1 and I looked into everything you did. In my case was that have on an usb external drive. As soon as I turned off during the booting it worked OK and the splash screen came up again.
I recently went through a “change the GRUB background image” drill on my AMD64 box. You have to keep things straight, and it all works out:
You put the GRUB program in the right place (MBR of hd0 is fine)
You have a /boot/message file
The /boot/grub/menu.lst file references the message file as
gfxmenu (hd0,n)/boot/message
where n is the 0-based partition number of hd0 containing /boot/message
hd0 is the first disk in your BIOS boot order
The message file, when cpio’d, really has the desired picture file in it
GRUB is pretty adaptable; there may be some confusion as to what GRUB program is executing when (that boot/root terminology is a bit confusing.) I ended up going with MBR of the primary disk, and putting in a small boot partition. Now, I think it is a bit of overkill–it ends up holding menu.lst and little else. But now I have a nice Linux Inside boot background picture.
One good idea is to back up your MBR sector with a dd command before messing with GRUB options.