Welcome
Welcome to refracta

You are currently viewing our boards as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, and access many other special features. In addition, registered members also see less advertisements. Registration is fast, simple, and absolutely free, so please, join our community today!

Snapshot : Customising boot menu (isolinux/syslinux)

Tips and Instructional topics. Not for support questions.

Snapshot : Customising boot menu (isolinux/syslinux)

Postby dzz » Wed Nov 09, 2011 3:42 pm

I tried changing the (snapshot) splash screen without success. Of course, I edited stdmenu.cfg to point to the new splash.

It was processed in gimp as jpg baseline, 640x480px, RGB colour (no comments, metadata, transparencies, etc.) It works in syslinux setups here.

I noticed in /usr/local/lib/refractasnapshot/iso/isolinux are vesamenu.c32 and isolinux.bin

When I replaced these from my system's /usr/lib/syslinux and rebuilt a ISO the splash works.

I don't know why Snapshot doesn't just copy them from the system (and makes syslinux a dep) Are the Refracta files specially customised or are they old versions?

BTW /usr/local/lib/refractasnapshot/iso/isolinux/boot.cat seems not necessary

It's really quick and easy to test menu customisations with a small "dummy" iso:

Code: Select all
mkdir -p ~/isolinuxtest/cd/isolinux

Copy into there vesamenu.c32, isolinux.bin, splash.jpg/png and menu files (unless you need a more a complex setup only one syslinux.cfg is necessary) Then:
Code: Select all
cd ~/isolinuxtest
genisoimage -r -J -l -D -o isolinuxtest.iso -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table cd/

Run it in vbox to see if your tweaks worked

I don't know much of syslinux/isolinux but used it before with basic options. Reading a little, it's amazing what you can actually do with the menus, much more than just change a splashscreen. The syslinux website has been down recently but I found so far:

https://wiki.archlinux.org/index.php/Syslinux
http://www.drbl.org/faq/2_System/files/ ... e-menu.txt
dzz
 
Posts: 629
Joined: Wed Apr 27, 2011 11:53 am
Location: Devon, England

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby meandean » Fri Nov 11, 2011 4:39 am

Are the Refracta files specially customised or are they old versions?

The refracta snapshot files are pulled from a debian live cd and I change the splash.png file from the debian logo to black. I think it is a indexed 14 color image. I have been using mtpaint instead of the gimp lately and I just open the image, change it, and then save it.


BTW /usr/local/lib/refractasnapshot/iso/isolinux/boot.cat seems not necessary

seems necessary according to man genisoimage
Code: Select all
-c boot_catalog
              Specifies  the  path and filename of the boot catalog, which is required for an El
              Torito bootable CD.




When I am fiddling with the boot menu I usually start by editing the snapshot script and commenting out the rsync lines and so forth. Then fiddle with the isolinux files in the /usr/local/lib/snapshot folder, run the snapshot tool, use qemu to see the menu Then if needed, delete the image, fiddle with the isolinux files again, run the snapshot tool again, test in qemu.....rinse and repeat....kind of a lazy way to do it...
User avatar
meandean
 
Posts: 392
Joined: Wed Mar 09, 2011 5:16 am

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby dzz » Fri Nov 11, 2011 3:11 pm

Genisoimage manpage says it is required but not that a user has to supply it. It's really not very clear.
In practice, I'm getting a bootable ISO without supplying boot.cat, genisoimage is generating it.

With the option "-c isolinux/boot.cat" removed it still works, "boot.catalog" gets generated in the cd root

I tested this in my refracta install using the files copied straight off the original 6.0.6_beta2 live-cd. I even burned it to cdrw and booted it to be sure.

I noticed isolinux.bin used for refracta is different from the current Squeeze version in /usr/lib/syslinux, that's why I asked (BTW, syslinux is not in refracta ISO) If it's not customised it must be an older version.
dzz
 
Posts: 629
Joined: Wed Apr 27, 2011 11:53 am
Location: Devon, England

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby fsmithred » Fri Nov 11, 2011 3:19 pm

Syslinux will be in beta3 and final version. (I've already added it to my working beta3 installation.) The stuff in /usr/lib/refractasnapshot/iso/isolinux has been copied from older versions. I know it needs to be updated. I'm planning to do that when I put together the boot help menus and repackage snapshot. Hope to get to that soon. Last two weeks have been crazy here.
User avatar
fsmithred
 
Posts: 1987
Joined: Wed Mar 09, 2011 9:13 pm

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby meandean » Sat Nov 12, 2011 12:23 am

With the option "-c isolinux/boot.cat" removed it still works, "boot.catalog" gets generated in the cd root

Right. I wasn't saying you couldn't make a bootable image without the -c option but rather that you are doing things a different way and using a different standard or no standard at all. Sorry for not being clear. I can tell you a bunch of different ways to make a bootable image and all of them may work on your computer but not on someone elses or vice versa. A hundred years ago when I first started goofing off with making live images I considered the -c option the more 'safe' option and it may still be but it may be better to drop it nowadays. Have to think about it some more...

If it's not customised it must be an older version

Yea if you are talking about the previous refracta releases then it is probably from one of the earlier 6.0 point releases. I was talking about the new stuff I uploaded to http://linkfam.holeinthewallhosting.com ... am/stuff1/ for the next version.


I noticed isolinux.bin used for refracta is different from the current Squeeze version in /usr/lib/syslinux

Correct. I have always used the isolinux files from a debian live image and the isolinux.bin used in debian live images does not match the isolinux.bin in /usr/lib/syslinux either.



I am a bit torn about the -c option as well as whether it would be better to copy it from the system or use one that is included. I will have to think about that some more.
Last edited by meandean on Sat Nov 12, 2011 1:09 am, edited 1 time in total.
User avatar
meandean
 
Posts: 392
Joined: Wed Mar 09, 2011 5:16 am

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby meandean » Sat Nov 12, 2011 12:55 am

Oh I also use to use a different isolinux.bin file than the one in debian because the one in debian did not support creating isohybrid images. Hey I remembered something useful :)
User avatar
meandean
 
Posts: 392
Joined: Wed Mar 09, 2011 5:16 am

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby meandean » Sat Nov 12, 2011 1:59 am

Not using -c seems to work fine on all my systems both via cd and usb so I think I like it.

So for my future projects I think I am going to drop the -c option, totally get rid of /usr/local/lib/snapshot, and just copy isolinux.bin from the system.

Good stuff! Thanks!
User avatar
meandean
 
Posts: 392
Joined: Wed Mar 09, 2011 5:16 am

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby dzz » Sat Nov 12, 2011 12:19 pm

Well, the point of this thread was originally an easy way for a user to create/modify and quickly test a custom menu, "custom" being the essence of Snapshot. That's why I wrote in the how-to section (we're really in "discuss" territory now)

I didn't mean to suggest changes in original snapshot (working great as-is) which might go against any standards. I'm only just learning this stuff, what are the "standards" and why.

Digging a bit deeper, I just installed "cdrkit-doc":
The "El Torito" specification requires a "boot catalog" to be created as
ll.
This is a 2048 byte file which is of no interest except it is required.
My patches to genisoimage will cause it to automatically create the
boot catalog. You must specify where the boot catalog will go in the
iso9660 filesystem. Usually it is a good idea to put it the same place
as the boot image, and a name like "boot.catalog" seems appropriate.

So we have our boot image in the file "boot.image", and we are going to
put it in the directory "boot/" under the root of the iso9660 filesystem.
We will have the boot catalog go in the same directory with the name
"boot.catalog". The command to create the iso9660 fs in the file
bootcd.iso is then

genisoimage -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .

The -b option specifies the boot image to be used (note the path is
relative to the root of the iso9660 disc), and the -c option is
for the boot catalog file.

So the boot catalog is indeed autogenerated... but *You must specify* where it will go.

If the author's intention is to include the -c option, I suppose we should, maybe there are situations where it matters.
dzz
 
Posts: 629
Joined: Wed Apr 27, 2011 11:53 am
Location: Devon, England

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby fsmithred » Sat Nov 12, 2011 1:05 pm

FWIW: I've got three versions of isolinux.bin.
The version of isolinux.bin currently in refractasnapshot is the same as the one you (Dean) told me to put in a safe place last February. That one is 14 kb.
The version from the debian-live build that I made in April to create Refracta 6.0.4/6.0.5 is 24 kb and is the same as a live build I made in September.
The one in the syslinux package in squeeze is also 24 kb, but it differs from the one in the debian-live builds.
User avatar
fsmithred
 
Posts: 1987
Joined: Wed Mar 09, 2011 9:13 pm

Re: Snapshot : Customising boot menu (isolinux/syslinux)

Postby meandean » Sat Nov 12, 2011 6:20 pm

fsmithred wrote:The version of isolinux.bin currently in refractasnapshot is the same as the one you (Dean) told me to put in a safe place last February.

Sheesh that is old. I don't actually remeber telling you that but I don't doubt you either. That was probably the one that I used to support isohybrid images before debian actually added support for them.

The files I uploaded to the holeinthewall was taken directly from the isolinux folder of a debian live 6.0.3 image. Just fyi...


But I think I can see why it would be a good idea to just copy the isolinux.bin from the system now :lol:
User avatar
meandean
 
Posts: 392
Joined: Wed Mar 09, 2011 5:16 am

Next

Return to How-to

Who is online

Users browsing this forum: No registered users and 0 guests

suspicion-preferred