Booting CD with grub 

Newsgroups: gmane.linux.debian.user
Date: 2007-08-09

http://article.gmane.org/gmane.linux.debian.user/298984/

(Compilation note, message edited to fix the problem and hide the question)

I put stage2_eltorito and menu.lst in boot/grub, and build the boot CD with

$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
    -boot-load-size 4 -boot-info-table -o grub.iso iso

The CD boots ok, the menu loaded fine, and every entry boots fine as well.

My grub is:

$ apt-cache policy grub
grub:
  Installed: 0.97-27
  Candidate: 0.97-27
  Version table:
     0.97-29 0
         50 http://mirror.peer1.net unstable/main Packages
 *** 0.97-27 0
        300 http://mirror.peer1.net etch/main Packages
        100 /var/lib/dpkg/status

xpt

Installing grub into virtual system 

Compiled from

Making a bootable backup Debian system disk http://www.debian-administration.org/articles/575 Posted by rossen on Thu 17 Jan 2008

A summary of the procedure:

  1. Create a file-system image file and mount it via the loopback device.

  2. Chroot into it, and run GRUB to make it bootable.

documented on: 2008-02-17

Advanced multi-boot 

cd boot/
mkdir grub
cp /usr/lib/grub/i386-pc/stage2_eltorito grub/
isol2grub -i -k '/boot/grub/' /mnt/iso1/boot/isolinux/isolinux.cfg > /tmp/menu.lst
cp /tmp/menu.lst grub/
ln -s ../isolinux/linux26
ln -s ../isolinux/minirt26.gz
ln -s ../isolinux/mem* .
..
mkisofs -f -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o ../grml.iso .

documented on: 2007-08-11

Use Grub for GRML please 

Newsgroups: gmane.linux.distributions.grml.user
Date: 2006-07-01

Hi Michael

Browsing the mlist archive, I know you are a strong believer of lilo, and don't like Grub. I can totally understand that.

I remember I gave up several attempts trying to switch from lilo to grub — to me it was the grub's unintuitive syntax. But once I learned it and understand the beauty of grub I never use lilo again. Hope you find the same way too. If you'd like to give it a try, I'd be glad to be of any help. All that get me started was a very good tutorial article…

Though it might be hopeless, let me try to show you that grub might be helpful (one more time).

On Sat, 01 Jul 2006 11:32:51 -0400, T wrote:

> Note: Adapted from Knoppix Remastering Howto
> http://www.knoppix.net/wiki/Knoppix_Remastering_Howto[]

When I first tried it, my box wouldn't boot because to the layout difference of /boot between KNOPPIX and GRML.

But thanks to grub's interactive debug capability, the problem was solved within seconds. Had I was using lilo, it'd take me several boots to solve the problem.

Second, from the author of "Poor man's install, grub and ntfs" :

"…boot using grub instead of isolinux (can be used for repairs/diagnostics). morphix and kanotix are both using a cute graphic grub menu, which gives easy access to various knoppix cheatcodes, documentation etc. "

He's done that to knoppix. http://www.knoppix.net/wiki/User:Ml#grub_gfx_boot

just my 2c.

xpt

How to boot several CD iso files in a DVD 

http://www.justlinux.com/forum/showthread.php?threadid=150078

saikee
A chainloader +1 believer
08-04-2007

I wrote this thread because someone asked if it is possible in another forum. I think it can be done and so I documented it in JustLinux.

Steps at a glance 

  1. Open a directory, say /iso.

  2. Mount each iso file on a loop back device and copy its content to /iso directory

  3. Copy Grub's stage2_eltorito into /iso directory

  4. Write a Grub menu using the isolinux.cfg from each iso file

  5. Use bash command mkisofs to create a large iso file from /iso directory

  6. Burn the large iso file into a DVD using K3B

Warning Not every iso is suitable to co-exist with others in a DVD. This is because they may use the same directory names.

A little bit of theory 

Among about 95% of Linux iso meant to be booted from a CD or DVD will have the de facto boot loader called isolinux, written by Peter Anvin. It has a configuration file called isolinux.cfg. The isolinux syntax is very similar to Grub and so one can substitute isolinux with Grub.

Isolinux can also multi-boots. I am just more comfortable with grub and know it can deliver what I want. Grub is preferred because we can communicate with Grub during boot time and correct any mistake as we go along. That is very useful with a read-only DVD. Isolinux does not offer this flexibility.

Grub has only one file for booting a CD or DVD. This file is called stage2_eltorito available in every Linux that has Grub. It is stored in /boot/grub or /grub directory. The Grub Manual has steps showing how to create a CD or DVD booted by stage2_eltorito. http://www.gnu.org/software/grub/manual/grub.html#Making-a-GRUB-bootable-CD_002dROM

Step 1 

This is just a big folder for storing several iso files. The iso files have to be expanded first into the normal format first. I use an existing directory in /abit ,rounded up 7 iso files and created the following subdirectories

mkdir /abit/iso
mkdir /abit/iso/DSL-boot
mkdir /abit/iso/slax-boot
mkdir /abit/iso/mepis-boot
mkdir /abit/iso/grafpy-boot
mkdir /abit/iso/ubuntu-boot
mkdir /abit/iso/pmagic-boot
mkdir /abit/iso/systemcd-boot

for 7 distros of Damn Small Linux, Slax, Mepis, Grafpuppy, Ubunu, Parted Magic and SystemrescueCD. Their version numbers are stated in the menu.lst below.

I use "-boot" for the folder names because some distros may have their own folders using the distro own names, for example slax and pmagic.

Step 2 

I wrote a script called mountiso to execute the two lines of commands

saikee@saikee-desktop:~$ cat /abit/saikee/Desktop/mountiso
umount /mnt/cdrom
mount -t iso9660 -o ro,loop=/dev/loop0 $1 /mnt/cdrom

This allows me to mount any iso file by bash command, say for iso slax-6.0.0-rc5.iso

/bin/bash mountiso slax-6.0.0-rc5.iso

The Slax iso when expanded shows two directories of /boot and /slax inside. I can then copy the expanded iso file in /mnt/cdrom into the folder I created in Step-1

cp -R /mnt/cdrom/* /abit/iso/slax-boot/

I have to repeat Step-2 for each iso file.

Step-3 

The folder /abit/iso will be eventually a DVD iso and so to make it bootable by Grub we must have

  1. a directory called /boot/grub

  2. statge2_eltorito inside /boot/grub

I was using an installed Ubuntu 7.04 to do the above work and so Ubuntu's /boot/grub has all the information I need. Therefore all I need to do is to copy the content of Ubuntu's /boot/grub directory into /abit/iso after creating the directories there first

mkdir /abit/iso/boot
mkdir /abit/iso/boot/grub
cp /boot/grub/* /abit/iso/boot/grub/

at this stage all the Grub files will be available as shown below

root@saikee-desktop:/home/saikee# ls /abit/iso/boot/grub
default        fat_stage1_5  menu.lst~          stage1           xfs_stage1_5
device.map     jfs_stage1_5  minix_stage1_5     stage2
e2fs_stage1_5  menu.lst      reiserfs_stage1_5  stage2_eltorito

Step-4 

This is by far the most difficult thing to explain. I shall only do it by example. Slax in the above is the perfect system for this type of illustration. The above information shows it has two directories of "/slax" and "/boot" so the first thing I have to do is to move the /slax directory from /abit/iso/slax-boot to /abit/iso, leaving only the /boot there for reference only. This is because when the DVD is booted the installer has been written to search only the root directory whereas the /boot directory is the one I can control by telling Grub where to find it. I can't put /boot in the root directory because many distros have /boot too.

I now show how to get the isolinux.cfg by repeating just the "ls" command going into deeper level each time.

root@saikee-desktop:/home/saikee# ls /abit/iso/slax-boot/
boot

root@saikee-desktop:/home/saikee# ls /abit/iso/slax-boot/boot
bootinst.bat  bootlilo.sh  dos        isolinux  syslinux      vmlinuz
bootinst.sh   chain.c32    initrd.gz  mt86p     vesamenu.c32

root@saikee-desktop:/home/saikee# ls /abit/iso/slax-boot/boot/isolinux
isolinux.bin  isolinux.boot  isolinux.cfg

root@saikee-desktop:/home/saikee# cat /abit/iso/slax-boot/boot/isolinux/isolinux.cfg
PROMPT 0
TIMEOUT 200
DEFAULT /boot/vesamenu.c32

LABEL xconf
MENU LABEL Slax Graphics mode (KDE)
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;kdm

LABEL pchanges
MENU LABEL Slax Graphics mode with Persistent Changes
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/slax/slaxsave.dat autoexec=xconf;kdm

LABEL copy2ram
MENU LABEL Slax Graphics mode, Copy To RAM
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw copy2ram autoexec=xconf;kdm

LABEL startx
MENU LABEL Slax Graphics VESA mode (1024x768)
KERNEL /boot/vmlinuz
APPEND vga=769 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=kdm

LABEL slax
MENU LABEL Slax Text mode
KERNEL /boot/vmlinuz
APPEND vga=normal initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw

LABEL memtest86
MENU LABEL Run Memtest utility
KERNEL /boot/mt86p

root@saikee-desktop:/home/saikee#

The part of the isolinux.cfg that is of interest to me has only two lines I have highlighted in red

I now show the end result of the Grub menu, which must be stored as /abit/iso/boot/grub/menu.lst, and the red is the conversion.

root@saikee-desktop:/home/saikee# cat /abit/iso/boot/grub/menu.lst

title DSL 4.0
kernel /DSL-boot/boot/isolinux/linux24 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix
initrd /DSL-boot/boot/isolinux/minirt24.gz

title Slax 6.0.0 rc5
kernel /slax-boot/boot/vmlinuz vga=769 ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;kdm
initrd /slax-boot/boot/initrd.gz

title GrafPup 2.0
kernel /grafpup-boot/vmlinuz root=/dev/ram0 vga=0x312 loglevel=1 PMEDIA=idecd
initrd /grafpup-boot/initrd.gz

title Mepis 6.9.5
kernel /mepis-boot/boot/vmlinuz init=/etc/init vga=normal quiet drvr=vesa
initrd /mepis-boot/boot/initrd.gz

title SystemrescueCD 0.3.7 label fb1024
kernel /systemcd-boot/isolinux/rescuecd root=/dev/ram0 init=/linuxrc vga=791 looptype=squashfs loop=/sysrcd.dat dokeymap cdroot splash=silent splash=silent
initrd /systemcd-boot/isolinux/rescuecd.igz

title ubuntu 6.10 desktop safe ^graphics mode
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw quiet splash --
initrd /casper/initrd.gz

title Parted Magic 1.8
kernel /pmagic-boot/isolinux/bzImage noapic root=/dev/ram0 init=/linuxrc ramdisk_size=100000 skip
initrd /pmagic-boot/isolinux/initrd.gz

You will see I have only changed "KERNEL" with "kernel" and correctly located the where about of the kernel "vmlinuz" to be found in directory /slax-boot/boot. Remember after you have brun the DVD iso the /abit/iso front end will disappear.

The isolinux specifies the ram disk file as a parameter of the KERNEL statement with "initrd=/boot/initrd.gz" forming part of the command structure. In Grub I have separated it into a proper "initrd" statement. That is all I needed to change an iso booting with isolinux to booting with Grub. I do not touch other parameters at all.

To summarize the step of converting an iso booting from isolinux to Grub the steps are

  1. copy the isolinux's KERNEL statement into Grub's menu.lst

  2. changed "KERNEL" to "kernel".

  3. Adjust the directory name so that Grub can find the kernel

  4. remove the "initrd=xxxxx" parameter in the KERNEL statement of ioslinux.cfg and use the same as a separate "initrd" statement in Grub's menu.lst. Do not forget to remove the "=" sign and amend the partition reference.

I could have just done two iso to make the thread shorter but decided to put 7 iso files in because there are 6 examples showing how isolinux can be converted to Grub. One of the 7 has Grub already and I have shown how we could modify it too to multi-boot. The isolinux information is left at the rear of the thread in case any reader may find more information useful.

Step-5 

This has to be the easiest thing in life for creating your own bootable DVD. Just follow the steps outlined in the Chapter 3.4 of Grub Manual. http://www.gnu.org/software/grub/manual/html_node/Making-a-GRUB-bootable-CD_002dROM.html#Making-a-GRUB-bootable-CD_002dROM

I wrote a script call makeiso just to do just that

root@saikee-desktop:/home/saikee# cat /abit/makeiso
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso

I issue the makeiso command in directory /abit. The end product of the about command is a large iso file call grub.iso

Setp-6 

To burn the grub.iso I just called up K3B and clicked the file name. The DVD, with 1.8 Gb from the 7 distros, was ready in 6 minutes. I used a re-writeable DVD.

Conclusion : I now have a DVD that boots 7 distros successfully.

The above information is also useful/sufficient for any user wanting to create his/her customized bootable CD/DVD

References 

The following information are included just for the reference purpose only.

For completeness I enclose the relevant parts of the isolinux.cfg from the other distros below. The menu.lst I wrote is already given at the above.

DSL's isolinux.cfg is in /boot/isolinux directory. Its "KNOPPIX" directory should be available in the / directory

LABEL dsl
KERNEL linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix

Grafpuppy isolinux.cfg is in / directory…..

Lastly the complete content of my /abit/iso (before turning into the iso), looks like this….

Last edited by saikee : 2007-08-07

built bootable iso with grub 

http://www.gossamer-threads.com/lists/engine?do=post_view_flat;post=8474;page=1;mh=-1;list=syslinux;sb=post_latest_reply;so=ASC

To further isolate the problem I took slax-6.0.0-rc5.iso - which is one of those two that produce the boot stall under investigation - and replaced the isolinux boot machinery on this disk by the following minimal grub files:

/boot/grub/stage2_eltorito
Example: File /boot/grub/menu.lst:
default 0
timeout 60
color cyan/blue white/blue

title Slax 6.0 RC5
 root (cd)
 kernel (cd)/boot/vmlinuz init=linuxrc vga=0x31a splash=0 load_ramdisk=1 ramdisk_size=6666 root=/dev/ram0 rw
 initrd=/boot/initrd.gz

The line

mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 \
-boot-info-table -o slax-6rc5-grub.iso grubcd

built a perfectly bootable iso file!

May I conclude that isolinux.bin (several tested versions up to the newest) in combination with a linux-2.6.21.5 kernel from the Slax distribution (Slax 6 RC4/RC5) produces _on some hardware (mine)_ a boot stall. The other bootloader succeeds on the same hardware.

Re: ISOLINUX boot problem 

> This is a Live CD which starts from RAM-disk. Please correct me, if I'm
> wrong - after seeing the message `Ready.', isolinux.bin transfers control
> to the vmlinuz in RAM. And the kernel has its initial boot disk in RAM.

"Ready." is indeed the point at which we transfer control to the kernel setup code. It might be interesting to put "vga=ask" on the kernel command line; that should give you some interaction with the kernel setup code, which runs in real mode before the kernel is decompressed. That will help narrow down the problem.

-hpa

Re: ISOLINUX boot problem 

Tomas M wrote:

>> What kernel version are you trying
>> to boot?
>
> I think I can answer this question, as the author of Slax6rc5 :)
> The kernel is 2.6.21.5
>
> A question, what shows the "uncompressing kernel" message? isolinux or
> kernel itself?

"Uncompressing kernel…" comes from the kernel decompressor, which is the second of three stages embedded in the kernel image.

  1. Stage 1 is the kernel setup code. Usually silent, but if you specify "vga=ask" you get a menu from the setup code.

  2. Stage 2 is the kernel decompressor, prints "Uncompressing kernel… done."

  3. Stage 3 is the kernel proper, which prints a number of messages, of course.

-hpa

Re: ISOLINUX boot problem 

> > What I am trying now: systematically playing with `mkisofs' options to
> > look for a bootable combination.
>
> That is probably wise, especially the -sort option.

I needed some time and changed the options of the mkisofs invocation in Tomas' make_iso.sh script, leaving all other factors the same, especially I always reburnt with K3B the same brand (Sony) of CD:

mkisofs -o "$ISONAME" -v -J -R -D -A "$CDLABEL" -V "$CDLABEL" \
-no-emul-boot -boot-info-table -boot-load-size 4 \
-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot ../.
  1. Leaving out -D and -J in any combination - no boot

  2. I installed from source the newest alpha version of the cdrtools

    • and stumbled over all this mess with cdrecord/wodim. Then I used mkisofs-2.01.01a31 from schily with the original options

    • no boot.

  3. I made file slsort

    boot 2500
    slax 2000
    boot/isolinux/isolinux.bin 2900
    boot/isolinux/isolinux.boot 2890
    boot/isolinux/isolinux.cfg 2880
    boot/vmlinuz 2800
    boot/initrd.gz 2790
    slax/base/001-core.lzm 2690
    slax/base/002-apps.lzm 2680
    slax/base/003-network.lzm 2670
    slax/base/004-xorg.lzm 2660
    slax/base/005-xapdeps.lzm 2650
    slax/base/006-kde.lzm 2640
    slax/base/007-kdeapps.lzm 2630
    slax/base/008-office.lzm 2620
    slax/base/009-devel.lzm 2610

and inserted option -sort slsort into the above command.

To my opinion this should place the boot machinery contiguous to the beginning of the track - no boot.

I am now on the edge giving up with this problem. The most probable cause may be not finding the drive/file in stage 2 for uncompressing. But I ran out of creative ideas. Perhaps tomorrow I try as a last resort a hardware change: swapping Master and Slave on IDE bus. Maybe this has some effect on an eventually buggy BIOS.

Peter

Re: ISOLINUX boot problem 

Gentlemen: I have extensive experience using ISOLINUX and all rec versions of Slax (incl Slax-6-RC5) and have never had a single "phantom" problem w/ the pair. In fact, I just made my 1st RC5 disc on Fri and it worked flawlessly, as expected.

When things don't work, they're usu attributable to a couple of things:

  1. the -boot-info-table option: the absence of this cmd-line option can cause discs to work fine on one PC and fail in bizarre (ie. different) ways on other PCs. Personally, I use a commercial GUI program (in Windows) for creating my ISOs, but K3B is available, esp if you remaster on a PC that has more than one optical drive (one to boot with, one to burn with.) Actually, one could use the version of K3B under RC5 to create an ISO or burn directly to disc. Moreover, the make_iso script provided on the Slax CD definitely works.

  2. single-session CDs: Bec Slax is relatively small and bec I've extended other CD projects using multiple sessions, I "thought" this mite be possible w/ Slax. No. One must close (finalize) -boot-info-table discs for them to work reliably on multiple PCs. Have wasted many CD-Rs in pursuit of this goal and it's simply too unreliable, so I would strongly discourage this practice. The final straw for me was when I tried a newly burned-remastered RC3 (also open) disc on a client's PC. Had been working on everything else, but the open RC3 disc failed immed trying to load the kernel and dropped rite back to the 'boot:' prompt.

  3. no CD-RWs: After doing this sort of thing for several years and having noticed a reference to this in one of your replies: NO CD-RWs ! If you need test a remastered live CD project, use QEMU, Virtual Box, or VMWare. You can also use the 'from=' parameter to load the contents of your custom filesystem (ie. /boot and /slax) from a sub-dir on your hdrive (eg. /mnt/hda1/rc5), then boot using something like 'from=/mnt/hda1/rc5' appended to the ISOLINUX cmd-line.

I've made literally dozens of bootable CDs/DVDs using ISOLINUX as the sole bootloader, in the past year and most incorporate Slax 5 or 6. I've even started a discussion forum on the subj called Super-Disc: http://www.msfn.org/board/index.php?showtopic=94398

In theory, this issue could represent the emergence of a new BIOS incompatibility, but one mite consider these factors first.

mr-roboto at linuxmail

Re: ISOLINUX boot problem 

> In theory, this issue could represent the emergence of a new BIOS
> incompatibility, but one mite consider these factors first.

1) 2) 3) were always fullfilled.

> Hope this helps....

Sorry, not really …

If you had followed the whole discussion, you would know:

These really time consuming tests led to the conclusion that the problem is determined by three conditions:

If one or more of these conditions are not met, the CD boots.

Please be assured that I've really no intent to prove something against ISOLINUX or Slax. I made clear that the Grub test only served as a test that the problem also depends on ISOLINUX somehow.

If computers work somehow deterministically, there should be a cause for the problem. I would really like to find it.

Peter

USB booting :: three stage GRUB boot … how 

http://www.damnsmalllinux.org/f/topic-3-17-11728-0.html

i was very pleased with the "usb boot floppy" image. maybe too pleased.

i downloaded the floppy image; rawrote it to floppy; plugged in new usb pendrive loaded with NON-bootable DSL files; booted from floppy and PRESTO — FIRST TIME — DSL came up. Nice. now i want more. much more.

my poor old computer can not boot directly from usb. it can boot directly from cd. and of course from floppy as mentioned.

floppy too slow. cd too inconvenient. "inconvenient" because you folks too productive — new dal extensions; new base version all the time. nuisance burning new cd every week. even more vexing: want to try different boot options - maybe scsi from friend; maybe this; maybe that; want to change boot config options every other day. want to stop burning cds.

my solution: make bootable cd but not DSL. CD boots using floppy emulation from Freedos floppy. CD has DOS script — autoexec — which executes GRUB FOR DOS. GRUB FOR DOS has memdrive feature which theoretically can load and start your usb-boot-bloppy image {{straight off the cd you see. faster than simple floppy boot. is this confusing??}} HOWEVER i want my GRUB boot options config file on back on a floppy so it can be changed easily. GRUB can do this. SYSLINUX cannot. GRUB command for "remote" boot options file on floppy is…

grub.exe  --config-file=(fd0)/grubcfg.ini

PROBLEM In the config file on the floppy you are supposed to write commands like

root (cd)
kernel (cd)/dsl/lunux24
blablabla.....................

GRUB then sez it cannot find file linux24! Even tho it just booted from the 7^&(((** CD! What to do?

i REFUSE to use your boot floppy as manufactured. too slow. worse, i want to load ONE floppy with ALL NECESSITIES — LIKE ALL SAVED Opera bookmarks. My weird CD has pause in script to prompt insertion of floppy for GRUB config file during boot… that works, ie GRUB finds config file & displays my GRUB boot options — like boot DSL in USB; boot RIP Linux on CD; GEEXBOX on CD; etc but none of the options work ]]Does GRUB support your CDROM drive?

Also, is the file located at

/dsl/linux24  (I assume that lunux24 was just a typo)

or is it at

/boot/isolinux/linux24

or somwhere else?

USB booting :: three stage GRUB boot … how 

If your CD is a standard ATAPI internal CDROM drive for a desktop computer, I would hope that GRUB could support it.

Otherwise, you may be able to install the CDROM extensions to the FreeDOS disk and then use loadlin to load the files from D:\ drive (or whatever drive letter is assigned to your CDROM).

GRUB splashimage 

http://www.msfn.org/board/Multiple_Partition_USB_Stick_Multi_Boo_t69211.html#entry505946

SPLASHIMAGE

GRUB allows using a splashimage, sort of a background. Here are the NEEDED features of the slashimage:

  1. The image MUST be 640x480

  2. The image MUST have a maximum of 14 colours

  3. The image MUST be in the .xpm format (and can later be gzipped)

The Windows 32 port of the Gimp saves in a .xpm format that is NOT compatible with GRUB. http://www.gimp.org/windows/ You will need the Windows 32 port of ImageMagick. http://www.imagemagick.org/script/index.php

Draw your image in your preferred graphic program, save it as .BMP with a 14 colours palette (if your graphic program does not allow this, use the Gimp to open the .BMP, limit the palette to 14 colours and save it again as .BMP).

Now open a command prompt window, navigate to your ImageMagick install directory and give this command:

convert picture.bmp picture.xpm

Preview the result with the Gimp, check that colours are really limited to 14, DO NOT save the image with the Gimp!

If result is OK, re-run as follows:

convert picture.bmp picture.xpm.gz

(or you can use 7zip to gzip the image previously made)

Please note that it is important to do the above because if you try to use, as you should theoretically:

convert -colors 14 picture.bmp picture.xpm.gz

starting from a, say, 256 colours image, the palette will NOT be optimized and result will be VERY POOR.

After having tested that the image works with GRUB, you should spend sometime experimenting with the two settings:

Foreground=xxyyzz
Background=xxyyzz

These are coded colours (RGB, same as used in HTML) that apply to the TEXT superimposed by GRUB (normal/highlighted).

Since I am a very bad "painter", I have found that a quick way to get acceptable results is to start from a 16 colours 640x480 image, they used to be backgrounds for Windows 3.1 and can be found quite easily on the internet.

jaclaz

documented on: May 12 2006

GRUB splashimage 

i got splashimage touring the web. i got it from the linux community like kde or gentoo if i can remember right. some here grub splash screens

http://schragehome.de/splash/ http://www.schultz-net.dk/grub.html

if your using linux heres a easy way to convert a image to grub format. it easy it just like the same way for cdshell. you cant get above 14 colours, it uses some form of vesa. it easy to convert a image to 640x480 you need gzip and

imagemagick http://www.imagemagick.org/script/index.php and gimp http://www.gimp.org/

Quoted

  1. Start the GIMP.

  2. Click on File->New or type Ctrl+N

  3. In the new image dialog, change Width to 640 pixels and Height to 480 pixels. (The image should be of size 640x480 pixels.) Now click OK.

  4. Create the image which you would like to be the splash image. It's quite fun to experiment with the various tools of the GIMP!

  5. After you have finished creating the image, hit Alt+i or right click on the image and click on Image->Mode->Indexed…

  6. In the Indexed Color Conversion dialog that appears, click on the radio button "Generate optimal Palette" and in "# of colors" enter 14. Click OK.(The image should be of only 14 colors)

  7. Now right-click on the image and click on File->Save As…Save the file as ImageName.xpm in a directory of your choice.

For some reasons i could not create *.xpm so i save it as *.png and then

convert ImageName.png ImageName.xpm

(convert is a part of media-gfx/imagemagick)

You can save image from this page and convert it skipping image creation hassle

Creating image (Imagemagick)

Installing the Image

gzip ImageName.xpm
mount /boot
mv ImageName.xpm.gz /boot/grub/

This post has been edited by Markymoo: May 17 2006.