SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've been playing around with various bootable CD's (Slackware install, Slax, Knoppix) and I'm curious what all goes into booting an iso file system. I'm having a bit of a problem figuring it out by just simply poking though the files.
I see that it uses an initrd so I did some reading on that and figured out how to modify it by mounting the image, but how does the boot actually start? How do the files in the /boot directory for the CD work, and how can I modify them?
Specifically: (Example from Slax Live CD)
/boot/isolinux.bi_
/boot/isolinux.bin
/boot/splash.lss
/boot/splash.cfg
or any others that can not be opened in a text editor.
These are all binary files, and I'm not sure how they are created, what goes into them, and how I can tinker with them. The last one is the only non binary file, but all it contains is
Code:
^L^Xboot/splash.lss
^O0f Welcome to YOUR Live CD. Hit Enter to continue booting or press F1 for help...
It looks like splash.lss is the Slax graphic at boot, but I couldn't open it in any image editor. I'm also unsure what the ^ (control?) characters are and do.
The same basic boot srtucture applies to the Slackware install CD as well, the files are just named a little differently.
All the stuff I've read on the topic just say to "use the files from <insert already existing boot cd here>", but what if I wanted to just create one from scratch?
Can any one share any knowledge, links, or topics that you think might ease my curiosity?
The boot process is actually started with some special information in the CD structure. You might look up "El Torito" on Google.
Also look at the creation script for the CD. In the script I use for compiling the Backpack Programmer's LiveCD, here is the line that calls mkisofs to create a bootable .iso image:
All the stuff I've read on the topic just say to "use the files from <insert already existing boot cd here>", but what if I wanted to just create one from scratch?
Can any one share any knowledge, links, or topics that you think might ease my curiosity?
Thanks in advance!
...drkstr
Hi,
You could use pat's README.TXT on the install cd1.
Slackware-10.2-install-d1.iso/isolinux/README.TXT
Shows how to create a bootable slackware cd. You could dissect this for reference.
The boot process is actually started with some special information in the CD structure. You might look up "El Torito" on Google.
Thanks for the advice. I found http://en.wikipedia.org/wiki/El_Torito_(CD-ROM_standard) which seems to be a pretty good starting point. In itself there was not much information, but if I follow the links around, there is a wealth of kowledge to explore. I'll have to poke though a bit and post back when I know enough to ask more "intelegent" questions.
Quote:
isolinux.bin is the bootable floppy image that is used to start the boot and give the user some options before loading linux.
I tried mounting it as a loop device, but it was complaining about not specifying the file system. Maybe I will get some more info on this when I start poking around the above link.
Quote:
Hi,
You could use pat's README.TXT on the install cd1.
Slackware-10.2-install-d1.iso/isolinux/README.TXT
Shows how to create a bootable slackware cd. You could dissect this for reference.
Thanks for the responce. This was actually the first thing I read. I was hoping to get a little bit more detailed information on the actuall files worked, then how to put them together to make a CD boot. I allready got my CD to boot, now I want to know why it boots.
SLAX is made from these scripts so I think they should work.
Thanks for your reply. I am actually familiar with the linux-live scripts, and have played around with them a bit trying to figure out how it all works. Unfortunately, the linux-live package uses an already existing /boot directory for the CD (located in linux-live*/cd-root/boot). I was unable to figure out how these files are created by poking though the scripts since they just copy the files over when creating the isofs.
Thanks for your reply. I am actually familiar with the linux-live scripts, and have played around with them a bit trying to figure out how it all works. Unfortunately, the linux-live package uses an already existing /boot directory for the CD (located in linux-live*/cd-root/boot). I was unable to figure out how these files are created by poking though the scripts since they just copy the files over when creating the isofs.
linux-live uses the isolinux image to boot (same site that was given for syslinux above). I'm not sure that it is a format you could mount -- I haven't tried.
OK, I did some reading, and here are my questions:
isolinux.bin is an image of a bootable floppy created by SYSLINUX. I create a bootable floppy with
Code:
syslinux [-s] [-o offset] /dev/fd0
where the [] are optional. Now to finish the boot floppy, you can add a configuration file to the root directory of the floppy. ( http://syslinux.zytor.com/faq.php#config ) And any image files you want to use during the boot.
Here is were I get a little confused. The isolinux uses the same type of configuration files from the boot floppy to boot the CD. Is the isolinux.bin an image of the floppy with all of it's helper files contained in the image, or do I place the same configuration files I would normally put on the floppy into the boot directory of the CD, and just rename them to conform to the isolinux standard? (IE: SYSLINUX.CFG = isolinux.cfg and so forth )
Also,
what are these characters used for in the slax isolinux.cfg
^L^X
^O0f
Are these some kind of special characters? Is there a chart any where that lists all of them and what they do?
Thanks for all the help, sorry for all the questions!
...drkstr
isolinux.bin is an image of a bootable floppy created by SYSLINUX. I create a bootable floppy with
Code:
syslinux [-s] [-o offset] /dev/fd0
where the [] are optional. Now to finish the boot floppy, you can add a configuration file to the root directory of the floppy. ( http://syslinux.zytor.com/faq.php#config ) And any image files you want to use during the boot.
Also,
what are these characters used for in the slax isolinux.cfg
^L^X
^O0f
Are these some kind of special characters? Is there a chart any where that lists all of them and what they do?
Yes, and yes. They are control characters and are used to clear the screen, set screen colors (you only have 16 to play with), and other handy tasks. There is a a topic in the FAQ for syslinux covering this called "What is the DISPLAY File Format?". Here is a direct link:
Yes, and yes. They are control characters and are used to clear the screen, set screen colors (you only have 16 to play with), and other handy tasks. There is a a topic in the FAQ for syslinux covering this called "What is the DISPLAY File Format?". Here is a direct link:
I guess I missed this part when I read though it. Thanks for the info.
Thanks for all your help. This was actually the page I got all my information from. I was able to get a good understanding of what all the files are used for, but it doesn't really describe what the isolinux.bin is exactly (it just says to copy it). When I get home, I'm going to see if I can figure out how to mount the isolinux.bin as an image of a floppy disk so I can take a peek inside the and hopefully this will answer my questions. I'm not quite sure how to do this exactly, though I'm sure it's not to hard to figure out since I know the file system of the image (FAT).
Thanks again for taking the time to nudge me in the right direction. I'll post back with what I find out.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.