Colin Harrington

Customizing rEFIt (an EFI Bootloader – Intel Macs) Slick!

by on May.05, 2009, under General, Linux, Logo, Ubuntu

I recently installed Ubuntu 9.04(Jaunty Jackalope) on a 17" Macbook pro and as a part of that process, I had to install a bootloader called rEFIt.  You could think of EFI is just a next-gen BIOS.

Even though the bootloader looks decent, I don’t like the look of silver/grey color, so I decided to customize it.  The process to customize rEFIt was relatively straight forward and the result is beautiful.

This is what I came up with:

background

This is what it looks like with a Windows Partition:

boot screen with 3 icons

I love the simplicity of it!!

Here is a closeup of the icons / OS Choices:

 

I don’t really know where the icons came from, but they look tasty :-)  On Linux there is a decent package for working with mac icons (.icns) or sudo apt-get install icnsutils  which will get you some useful tools (png2icns and icns2png)

I did have to make a few modifications to the Tux icon [os_linux.icns] to give him a ‘glow’ so that he doesn’t fade into the black on black:

Tux Crystal Modified by Colin

This windows Icon [os_win.icns] is the stock version I think (send me a link to the author if you know):

 

I did add a slight ‘glow’ to the apple icon [os_mac.icns] (send me a link to the author if you know):

I tried a number of custom ‘selected’ themes but gradients didn’t look right, so I went with the simple plan.  The selection bitmap can be found here:

selection_big.bmp

 

the process is simple once rEFIt is installed:  modify the refit.conf with the icons in place, and you are done!

Here is what I came up with for my refit.conf (comments removed):

timeout 5
banner hostname.bmp
selection_big   selection-big-ring.bmp
hideui tools shell funcs hdbadges label
legacyfirst

The original comments in the refit.conf file are helpful!  Its straight forward if you can read :-)

  • timeout = the number of seconds before it automatically chooses for you
  • banner = the bitmap of the upper part of the screen (top left pixel = background color)
  • selection_big = the grey ‘ring’ that indicated the selection
  • hideui = Hide elements of rEFIt so we can get a clean interface
  • legacyfirst = Legacy OS first (Linux)

Use at your own risk!!

If I had the time, it would be fun to build/enhance rEFIt to have an all-black fill instead of the grey/silver.

I’ve had a good experience with Ubuntu 9.04 on a 17" Macbook Pro, and I’ll Blog about it – and see what I can do to help update the documentation – look for an upcoming post.

 

:, , ,

69 Comments for this entry

  • Brad

    Nice! what vintage MBPro are we talking about here? Running an early ’07 17″ core2 on my end. Lotsa fun trying to triple boot win7 ubuntu 9.04 and leopard with a shared data partition – no joy since I can’t EFI boot due to the laptop firmware not supporting UEFI 2.0. hoping snow leopard includes firmware updates!

    So I went back to a ‘traditional’ 4 partition + linux swap setup. Will try your rEFIt mods. thanks for posting!

  • Colin

    Brad,

    Mine is a late 2007 17″ MBP. $ sudo dmidecode -s system-product-name
    MacBookPro3,1
    I’m only dual-booting with Ubuntu and OSX, but that is what it looks like with a windows install disc in the drive.

    There are tutorials on how to triple boot pre-win7 but that shouldn’t change much should it?
    https://help.ubuntu.com/community/MactelSupportTeam/AppleIntelInstallation

  • Jason

    What are the required dimensions of the hostname.bmp file?

  • Colin

    Jason,

    I made mine 1920×449 (note: this may differ on your Hardware!!! Check your own display)

    I found the 449px height on this blog (translated)

    I haven’t tried different sizes since I don’t know how it would react to a large image… but I was able to get 1920×449 to work for me.

  • Ribboz

    I got everything running, and I think Im on the 15 inch version of your computer. But, I cant get the background to be black. Everything else works, any ideas? or did I miss something. I just followed what you said. :D
    Thank you

  • Colin

    Hi Ribboz,

    The Default refit.conf tells us that we can:
    # Use a custom title banner instead of the rEFIt icon and name. The file
    # path is relative to the directory where refit.efi is located. The color
    # in the top left corner of the image is used as the background color
    # for the menu screens. Currently uncompressed BMP images with color
    # depths of 24, 8, 4 or 1 bits are supported.

    So you will need to have a banner (banner banner.bmp) and the the background color is taken from that file. If you don’t want a custom image, just make a black bitmap.

    Keep in mind that the banner doesn’t go in the icon directory!

    There is a post about Customizing rEFIt with another theme over on ubuntuforums.org

    Hope this helps you get it polished :-)

  • Ribboz

    Thank you very much. I really enjoy this setup you made. :D

  • Matt E

    Hey thanks for taking the time to write this up, I yoinked your icons! :)

  • whitehawk82

    Ok, what versions do people have this running with? I can not get refit to recognize my bmp. I have tried numerous bmps but the only effect I get from un-commenting the banner line is the refit logo disappears, it does not show my banner at any size, even a 1×1 and it does not change from silver. the banner file (i left it as default hostname.bmp) is in the /efi/refit folder (as well as refit.efi) any ideas? I’m running 0.13

  • Colin

    whitehawk82, This post was done using rEFIt 0.13. Have you tried using the selection bmp that I included in the post? I used Gimp to create my bmps and that worked well for me.

  • Henry

    Hey, I am trying this, but the selector doesnt go around the icon, it goes above the icons in the middle? and it is still grey around the icon selected

    help please

  • Henry

    edit: Everything is now fine except there are now two selectors, one in the right place, and one above the icons in the middle

  • qazeqaz

    yea so im really confused and cant get this to work……. where do i insert this and how do i do it lol?!?!?!

  • Adam

    Hi Colin. Thanks for the awesome graphics and tutorial. I used it on my MacBook 6,1 and it looks spectacular.

    Thanks for providing the easy-to-use tutorial.

    One question though. Is it possible to change the standard/default text color (for the countdown timer) from black to another color? I created a black-colored bmp file for my background and of course black text is going to be obscured by the black background.

    I’ve googled and checked the rEFIt documentation and there’s no accounting for this tweak.

    Any ideas? thanks-
    Adam

  • Adam

    Followup: I guess we’ll have to wait this one out, but with good reason:

    The ability to change the color of the text (i.e. OS choice and countdown timer) is currently in “feature request” mode over at sourceforge.net

    http://sourceforge.net/tracker/index.php?func=detail&aid=2799978&group_id=161917&atid=821767

    Cheers,
    Adam

  • ahmed

    hii , thanks very much for this topic .
    i did all you said here , but i have 1 problem thats
    take me 2 weeks of searching without luck , the problem is i have 3 partitions shown in refit (osx,ubuntu,win7) + “data partition” for storage formated as ntfs , when i try to format it as fat32 its dissappear from refit .
    so can any one know how can i remove it from refit .
    any advise will be thankful .

  • Simolinic

    These look great, and I can get your files to work just fine. I’ve also been able to make my own .icns files and replace them with no trouble.

    However, when I save any .bmp, it isn’t recognized by refit. I’ve created .bmps in Photoshop CS4, Acorn, Skitch… no dice. If I take a .bmp that works, open it in Photoshop and save it without making any modifications, it doesn’t work anymore.

    So there must be some setting I have wrong. I guess? But I’ve also tried saving the .bmp as every possible output variation (16-bit, 24-bit, OS/2, Windows, etc.) and none of them work either.

    One thing I haven’t really played with is the image color settings – I’ve been working in 8-bit RGB. I guess I’ll try changing those next.

    What began as an idle interest has become – as so often happens – a quest to figure out why on earth I can’t produce a compatible bitmap. The worst part is that it’s almost certainly some tiny, should-be-unimportant setting or something.

    If you have any insight, even the specifics of how you saved the .bmp files (if you recall), I’d really appreciate it.

    Thanks for the great info and post.

  • Simolinic

    I was able to get it to work, by taking a functional hostname.bmp and replacing its contents without doing a “Save As.” There are several rEFIt re-skins that I found, and I could use any of their hostname.bmp files, but I couldn’t create my own .bmp in Photoshop. I created what I wanted it to look like in one file, opened the functional .bmp, pasted my new graphics into the existing hostname.bmp, flattened, then JUST “Save.” Not “Save As.”

    For whatever reason, any bitmap created by Photoshop on my computer doesn’t work, but I can modify one that does, and it still works. Some nonsense I haven’t yet traced.

    Just posting this in case anyone else has a similar issue.

  • cga

    Hi, nice howto and images, I used yours and some of these: http://vackermann.deviantart.com/art/Museo-a-theme-for-rEFIt-114022464

    to make my rEFIt look better: http://img707.imageshack.us/i/myrefitunitheme.png/

    Question: I only wonder how to make a black background. Can you link us the image and the line of refi.conf ?

    Here’s my refit.conf:

    timeout 10
    disable all
    selection_big SelectionL.bmp
    selection_small SelectionS.bmp
    hidebadges internal
    hideui banner shell tools
    legacyfirst

  • cga

    post scriptum:

    also, can you tell us howto to show hostname in the middle just above the os icons? (or in any position?)

  • Colin

    The background color is taken from the first pixel (top left) in the banner image. Also the hostname is part of the banner image, so it really could be whatever you wanted.

  • cga

    Hi Colin,

    I managed to get a black rEFIt screen (+ your selections) with a 14×14 pixel hostname.bmp found on idflood.com, but I finally made my mind up about colors and I ditched black in favor of gray.

    Anyway no matter what I try I cannot get my “banner hostname.bmp” to show up with my hostname: (big with name, made myself and named graywithname.bmp) http://yfrog.com/jpgraywithnamep

    This is what I’d like to achieve as a final result: http://yfrog.com/j7myrefitunithemegraywithp

    BUT there’s one big problem, when I enable my hostname.bmp (if different from the one above 14×14):

    [...]
    banner graywithname.bmp
    hideui label shell tools
    [...]

    I get a black screen at boot and cannot boot from rEFIt. The only thing left Is to boot from a rEFIt CD.

    I read in the above comments that the only way to get hostname work is to edit a working hostname.bmp file and just paste and Save it (not Save as) into it. I did try this way but cannot get it to work neither like this.

    What do I do wrong?

    Please
    Thanks


    cga

  • cga

    Ok big news!!

    I managed to make a custom hostname by working a bit hard and logically with Photostop. Can’t remember the exact steps but here’s some off the top of my head:

    - use rEFIt default gray for bg (RGB=191)
    - merge layer (bg and text)
    - flatten image
    - convert image mode -> grayscale
    - save as bmp

    This is what I achieved: http://yfrog.com/jtmyrefitunithemeactualrep

    I’m almost there. I think that the hostname position cannot be changed since (i guess) it’s hardcoded in rEFIt code somewhere.

    Can anyone please disprove this and tell me how to position the hostname like this: http://yfrog.com/j7myrefitunithemegraywithp

    Please thanks


    cga

  • cga

    post scriptum: (sorry i cannot edit post)

    in those steps above i forgot to mention that dimensions are important.

    if i try with a native 1280×800 image i get the hostname shown in default position and a gray background without boot options/icons.

    only by using a smaller image (say 400×108) i can get it to work in that position as this: http://yfrog.com/jtmyrefitunithemeactualrep

  • Colin

    @cga I had to make my banner 1920×449 instead of 1920×1200. You might try to make yours something like 1280×150 or similar dimensions. I don’t think that the banner is supposed to be a full-size background image, but just the banner image on the top portion of the screen.

  • cga

    Hi Colin,

    I see, thanks.

    I’ll try one last time with those proportions.


    cga

  • Locksmith

    Fantastic and simple, just what I like, I’m posing your link on my blog.
    Good job!
    -Locksmith

  • Stuck

    Just tried this customization on a macbook pro running Win7 and OSX and ran into a big problem:

    After modifying the refit.conf file and adding your ring.bmp and my own hostname.bmp I restarted and rEFIt loads just my hostname.bmp but nothing else, not the OS options to boot to!

    If i hold option at startup I can still use BootCamp to choose between my windows partition and the partition now called rEFIt to boot into windows (if I choose rEFIt i get to the same blank screen). Problem is I cannot modify any files on my OSX partition from windows so I can not just get rid of rEFIt so I can boot to OSX without getting through it.

    I modified the .const file to:

    timeout 20
    banner hostname.bmp
    selection_big selection-big-ring.bmp
    hideui tools shell funcs hdbadges label
    legacyfirst

    so it’s not like i hid badges under the hideui option. Also I was hoping that the timeout 20 would kick in but i’ve let it sit for 5+ min and no response.

    Any ideas what I can do to force a startup into OSX so I can re-tweak rEFIt to try and avoid this problem?

    Thanks!!

  • Colin

    I think I had something like this happen to me once, I ended up booting into Linux using the option key (before refit). I had to mount my OSX drive with HFS+ (forced…) and edited a few contents in the refit directory.

    I seem to remember that my hostname.bmp was just too big, and once I made that much smaller that it ended up working fine.

    Hope you find your way! (as always, use at your own risk…)

  • Rick

    Sorry if this has been covered but what location are you giving the “banner hostname.bmp”? I cannot find the original file…

  • mesut

    hi
    how can I change “refit” image ? actually I want to make this;
    black back screen
    change or delete refit image
    and showing only OS icons
    no timeout

    how can I do this ?

    thanks

  • san diego auto insurance company

    Great site. Lots of useful info here. I’m sending it to a few friends ans also sharing in delicious. And certainly, thanks for your sweat!

  • Treeant34

    Hi Colin:

    I had recently found an old YouTube (http://www.youtube.com/watch?v=biu3l_esNjY) that supplied alternate icons and the altered config file but the download link was dead…

    I then discovered your blog (http://colinharrington.net/blog/2009/05/customizing-refit-an-efi-bootloader-intel-macs-slick/) and would like to give my upcoming Macbook triple boot a rEFIt boot menu facelift using your guidelines…

    The rEFIt documentation doesn’t show what a modified Config file looks like…

    The rEFIt config file mystifies me and I was hoping that you could send me the config file that you used with the comments in place so that I could puzzle out what you did…

    Appreciate your time

    T

  • Treeant34

    PS:

    Looks like this fella has pirated your work (http://brandoneffect.blogspot.ca/2012/02/mac-os-x-how-to-customize-refit-menu.html) without giving you due notice

    T

  • Colin

    Thanks for the heads up. Looks like an automated content thief.

  • Colin

    I actually posted the un-commented sections of my refit.conf file above but here is what I’m using now.

  • Addie

    Hi, how to show only 2 boot icons? My Mac always show three icons :Mac, Mac Recovery, and Windows. How to remove the Mac Recovery icon?

    Thanks!

  • Colin

    @Addie: I only have 2 partitions, I don’t have a Mac Recovery partition. I don’t know if you can hide the recovery partition.

  • Erik

    Hi. I have done a lot of this type of theme work. However not with rEFIt’s config file. I have completely themed rEFInd however. If you want to make the Recovery HD icon disappear from the rEFIt boot screen, you have to boot into OS X and then enable Disk Utilities ability to display hidden partitions. An easy ‘non Terminal’ method to do this is to 1st install the Secrets Preference pane. Then launch this & select Disk Utility and check “Show hidden Partitions”. Then from Disk Utility mount the Recovery HD partition and open the folder named: com.apple.recovery.boot, then zip a copy of boot.efi and leave the zipped copy there & then delete the original. This will make the Recovery HD partition disappear from the rEFIt as well as the Mac’s Boot Picker as well. Note: This will also render the Recovery HD partition as UNBOOTABLE until you go back and un zip the boot.efi file. NOT recommended if you are using Lion’s whole disk encryption at all!

    Have fun.

  • Super Man

    Hey, do you know a way to remove partitions without operating systems on them from the refit menu? I have a triple boot with a shared partition and I don’t want to see it from my refit menu.

  • Harmy

    Guys, is it possible to increase the dimensions of OS icons.? Thanks.

  • Colin

    I think rEFIt requires a specific size. Why do you want to do that? (Retina?)

  • Tony

    Hey Colin!
    Amazing Stuff, really a huge help. Great having people document this stuff on the web, makes it easy for us people who don’t know enough.

    I had one question, is there a possibility to have different icons for partitions of the same OS? I am triple booting OSX, Win7, and WinXp and was hoping to use two seperate logos for the windows. This is all I could find on it online: http://www.zqna.net/qna/ihurhp-how-to-assign-different-refit-icons-for-multiple-mac-partitions.html

    I don’t know exactly how this would work, as I am not sure if refit appears on the Windows Partitions like it does on the Mac. Anyways thanks a ton and hopefully theres a solution to creating multiple icons for the same OSX.

    Tony

  • Colin

    @Tony: Glad to get more info out there!

    Looks like there are two different windows icons that you might be able to use: http://refit.sourceforge.net/doc/c3s1_icons.html

    Try replacing the os_winvista icon and see if windows7 uses that, I’d assume that windowsXP would use the os_win icon. If not then I don’t know of a way.

    On a related note, I’ve been eyeing rEFInd – a fork of rEFIt that allows for more customization. I haven’t tried it yet, but that is on my short-list to try out. I’ll be sure to blog about it when I get a chance.

  • Tony

    thanks keep up the blogs, putting out really great stuff!

  • Tony

    P.S. IT WORKS!

    Although there was no os_winvista in the icons directory, I saved my windows 7 .icns to there as os_winvista.icns and it switched it on the next boot.

    Kept the winXP the same too.

    Looks even better and helps to distinguish the partitions.

  • Mitzie Brossoit

    Passed by your post and decided to share it on my blog so my followers can see it too. I used the same title, “Customizing rEFIt (an EFI Bootloader – Intel Macs) Slick! – Colin Harrington”

  • Mike Brave

    thanks for the tutorial it really helped, just in case someone else wants to use it I made some icons for windows, mac and ubuntu check it out here

    http://themichaelbrave.deviantart.com/art/rEFIt-Icon-Design-Mac-Windows-Ubuntu-354993971?ga_submit_new=10%253A1361174963

    I never could get rEFIt to change the background color but a small modification to the big highlighter to a lighter grey to match and it looks fine.

    anyways hope this helps

2 Trackbacks / Pingbacks for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!