PDA

View Full Version : The Definitive Guide to Theming GRUB2



towheedm
8th April 2012, 06:23 AM
Would you like to learn to theme GRUB2? Now, when I say theme GRUB2, I don't mean to simply add a wallpaper and change the text's colors. I'm talking about adding graphics, different fonts, scrollbar, progress bar etc. Check out the link below.

Interested? Well it's all explained in my latest tutorial 'The Definitive Guide to Theming GRUB2'. The tar archive includes all the files for the tutorial which is a PDF document over 100 pages long.

The 2nd and 3rd editions are now available for download here:
http://ubuntuone.com/2EslXTLj5s2zzbeYKx17wJ

This now covers GRUB v1.99 for the following distros:

* Arch Linux 2011.08.19 using GRUB 1.99-5
* Debian Squeeze using GRUB 1.99-14 from Debian Wheezy
* Debian Wheezy using GRUB 1.99-14
* Fedora 14 (Laughlin) and Fedora 15 (Lovelock) using GRUB 1.99-13.fc16 from Fedora 16
* Fedora 16 (Verne) using GRUB 1.99-13.fc16
* LinuxMint 10 (Julia) using GRUB 1.99-12ubuntu5-1linuxmint1 from LinuxMint 12
* LinuxMint 12 (Lisa) using GRUB 1.99-12ubuntu5-1linuxmint1
* Mandriva 2011.0 (Turtle) using GRUB 1.99
* openSUSE 11.3 (Teal) and openSUSE 11.4 (Celadon) using GRUB 1.99-8.7.2 from openSUSE 12.1
* openSUSE 12.1 (Asparagus) using GRUB 1.99-8.7.2
* Sabayon 7 using GRUB 1.99
* Slackware Linux 13.37 using GRUB 1.99
* Ubuntu 10.04 (Lucid), 10.10 (Maverick) and 11.04 (Natty) using GRUB 1.99-12ubuntu3 from Ubuntu 11.10
* Ubuntu 11.10 (Oneiric) using GRUB 1.99-12ubuntu5
* VectorLinux 7.0 using GRUB 1.99

It includes instructions to upgrade to GRUB 1.99 from the repos of the respective distros.

I have left the 2nd edition, which covers GRUB 1.98, in the tar archive.

glennzo
8th April 2012, 01:20 PM
Might be interesting but I'm not signing up just to download a file.

towheedm
8th April 2012, 04:58 PM
Sorry for the mix-up people. Apparently, 4share.com have changed their rules on downloading files. Any ideas on another hosting site without the sign-up restrictions?

towheedm
9th April 2012, 04:11 AM
Cool. I've PM'ed Dangermouse as you suggested. I will continue to look at other options.
Thanks.

---------- Post added at 11:11 PM ---------- Previous post was at 12:52 PM ----------

Thanks to the admin for replacing the deleted links with the new one in the first post.

kkshethin
5th May 2012, 08:46 AM
Hey, thanks for a cool guide.

I downloaded 3rd edition. Extracted it to Documents. Run install.sh as root. It copied to /boot/grub2/themes/demo.

But failed to work, after trial and error, I foundout reason. The file theme.txt should be in /boot/grub2/themes/demo but it was in boot/grub2/themes/demo/demo.

In short, demo was copied inside demo again.

I copied contents of /boot/grub2/themes/demo/demo in /boot/grub2/themes/demo.

Then it worked. I think you should correct your install.sh script.

One more thing. There are no icons in front of grub entries. There are no fedora-24.png file also. Help, please

towheedm
6th May 2012, 04:22 AM
Where in the guide does it refer to the fedora-24.png file?

As for the icon:
1. Is the icons directory under /boot/grub2/themes/demo?
2. What is the GRUB_DISTRIBUTOR variable set to in /etc/default/grub?
3. Is this for the native OS, or also for probed OSes?

What release of Fedora are you using?

As for the install script, I tested this several times on each of the distros mentioned in the guide. But just in case, I'll recheck it later tonight?

---------- Post added at 11:22 PM ---------- Previous post was at 09:22 PM ----------

I've rechecked and the script works fine. Exactly where in the guide did you get the problem with the theme being installed into /boot/grub2/themes/demo/demo?

kkshethin
6th May 2012, 06:23 AM
If i have reported wrong then i am sorry. i might have made mistake.

this is my /etc/default/grub file


#GRUB_TIMEOUT=5
#GRUB_DISTRIBUTOR="Fedora"
GRUB_DEFAULT=0
GRUB_TIMEOUT=30
GRUB_DISTRIBUTOR="$(lsb_release -i -s 2> /dev/null || echo Fedora)"
GRUB_CMDLINE_LINUX_DEFAULT="quiet rhgb"
GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 KEYTABLE=us SYSFONT=latarcyrheb-sun16 rd.luks=0 LANG=en_US.UTF-8"
GRUB_GFXPAYLOAD_LINUX="keep"
GRUB_DISABLE_RECOVERY="true"

GRUB_THEME=/boot/grub2/themes/demo/theme.txt

GRUB_GFXMODE=1024x768

GRUB_BACKGROUND=/boot/grub2/themes/demo/terminal-background-workaround.png

I am dual booting fedora16 & windows 7.

--------------------------------------------------------------------

it is working now after adding icons dir to demo.

i must have erred during directory extraction. thanks very much.

towheedm
6th May 2012, 06:33 AM
Your /etc/default/grub seems OK.

With respect to the icons, do you have the icons directory copied to /boot/grub2/themes/demo?

With respect to the install script, where in the guide were you when it copied the demo directory to /boot/grub2/themes/demo?

I'm not saying you were wrong. If there's a problem in the guide, I'd certainly want to know so that it can be corrected.

kkshethin
6th May 2012, 06:51 AM
Icons are there now after i corrected icons directory. so now no problem, thanks

Regarding fedora-24 png file, in top-left corner, there are small symbols of other distros such as debian, gentoo and there are correspong files in theme which are named with *-24.png. There is no fedora symbol and there is no fedora-24.png file. So i thought that may be that file is required to display fedora symbol at top-left corner alongwith other distros symbol.

Anyway thanks for this nice script. My daughter is very pleased by this menu (for her only i am dual booting.

towheedm
6th May 2012, 02:52 PM
You're welcome.

The images at the top left are meant to demonstrate the canvas components. Not all distros are shown. You can find other themes here:
http://ubuntuforums.org/showthread.php?t=1823915