Web info-x
   
THIS SITE IS FOR SALE
 
 
Tutorials
 Info-x : Info-x Tutorials and Documents : Tutorials
Message Icon Topic: Making a Multiple-Boot CD Post Reply Post New Topic
Author Message
deej
Admin Group
Admin Group


Joined: 22 Nov 1997
Online Status: Offline
Posts: 3
Quote deej Replybullet Topic: Making a Multiple-Boot CD
    Posted: 14 Dec 2004 at 16:27

I noticed that the issue of making a multiboot CD is not very
much covered on the Internet, and if so, only sparsely. Commercial Windows vendors
include some possibility to create  bootable CD's in their software, but I haven't
yet seen an option to create a multiboot CD in their packages. For me creating
a bootable CD in Linux is much easier than in Windows. There are also many free
utilities that help you create a Linux bootable CD, but having a multiple boot
CD is a delicacy. You can have several versions of Linux boot images on the
CD - versions with support for journaling file systems, repair utilities, various
breeds of Linux or BSD, or even QNX, Plan9 and more.



Why do I thing this may be good for you? Imagine you use Linux
and FreeBSD simultaneously, you have more Linux distributions installed on your
hard disk, but something happened to your system - there is no way to access
the data anymore. Either you use a bootable diskette (but there may be many
obstacles if you work with a specific system like XFS journaling file system,
for example, or encrypted files system, and you find that you must have at least
5 Linux bootable diskettes to suit you), or you create a multiboot CD on which
you put various breeds of Linux kernels and utilities. A little CD with 10 operating
systems on it is redemption from the illusion of this world that makes you believe
that something is always wrong.



I want this article to be easy, practical and intelligible for
beginners, too, and I'd like to avoid too technical language that is not understood
by many of us. This will help attract readers of various sort.



A bootable CD is based upon the so-called El Torrito standard
- but there are other sites that explain this. Visit, for example, http://www.cdpage.com/Compact_Disc_Variations/danaboot.html



An important information for us will be that we may have up to
10 bootable operating systems on a CD that we may boot anywhere where the boot
ability is supported by BIOS. The bootable ISO image file may be created with
1.44MB diskette emulation, 2.88MB diskette emulation, or hard disk emulation. 



Now follows the practical guide on how to prepare a multiboot
CD



First, you must have a bootable DOS or Linux diskette image file.
An image is a file that contains the contents of a disk or diskette. There may
be many types of image files - if you dd (disk dump) your Linux partition with
a command (let's suppose that your Linux partition is on the /dev/hda1 partition): 

dd if=/dev/hda1 of=/my_image.file






a file my_image.file will appear in your file system. Not
every image file is bootable - it depends on its contents, so a good idea would
be to prepare some Linux or BSD diskette image files. The simplest way would
be to download such image files from the Internet. Here is the link:



http://www.ibiblio.org/pub/Linux/system/recovery/



The Ibiblio archive is very good. The image files you may download
from the above URL are prepared in such a way that they are bootable, so you
don't need to care much about building your own image. However, if you want
to make your own image, at the above URL you may also find some utilities like
Bootkit, CatRescue, SAR, disc-recovery-utils, etc., which will help you create
your own bootable diskettes (or bootable image files).



The files we will need for our work, in order to make a multiboot
CD, are fbsd-flp-1.0.3.bin (a bootable FreeBSD 2.8 MB diskette image), tomsrtbt,
or you may create your own images from the diskettes you already have. Put your
DOS or Linux diskette in the diskette drive and type the following command:



dd if=/dev/fd0 of=boot.img bs=512 count=2880



A good idea would also be to visit http://freshmeat.net
and search for a keyword \"mini\", so you will find even some esoteric mini Linux
distributions you normally don't hear about.



The site http://www.ibiblio.org/pub/Linux/system/recovery/
contains (I deleted some stuff):





  • Bootkit-1.01.tar.gz
  • CatRescue101E.tgz
  • SAR-2.25.tar.gz
  • banshee-linux.0.61.tar.bz2
  • brd-2.0.tar.gz
  • disc-recovery-utils-1.0.tgz
  • fbsd-iso-1.0.3.bin.gz
  • fspace.tgz
  • genromfs-0.5.1.tar.gz
  • mulinux-5r0.lsm
  • mulinux-5r0.tgz
  • picoboot-0.95.tar.gz
  • rescue02.zip
  • resque_disk-2.3.99-pre9-A.tgz
  • rip-10.exe
  • rip-51.iso.bin
  • sash.tar.z
  • tomsrtbt-2.0.103.ElTorito.288.img.bz2
  • tomsrtbt-2.0.103.dos.zip
  • trccs-0.8.1r2.iso.bz2
  • trccs-0.8.1r2.tar.bz2
  • trccs-0.8.1r2_boot_disk.img.bz2
  • yard-2.1.tar.gz
  • yard-prefabs-2.tgz
  • zdisk-2.14.tar.gz



Some other good sites where you can download bootable diskette
images:





LIAP (http://www.liap.eu.org/):
LIAP is a Linux in a Pill - the site contains many 1.44MB diskette images with
various utilities and kernel breeds suitable for recovery of various types of
disasters.




LEKA RESCUE FLOPPY (http://leka.muumilaakso.org/):
Leka Rescue Floppy is a small 1.44Mb distribution.



TOMSRTBT (http://www.toms.net/rb/):
Tomsrtbt (Tom's Root Boot) is a rescue utility, a very good one. You may also
download the 2.88MB image file from the above site.



You can also download bootable DOS images. Visit, for example,
http://www.bootdisk.com and download
DOS images if you do not have them available. The site contains DOS 5.00 to
6.22, Win 95/98/Me Bootdisks, DOS/Windows 9X/2000/XP bootdisks, Win 95/98/ME
- NT4/NT5 bootdisks, DrDOS 7.X disk for Bios Flashing Basic, etc. You may also
create a FreeDOS boot diskette.



First, some terms. Let's see a difference between a bootable image
file of a diskette or disk and an ISO image file to be burned on a CD. What
we must have are bootable diskette image files from which we will create one
ISO image file.



1) You may prepare your bootable diskette images from diskettes
you already have with the command:

dd if=/dev/fd0 of=/my_image.img



or you may download some bootable diskette image files from
the Internet (see the links). Make a directory in your Linux box, for example
- /CD, and copy the images to this directory (remember, you may have not more
than ten bootable images). Make sure you keep the 8.3 format for file names
- 8 characters for the file name and 3 characters for its suffix - this maximum
is only for the compatibility issue with the DOS makebt.exe program we will
later use).




2) If you want to make use of the space on the CD (ten images
of bootable diskettes would only require about 14MB), place some other utilities
in a subdirectory, for example, /CD/Soft. An information how to access the CD
is included at the bottom of this article.



3) Run the following command from the /CD directory:



mkisofs -b image.img -c boot.cat -J -l -R -r -o /cd.iso /CD



The \"boot.cat\" or \"boot.catalog\" file will be automatically created,
so you don't have to have it in your /CD directory - just type the command as
you see it - you can type the name of any image file, as long as its name corresponds
with the names of image files placed in the /CD directory. The image file included
in the above command will be the one you will boot your CD from. The image files
must have the size of 1.44MB or 2.8MB.



4) A cd.iso file will be created in your / directory (/cd.iso).
When you check this file and mount it (mount /cd.iso /mnt -o loop), the contents
of the ISO file should be seen in the directory where you mounted it. This ISO
image, if we burn the CD with it, will be bootable but only one image to boot
from will be available.



5) So we must edit the ISO image to make a multiple boot CD, thus
we will get other images to be included in the menu (0, 1, 2, 3, etc.) we will
see when we boot the CD (we will be welcomed by a multiple boot menu with options
for 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. By pressing the chosen number we will
boot the desirable operating system.



6) After editing it, we may now burn the CD.



Since I don't have the time and effort to create a Perl script
that would edit the ISO image for me and because the editing of the ISO image
file may appear complicated for some (I want this article to be as simple as
possible), it would be a good idea to use some free programs available on the
Internet. One of such free programs is makebt.exe. Some time ago, I found this
free program on some sites, but now I was unlucky to find it on the net, so
I put it on my website http://www.tankred.sk/~juro/freebsd/makebt.zip
where you can download it from.



You may run makebt.exe in DOSEMU, BOCHS emulator (http://bochs.sourceforge.net),
or you can download DOS system diskette images available at http://www.bootdisk.com,
or make a FreeDOS bootable diskette and boot your PC with it in order to run
the makebt.exe utility. If you don't have a DOS partition, the best idea would
be to use DOSEMU emulator - DOSEMU can also access Linux partitions, where you
may have your CD.ISO file waiting to be \"grasped in your clever hands\".



When you run MAKEBT.EXE at the DOS prompt, it will ask for the
full path and filename of the ISO file to be modified: you will type the name
of the ISO file with multiple boot diskette images in it, for example, CD.ISO,
and you will see the following screen:



-------------------------------------------------------------------------------------------------------



Make Multiple Boot CD-ISO Image Modifier ver 1.02



ISO File path and name: cd.iso



Bootable Disk Image Boot media type Default LBA



------------------- --------------- ------- --------



BC ) BOOT.CAT



1 ) FBSD.IMG             1.44M Floppy             Y



2 ) LINUX.IMG          2.88M Floppy               -



3 ) PLAN9.IMG          1.44M Floppy               -



4 ) QNX.IMG              1.44M Floppy               -



5 ) OPENBSD.IMG     2.88M Floppy              -



6 )



7 )



8 )



9 )



10 )



<TAB> = move between fields, up/down arrows = move between
rows, F1 = Confirm



Press 'y' key to make this image as default boot



------------------------------------------------------------------------------------------------------



BC stands for Boot Catalog. You just write boot.cat and don't
worry about it anymore, as you already used this string in the above mkisofs
command (it is, however, important that the ISO image file contains the string
\"boot.cat\" in it). Now you carefully type the names of the images. You have
to type the name of images in the DOS 8.3 format (this is a DOS restriction
for file names - the file may have only 8 characters and suffix 3 characters
maximum).



In the middle of the screen you will choose from 1.44MB floppy
emulation, 2.88MB floppy emulation, hard disk emulation, or no emulation. We
will only use 1.44MB and 2.88MB emulation (if you want to make a hard disk emulation,
make a 650MB Linux partition and copy there the filesystem of your Linux system
you booted your hard disk from - experiment...) Use the right keyboard arrow
to select between the types of emulation. On the right of the screen you have
to choose one bootable image as the default one by pressing \"Y\".



When you are finished, press F1 (you may try this several times,
as the program may not  respond everytime). The program is intelligent - if
you typed the image file name incorrectly, you will receive a warning message
(after pressing F1). Do not include any descriptions for boot images in the
menu that follows after pressing F1, as this feature is mostly exploitable in
SCSI CD-ROMs and I haven't studied it very much.



That's it. Now you may burn your CD.



cdrecord -v speed=8 dev=0,0,0 /cd.iso



When you boot the CD, you will not see descriptions for operating
systems, only numbers. The first and the second number will (0,1) usually stand
for the same operating system. I had not much time to experiment with this issue,
but a good idea would be to write down the number, so that you know which operating
system you are going to boot from.



We deal here with diskette images and emulation, so if you boot
your images with the multiple boot CD you just created, you may access your
CD-ROM by typing \"mount /dev/hdc /mnt\", for example, and have also access to
your /Soft directory, where you may have other utilities you plan to work with
later. In case of a DOS system disk, you should include drivers to access the
CD-ROM.



If you want to study or make a Linux program to patch the ISO
file, you can compare an ordinary ISO image file with one boot possibility only
with the ISO file patched by the makebt.exe utility. A good binary patcher is
a diff utility by Giuliano Pochini. Bdiff is a simple and small program for
making what the very common utilities \"diff\" and \"patch\" do with text files,
but also works with binary files. It may be downloaded from: href=\"http://space.virgilio.it/g_pochini@virgilio.it/\">http://space.virgilio.it/g_pochini@virgilio.it/
- however, both ISO files must be identical. The diff utility (for comparing
files) will show you the place (offsets) where the information with a multiboot
flag was written. It is sector 17 (Boot Volume Descriptor) and the Boot Catalog
Sector.



I created many multiboot CD's with the above information and I
have never experienced a problem. But first, in order to avoid writing unusable
CD-Rs - I had some problems making my own OS/2 images - burn the ISO image on
rewritable CD-RW disks. Enjoy!







IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Bulletin Board Software by Web Wiz Forums version 8.04
Copyright ©2001-2006 Web Wiz Guide

This page was generated in 0.047 seconds.
  Log in  
User:
Pass:
Remember Me:
Register
Forgot Password
  Christmas Gifts  

Bar Gifts
Xmas Gifts for Him
Xmas Gifts for Dads
Gadgets and Gizmos
Sporting Gifts
Games
Unique Lifestyle Gifts
Geek Gifts
iPod Mains Charger More Gadgets

THIS SITE IS FOR SALE
Sedo - Buy and Sell Domain Names and Websites project info: info-x.co.uk Statistics for project info-x.co.uk etracker® web controlling instead of log file analysis