Jump to content

Super-Disc: Multi-Boot Project CD/DVD Using ISOLINUX


jetman

Recommended Posts

Midz: I believe BT3 is based on the most rec version (v6) of Tomas M's Linux-Live scripts, so that LIVECD.SGN's location must also change. As I research this issue using my old Super-Discs, I have both Slax-5 and Slax-6 (ie. two diff versions of the Linux-Live scripts) working on a Super-Disc, so it isn't too tough. I seem to recall that the 'from' cmd-line option changed a little bit bet versions. Also review your cmd-line, as this changed from Linux-Live-5 to Linux-Live-6.

What I can say with certainty, is that the structure of the orig source must be replicated for each version of the Linux-Live scripts. Therefore, whatever is in the root of the Slax-5 disc must appear in the \dvd\slax sub-dir, which is where LIVECD.SGN lives. The same is true of BT3 (which should be comparable to Slax-6), so that you should have a \dvd\bt3\boot and \dvd\bt3\slax. \dvd\bt3\slax is probably where LIVECD.SGN lives, assuming the BT crew didn't hack liblinuxlive. HTH....Jet

Link to comment
Share on other sites


this is the mkisofs command line i'm using

mkisofs -N -V mb12 -b boot/isolinux/isolinux.bin -d -iso-level 4 -no-emul-boot -boot-load-size 4 -boot-info-table -o mb12.iso \mb

Link to comment
Share on other sites

@midz

Try this one:

mkisofs -J -joliet-long -no-iso-translate -N -V mb12 -b boot/isolinux/isolinux.bin -iso-level 4 -no-emul-boot -boot-load-size 4 -boot-info-table -o mb12.iso \mb

@Jetman

I have all my linux live-cds booting from a directory called LINUX on the root of my dvd so I know you can put them in directories other than the default :). The SLAX (5/6) based ones where easy to do since the from= boot parameter tells it where to look for the LIVECD.SGN file first. Otherwise it'll search the whole disc and will try to boot from the directory it finds that file in first, which can end up being the wrong one if you have mutiple SLAX based distros on your disc like I do (SLAX 5 / SLAX 6 / ZenWalk 5 / Backtrack 3).

Cheers

Link to comment
Share on other sites

@midz

Try this one:

@Jetman

I have all my linux live-cds booting from a directory called LINUX on the root of my dvd so I know you can put them in directories other than the default :). The SLAX (5/6) based ones where easy to do since the from= boot parameter tells it where to look for the LIVECD.SGN file first. Otherwise it'll search the whole disc and will try to boot from the directory it finds that file in first, which can end up being the wrong one if you have mutiple SLAX based distros on your disc like I do (SLAX 5 / SLAX 6 / ZenWalk 5 / Backtrack 3).

Cheers

Jotnar: I understood all of that and read your earlier post about hacks to other distros that I haven't touched yet: very good ! My point was that 'from=' changed a little bit, from Linux-Live-5 to 6, but it still helps find LIVECD.SGN. I did my SuperDisc proj w/o hacks to the init ramdisk and I still segmented the distros in their own sub-dirs. Also, I discovered that LL/Slax-5 had several directories in the root, while LL/Slax-6 had two: /boot and /slax. Initially, I made the mistake of breaking out the sub-dirs in /slax, to match the layout of LL/Slax-5. Never worked and I suspect midz did something like that. Also the reason I mentioned the cmd-line boot opts changed. It would never find LIVECD.SGN. So, I have something like:

\Super-Disc
killbill\
base\
devel\
modules\
etc...
slax-6\
boot\
slax\
base\
devel\
modules\
etc...

I probably could've buried killbill (Slax-5) and slax-6 under another dir level, but otherwise I did my proj w/o mods.

Re: MKISOFS cmd-line opts, I've covered that more than once, but perhaps it's time for another recap in the 1st msg, w/ a pointer to a MKISOFS dload.

I also need to d/l a fresh copy of PCLinuxOS, to try your hack for adding it to a multi-boot disc. Later....Jet

Link to comment
Share on other sites

Jet, you were right I was using the same layout for slax6 as for slax5 and as you know it didn't work.

I tried doing it your way with the boot and slax dir under a slax6 dir and it worked with:

from=/slax6

What did you mean by 'from=' changed a little bit?

Here's the interesting part, BT3 works with the usual layout, boot and data dirs split, BUT using Jotnar's mkisofs command line (Jotnar, can you expand on why this works...), I'm guessing this has something to do with the file system since my initial one used rock ridge while the new one uses joliet?

Funny though i expected BT3 to behave like Slax6, guess i was wrong.

Thanks,

midz

Link to comment
Share on other sites

  • 2 weeks later...

I hope you dont get mad at me... but... could someone upload a basic iso example.

I cant get it working... I need to se a working example... to modify it... Thats how i learn this stuff...

Hope you can help me... i Just need... ISOlinux menu whit only one or 2 items, a bin file loader... such as xp extracted boot image... and thats all... after that i think i would get it working my way...

Thanks...

Bye

Link to comment
Share on other sites

Jet, you were right I was using the same layout for slax6 as for slax5 and as you know it didn't work.

I tried doing it your way with the boot and slax dir under a slax6 dir and it worked with:

from=/slax6

What did you mean by 'from=' changed a little bit?

If I remembered, I would've told you ! :whistle:

Link to comment
Share on other sites

Add from=/bt3 to your isolinux append line. Make sure you have livecd.sgn in the bt3 folder.

Cheers

Here's some tips for multibooting other distros:

Chris D'Hondt (cmdhondt @ hotmail.com)

Changes to Support Multibooting Linux Live CDs on the Same Disc (14,June 2008)

This assumes that your disc label is "AdminToolkit" and that your linux directory

on the root of your disc is called LINUX. Change ISOLinux kernel and append statements as needed.

Almost all of these changes deal with editing files inside the initrd.

This file is usually a gzipped cpio or a gzipped ext2 image.

Knoppix - use the knoppix_name and knoppix_dir cheatcodes on ISOLinux initrd boot paramaters.

DSL - See Knoppix

Zenwalk - need to change name of livecd.sgn and edit liblinuxlive to change LIVECDSGN and LIVECDNAME variables

from=/LINUX/ZENWALK needs to be added on isolinux append line.

root password is ZenLive.

Fedora - Username is root, no password. initrd0.img is gzipped cpio.

To unpack: $> mkdir /home/user/tmp

$> mv initrd0.img initrd0.gz

$> gunzip initrd0.gz

$> cd tmp

$> cpio -id < ../initrd0

$> mv ../initrd0 ../initrd0_old

needed to change the sections in 'init' where it referenced the LiveOS directory.

ie.. OSMINSQFS, EXT3FS, SQUASHED. You also need to change the lines right above so

the files can be found

To pack:

$> cd /home/user/tmp

$> find . | cpio --create --format='newc' > ../initrd0.img

$> cd ..

$> mv initrd0.img initrd0

$> gzip initrd0

$> mv initrd0.gz initrd0.img

Ubuntu - need to change casper in initrd/scripts

change all $Path/casper to $Path/LINUX/UBUNTU/casper

change $mountpoint/.disk/casper-uuid to $mountpoint/LINUX/UBUNTU/.disk/casper-uuid

change all $Directory/casper to $Directory/LINUX/UBUNTU/casper

See above (Fedora) for cpio extraction and compilation.

Kubuntu - See Ubuntu

Linux Mint - See Ubuntu

OpenSuSE - need to change config.isoclient file to point new location for

openSUSE-10.3.i386*. Also need to change init and linuxrc so

that LIVECD_CONFIG points to config.isoclient in the right place.

See above (Fedora) for cpio extraction and compilation.

Mandriva - needed to modify linuxrc and change LABEL to AdminToolkit

also change /live/media/distrib.sqfs to correct path.

Clonegenius- need to change copy path in init under "Mounting Squashfs filsystem"

ISOLinux append line needs SUBDIR=LINUX/GENTOO added

CloneZilla - add /live_media/LINUX/CLONEZILLA to live_media_path_checklist in

pkg\opt_drbl.tgz\opt\drbl\conf\drbl-ocs.conf

add /live_media/LINUX/CLONEZILLA to possible_path variable in ocs-live.d/s03prep-drbl-clonezilla

add /live_media/LINUX/CLONEZILLA to possible_path variable in S99start-ocs-live in /etc/rcS.d

put changed S99start-ocs-live in the root of initrd

need to change casper in initrd/scripts

change all $Path/casper to $Path/LINUX/CLONEZILLA/casper

change all $Directory/casper to $Directory/LINUX/CLONEZILLA/casper

at the bottom (line right before the brace) create a new line and add

cp S99start-ocs-live "${rootmnt}/etc/rcS.d/"

See above (Fedora) for cpio extraction and compilation.

PCLinuxOS - need to change linuxrc in initrd (ext2 image).

Change $MNTCDROM/$BASEIMG$LOOPSEXT to $MNTCDROM/LINUX/PCLINUXOS/$BASEIMG$LOOPSEXT

Change losetup $DEVLOOP $MNTCDROM/$BASEIMG$LOOPTYPE to losetup $DEVLOOP $MNTCDROM/LINUX/PCLINUXOS/$BASEIMG$LOOPTYPE

Change all $MNTCDROM/livecd.sqfs to $MNTCDROM/LINUX/PCLINUXOS/livecd.sqfs

Kaspersky - In init change ${cdrom_mount_point}${SUBDIR}/kavresc to ${cdrom_mount_point}${SUBDIR}/LINUX/KASPERSKY/kavresc

Gentoo based.

Gentoo - In ISOLinux config change loop=image.squashfs to loop=/LINUX/GENTOO/image.squashfs

In ISOLinux config add SUBDIR=LINUX/GENTOO

Backtrack - In ISOLinux config add from=/LINUX/BACKTRACK

Virtualbox is a good way to test your changes

To get eth0 interface working in VirtualBox, you need the Bridge_Utils package:

$> brctl addbr br0

$> ifconfig eth0 0.0.0.0

$> brctl addif br0 eth0

$> ifconfig br0 192.168.1.2 netmask 255.255.255.0

Hi - I know my question is not quite right positioned here, but anyway....

I followed your instruction to build a multiboot USB-pendrive with ubuntu and pmagic located in subfolders on the stick. I am using syslinux v.3.71 and it works fine with pmagic, but with ubuntu I found no way to get it work. It starts up fine first, but then the boot-process stops on the bootscreen (with the scrollbar scrolling around) with alternating access on the USB-stick and then the CD-drive. I assume that it has something to do with the mountpoint in initrd/scripts/casper, but I have no idea what the stick's mountpoint is - I tried /media/CORSAIR already (regular mountpoint under installed Ubuntu), but that doesn't work. So any hint would be greately appreciated...

Link to comment
Share on other sites

Try booting it without the "quiet" and "splash" options. (Hit tab at the boot screen when the boot option is selected and then delete them from the options line). That may give more of a hint at where its failing.

Cheers

Link to comment
Share on other sites

  • 2 weeks later...

Hello I am tryng to make a multiple live cd that bots some distributions, but only Ubuntu Hardy Hedron dont bot, there are the distros, directory structure and my isolinux.cfg:

Knoppix 5.1 live cd -- ok

Fedora 9 live cd (gnome based) -- ok

OpenSUSE 11 with KDE 4.1 -- ok

Mandriva ONE KDE -- ok

Kubuntu Hardy -- don´t boot

Live dvd label: MandrivaOne (for boot mandriva! n_n), firts i use grub for boot the live dvd, and isolinux in a second try

Directory structure:boot/ -- here are the global menu.lst, in the root the mandriva kernel, in the directories the kernels and initrd of the other distros distros
boot/grub -- grub menu.lst configs files only
boot/grub/mandriva -- only menu.lst
boot/grub/ubuntu -- menu.lst, kernel and initrd
boot/grub/suse -- menu.lst, kernel and initrd
boot/grub/knoppix -- menu.lst, kernel and initrd
boot/grub/fedora -- menu.lst, kernel and initrd.gz
boot/cdrom -- directory for mandriva initrd
casper/ -- here the loopback image for kubuntu, the kernel and initrd
config.isoclient* -- this archive is for the kiwi system of Fedora
isolinux/ -- this isolinux directory is from the mandriva live cd, also i reuse it for tryng boot the dvd using this isolinux :P
KDE-Four-Live-read-only.i686-1.1.0* -- loopback image of SUSE 11
KNOPPIX/ -- for the knoppix image
LiveOS/ -- for the Fedora image
loopbacks/ -- for the mandriva image
preseed/ -- ubuntu files... i don´t know for what :P
ubuntu@ -- link from ubuntu

default Mandriva One KDE
prompt 1
timeout 40
gfxboot /boot/syslinux/bootlogo
label Mandriva One KDE
kernel /boot/vmlinuz
append initrd=/boot/cdrom/initrd.gz splash=silent vga=788

label SUSE 11 KDE 4.1
kernel /boot/suse/linux
append initrd=/boot/suse/initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent

label Fedora 9
kernel /boot/grub/fedora/vmlinuz0
append initrd=/boot/grub/fedora/initrd0.img rhgb root=CDLABEL=SFD rootfstype=iso9660 ro quiet liveimg

label Knoppix 5.1
kernel /boot/grub/knoppix/linux
append initrd=/boot/grub/knoppix/minirt.gz ramdisk_size=100000 init=/etc/init lang=es apm=power-off vga=791 nomce splash BOOT_IMAGE=knoppix

label Kubuntu Hardy
kernel /casper/vmlinuz
append initrd=/casper/initrd.gz boot=casper bootkbd=es quiet splash

Then i generate the iso image with this command:

genisoimage -V SFD -J -R -D -o sfd.iso -b isolinux/isolinux.bin -c isolinux/boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table

But ubuntu dont choose the live filesystem, this is the shoot of the error:

http://img46.imageshack.us/img46/8868/errorubuntuog1.png

Help please T_T n_n

Link to comment
Share on other sites

  • 4 weeks later...

@Israeru

Sounds to me like you missed out the .disk hidden directory from the livecd.

@killr

Ophcrack and BackTrack are both based on slax. There's loads of info about Slax around here so I'll leave you to search.

If your using isolinux you wont be able to boot Vista's bootmgr but you do have the choice of using either GRUB4DOS or BCDW instead.

I use BCDW as the launcher from isolinux:

isolinux label

label vista
menu label Windows Vista Recovery Console
kernel /bcdw/loader.bin
append -

bcdw.ini

[InitOptions]

[MenuItems]
\boot\bootmgr

[MenuOptions]
MenuDefault = 0
MenuTimer = 1

Edited by kof94
Link to comment
Share on other sites

@kof94

You can boot WinPE v2.x from ISOLinux.

Extract the boot sector and boot that from ISOLinux while having BOOTMGR on the root of your disc and the BOOT folder there too. If you don't change the BCD file then you need to have the wim file in a folder called SOURCES that exists on the root of the disc. I changed BCD to point to a wim in the BOOT folder to cut down on the number of folders in my root but it works fine either way. If you want to have a BOOTMGR menu with the correct labels you'll need to use the BOOTMGR file from pre-SP1 VISTA or pre WinPE 2.0. The boot process for VISTA\2008\PE2.X can be summed up like this: BOOTSECTOR -> BOOTMGR -> BOOT\BCD -> SOURCES\BOOT.WIM.

@killr

I think the only difference between the two different Ophcrack discs is the tables. So if you copy all the tables into one of the folders it should find both the Vista and the XP ones. Then you only need to multiboot two discs. :)

Cheers

Edited by Jotnar
Link to comment
Share on other sites

I tried what you said to start with but couldn't get it to work. The boot sector just keeps returning something like "Cannot find BOOTMGR".

I'm not really a Vista user either, I just keep a copy of the Vista Recovery Disk to fix other peoples PC's so I don't really have anyway of editing the bootmgr.

I'll give it another go later and get back to you.

Edited by kof94
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...