Page 1 of 2

HOWTO Customize your Boot Image

Posted: Fri 27 Nov 2009, 01:49
by steve_s
Customize Your Boot Image

Worked hard to get your brand new custom Puppy Linux iso all set up? Want to change your boot image (the image that you see when you boot your cd/usb for the first time)? Here's how.

This how-to is done with Puppy 4.3.1. (**NOTE: HERE ARE MODIFICATIONS TO DO THIS IN PUPPY LINUX 5.2.8, aka LUPU 5.2.8 ) Instructions are easier to explain via commands executed in a console/terminal; feel free to substitute a gui command for any that are appropriate, but I am going to explain all this using the command line (with a couple of exceptions).

Note: this instructional uses the Gimp graphics editor to modify the image. A different graphics editor may be used as long as it has the ability to modify as gimp does as is explained in these instructions.

1. Create a folder to use to set all this up.

Code: Select all

cd /
mkdir ISO/
2. We need to have all the files/programs from your custom iso put in this new folder. Let's suppose your file is saved and called customiso.iso (very creative name, by the way). Click on the folder that you have customiso.iso saved in. Then click on customiso.iso one time and Puppy will automatically mount it and open up a new window with all the files in it and even give a little message that says it has been mounted.

Also open up the /ISO/ folder in another window.

Drag and drop all the files/programs from the mounted customiso.iso folder to the /ISO/ folder. Puppy rox filemanager will ask you if you want to copy, move or link these folders? Select copy. Wait till it is done copying.

You now have all the files copied to the new folder.

Close out the window that has the mounted iso in it. Then click back on customiso.iso and Puppy will automatically unmount it.

3. In your /ISO/ folder you will have the files boot.cat, boot.msg, help.msg, initrd.gz, isolinux.bin, isolinux.cfg, logo.16, pup-431.sfs and vmlinuz. For this tutorial we are focusing on the logo.16 file.

The logo.16 file is a lss16 format image. Puppy naturally has the needed programs for this (except for Gimp; you will need to have Gimp installed or as an sfs. Search the forums for it), but there are certain limitations: the image must be less than 640x480 or less. 640x400 leaves room at the bottom for the boot prompt. It also must be 16 colors.

This tutorial will simply modify the image that comes with Puppy 4.3.1, but you can use this info to do all sorts of things.

Change logo.16 to a ppm image.

Code: Select all

cd /ISO/
lss16toppm <logo.16 >logo16.ppm
Now you will have another file, in addition to the others in /ISO/, called logo16.ppm.

4. Modify the ppm image. Gimp can easily open up ppm images.

Code: Select all

cd /ISO/
gimp logo16.ppm
Now, do what you want to with gimp. Let's say you want to add some text. Click on the Text button in the tools menu (looks like a big "A") and put some text on the image.

All kinds of things you can do with gimp; search this forum and the internet. Gimp is my favorite graphics tool (in case you've never seen any of my other posts).

But whatever you do, remember the limitations: it has to be 640x480 (probably better at 640x388) and it has to be 16 colors.

Change the color index in Gimp: Image>Mode>Indexed and change the colors from 256 to 16 and click Convert.

Change the size in Gimp: Image>Scale Image and change it to the necessary size (you'll notice that the one that comes with Puppy 4.3.1 is 640x388, so it might be wise to have your new one the same size).

When you are all finished save it as a ppm file.

Note: if you have any issues with saving it as a ppm file, just save it as a bmp file, then run this:

Code: Select all

bmptoppm <logo16.bmp >logo16.ppm
5. Now let's do some reorganizing:

Code: Select all

mv logo.16 logo-old.16
And then convert the new ppm image to the old format and name:

Code: Select all

ppmtolss16 <logo16.ppm >logo.16

Now you have your new image ready to go. You can either move or delete the original logo.16 (now named logo-old.16) if you don't want it in the new iso image.

6. Create your new, now truly custom, iso file.

Code: Select all

cd /
mkisofs -o newcustomiso.iso -l -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ISO/ 
Notice: that mkisofs command is one line, all the way to the end of ISO/.

Now you have your new iso (called newcustomiso.iso) in your / folder.

Enjoy!

PS. Original instruction on how to convert logo.16 was from here. And original instruction on manually creating an iso file came from my thread "Puppy Gamer's Unite" a la master MU.

Posted: Sat 28 Nov 2009, 20:03
by steve_s
and, in case you are wondering, here is the original one with Puppy 4.3.1.
8)

Posted: Thu 09 Dec 2010, 11:33
by tonicooperi
Thanks a lot works perfect in 511

Posted: Thu 09 Dec 2010, 12:32
by steve_s
tonicooperi wrote:Thanks a lot works perfect in 511
Great, glad you liked it! 8)

Posted: Thu 09 Dec 2010, 13:53
by tonicooperi
I've replaced the logo.16 in my stick and all went smooth ;)

Posted: Thu 09 Dec 2010, 20:58
by steve_s
tonicooperi wrote:I've replaced the logo.16 in my stick and all went smooth ;)
Sweet! Yeah, I've used this method in all of my Puppy/fluxbox remasters and it works like I champ, so I thought I'd share..

Posted: Tue 01 Mar 2011, 20:47
by fenex2004
Excellent bud! Thanks a million! :D

Posted: Sun 03 Apr 2011, 15:32
by zigbert
Thank you, Steve
Sigmund

Posted: Tue 12 Apr 2011, 07:18
by johanLW
Thanks for the guide!

But i have a qustion, im a total noob at linux and probably at anything that have with configuration to do. Atleast i think so now when i cant get this thing to work.

When i have done the last step mkisofs -o.....
What will i do with the file after that? You will maybe laugh but i learn from asking :)

Im using puppy 5.1.1 and booting from a flash memory

Thanks alot of i can get a replay how i solve this!

Posted: Tue 12 Apr 2011, 08:52
by Master_wrong
When i have done the last step mkisofs -o.....
What will i do with the file after that? You will maybe laugh but i learn from asking Smile
you will have image file named newcustomiso.iso, burn this image file into blank cd, use the cd to boot your pc.

use nero to burn the image file

Posted: Tue 12 Apr 2011, 11:23
by johanLW
I see the new .ISO file but i use an SD card, do you have any solution for this?

I have installed the new ISO on the SD card but the boot screen wont appear, its just black or I will get some error. But this 2 problem are not happening at the same time!
The first problem appear when i have installed it ones.
I start all over and i will get an error.
I start over again and there are no boot image just black.

I wonder what i do wrong :x

Posted: Tue 12 Apr 2011, 15:40
by Master_wrong
I have installed the new ISO on the SD card
i wonder how did you install iso file into a sdcard ? and how did you boot sdcard ?

are you copying the iso into sdcard ?

i suspect that the

1st boot there was error because bootloader expecting cd, not sdcard.
this corrupt the files in sdcard.

2nd boot cannot boot because files were corrupt

Posted: Wed 13 Apr 2011, 06:45
by johanLW
I used universal USB installer to get it in to a SD card and i tried to take the newcustomiso.iso and do the same as i did with the original puppy 5.1.1 and used universal USB installer.

Hmm, i will try it out a little bit more and see if i can figure out what I do wrong :wink:

Posted: Fri 15 Apr 2011, 00:01
by steve_s
fenex2004: thanks!

zigbert: thanks!

Problems encountered - need help

Posted: Mon 18 Apr 2011, 06:45
by gcmartin
Using Lighthouse ISO
  1. Created a container for new ISO contents, ISOplaceholder

    Code: Select all

    mkdir /ISOplaceholder
  2. Opened ISO and copied its contents to ISOplaceholder
  3. Dragged and dropped an SFS file to ISOplaceholder

    Code: Select all

    # ls -l /ISOplaceholder
    total 738432
    -rwxr--r-- 1 root root 168488960 2011-02-28 20:01 5-Mariner-5G_503.sfs
    -rw-r--r-- 1 root root       102 2011-02-28 20:01 autorun.inf
    -rwxr-xr-x 1 root root      2768 2011-02-28 20:01 click-to-verify-mariner
    -rwxr--r-- 1 root root  12353536 2011-02-28 20:01 Firefox-3.6.13-LHP.sfs
    drwxr-xr-x 4 root root       120 2011-02-28 20:01 html
    -rw-r--r-- 1 root root   2883533 2011-02-28 20:01 initrd.gz
    drwxr-xr-x 2 root root       220 2011-02-28 20:01 isolinux
    -rwxr--r-- 1 root root  36294656 2011-02-28 20:01 JavaRE-6u23-i586-1.sfs
    -rwxr--r-- 1 root root 187621376 2011-02-28 20:01 LHP-503.sfs
    -rwxr--r-- 1 root root 183439360 2011-02-28 20:01 LibreOffice-3.3.0-19-L1.sfs
    -rw-r--r-- 1 root root     25840 2011-02-28 20:01 logo.png
    drwxr-xr-x 2 root root       100 2011-02-28 20:01 pets
    -rwxr--r-- 1 root root  48750592 2011-02-02 23:31 Samba-3.5.6-L1.sfs
    -rwxr--r-- 1 root root  69771264 2011-02-28 20:01 VirtualBox-4.0.2-L1.sfs
    -rw-r--r-- 1 root root   2248032 2011-02-28 20:01 vmlinuz
    -rwxr--r-- 1 root root  23908352 2011-02-28 20:01 Xfce-4.6.2-L4.sfs
    -rwxr--r-- 1 root root  18812928 2011-02-28 20:01 zWine-1.3.14_503.sfs
  4. Attempted to make a new ISO
FAILED...See this:

Code: Select all

# mkisofs -o newcustomiso.iso -l -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ISOplaceholder
I: -input-charset not specified, using iso-8859-1 (detected in locale settings)
genisoimage: Directories too deep for 'ISOplaceholder/html/gallery/albums/batchadd/2010/5/Base' (7) max is 6; ignored - continuing.
genisoimage: To include the complete directory tree,
genisoimage: use Rock Ridge extensions via -R or -r,
genisoimage: or allow deep ISO9660 directory nesting via -D.
genisoimage: Directories too deep for 'ISOplaceholder/html/gallery/albums/batchadd/2010/5/KDE' (7) max is 6; ignored - continuing.
genisoimage: Uh oh, I cant find the boot image 'isolinux.bin' !
Realized that it probably should be isolinux

Code: Select all

# mkisofs -o newcustomiso.iso -l -b isolinux -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ISOplaceholder
I: -input-charset not specified, using iso-8859-1 (detected in locale settings)
genisoimage: Directories too deep for 'ISOplaceholder/html/gallery/albums/batchadd/2010/5/Base' (7) max is 6; ignored - continuing.
genisoimage: To include the complete directory tree,
genisoimage: use Rock Ridge extensions via -R or -r,
genisoimage: or allow deep ISO9660 directory nesting via -D.
genisoimage: Directories too deep for 'ISOplaceholder/html/gallery/albums/batchadd/2010/5/KDE' (7) max is 6; ignored - continuing.
Size of boot image is 4 sectors -> No emulation
genisoimage: Is a directory. Error opening boot image file 'ISOplaceholder/isolinux' for update
.Explanation???
Looks like the mkisofs command is not matching the folder contents. Can someone help by suggesting what this mkisofs command should be?

Thanks in advance.

Posted: Mon 18 Apr 2011, 12:35
by rcrsn51
Isolinux.bin is a file. In your example, isolinux is a directory. Open up some other Puppy ISO's and see what they look like.

Also, the warning message about the html directory indicates that some of its contents will be lost. Better to package it as a tarball.

Re: Problems encountered - need help

Posted: Mon 18 Apr 2011, 19:50
by CatDude
Hi
gcmartin wrote:....Can someone help by suggesting what this mkisofs command should be?
Try this:

Code: Select all

mkisofs -o newcustomiso.iso -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ISOplaceholder
CatDude
.

Re: Problems encountered - need help

Posted: Mon 18 Apr 2011, 20:05
by gcmartin
CatDude wrote: ... Try this:

Code: Select all

mkisofs -o newcustomiso.iso -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ISOplaceholder
CatDude.
Thanks CatDude and everyone.

@CatDude; you just kicked a winning goal. And, I learned something as well.

Re: problems need help

Posted: Sun 20 Nov 2011, 00:55
by oldyeller
Helllo,
Steve

I am use lupu528 not frugal or full just savefile. the ppmtolss is not found by bash in this puppy everything else works ok.

Not sure on how to this command or naother to work to change the ppm to lss

Thanks to anyone who can help

Re: problems need help

Posted: Mon 05 Dec 2011, 15:01
by steve_s
oldyeller wrote:Helllo,
Steve

I am use lupu528 not frugal or full just savefile. the ppmtolss is not found by bash in this puppy everything else works ok.

Not sure on how to this command or naother to work to change the ppm to lss

Thanks to anyone who can help
Wow, really sorry for the late reply on this one, oldyeller...I'll have to check out the latest lupu to see what the deal is with ppmtolss...

Check out some information here, please to see if there is a workout that can be figured out...