LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   several distro in one cd.. (https://www.linuxquestions.org/questions/linux-general-1/several-distro-in-one-cd-224186/)

-trustbyte- 08-30-2004 02:38 AM

several distro in one cd..
 
..is it possible? to have a menu when it boots and choose one of them? i mean Slax, DSL, Feather and others, can all fit in 700MB, in one cd and choose whatever i want to boot from that menu?


can be done a cd like this? if so, how?


thanks!


:)

homey 08-30-2004 08:40 AM

Yes it can be done. I use RIP linux as the host system because that has a grub patch which allows one to have a grub menu on the cdrom. To see how the entries in the grub menu should look for each distro, look in the file called isolinux.cfg .
I also have a bunch of extra tools in the images directory. Instead of putting every one of these in the menu, I can just edit the boot entry. It helps if you know how to edit the grub menu at boot up time.

For example, I can type e to edit this entry....

title Ranish Tool V2.44
kernel /boot/memdisk
initrd=/images/ranish.img

to boot a tool called pci.img ( scans for pci cards )

title Ranish Tool V2.44
kernel /boot/memdisk
initrd=/images/pci.img

When it's time to make the iso and cdrom, go into the cd working directory and type:
cdrecord dev=0,0,0 blank=fast

mkisofs -J -R -b boot/grub/iso9660_stage1_5 -c boot/boot.cat \
-o /home/bootcd.iso -no-emul-boot -boot-load-size 32 -boot-info-table .

cdrecord -v speed=4 dev=0,0,0 -data /home/bootcd.iso


Here is my current grub menu

Code:

color light-gray/blue black/light-gray
title *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* R.I.P. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
root (hd0)
title Rescue CD V0.2.15
kernel /boot/vmlinuz1 acpi=off root=/dev/ram0 init=/linuxrc nokeymap vga=785
initrd=/boot/initrd1
title Insert Linux V1.2.14
kernel /isolinux/vmlinuz ramdisk_size=100000 init=/etc/init lang=en apm=power-off hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi vga=791 nomce quiet BOOT_IMAGE=insert
initrd=/isolinux/miniroot.gz
title RIP Linux V10.6
kernel /boot/kernel devfs=nomount vga=normal nokeymap init=/linuxrc root=/dev/ram0 rw
initrd=/boot/initrd.gz
title Feather Linux V0.5.6
kernel /isolinux/linux24 ramdisk_size=100000 nodma init=/etc/init lang=us apm=power-off vga=791 nomce quiet BOOT_IMAGE=knoppix
initrd=/isolinux/minirt24.gz
title Slax Linux V4.1.2
kernel /boot/vmlinuz2 max_loop=255 init=linuxrc livecd_subdir=/ load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 root=/dev/ram0 rw
initrd=/boot/initrd2.gz
title Freedos V9
kernel /boot/memdisk
initrd=/images/freedos.img
title Ranish Tool V2.44
kernel /boot/memdisk
initrd=/images/ranish.img


-trustbyte- 08-30-2004 09:13 AM

thank you!

tomorrow, when i'll get back to work, i'll try what you suggested!


:)

-trustbyte- 08-31-2004 03:30 AM

well, back to the game...
i got RIP , mounted the image, i found that isolinux.cfg ...
also mounted Slax, founded his isolinux.cfg and understand where that
kernel /boot/vmlinuz2 max_loop=255 init=linuxrc livecd_subdir=/ load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 root=/dev/ram0 rw came from...


but still, what do i do next..


copy all the files from the Slax iso into RIP iso? and so one with all the others distros? or create a directory inside RIP iso, and there put all the files from Slax?
or just put the .iso file of Slax inside the iso file of RIP and just modify the isolinux.cfg of RIP and thats it?

homey 08-31-2004 12:03 PM

I do it this way...
cd /home
mkdir -p /home/distros/rip distros/slax distros/feather distros/insert distros/rescue

Then I put each distrobution into the cdrom, mount it and copy the entire contents to it's respective directory which I just created.

Next I make a directory to build the new cd in...
mkdir /home/bootcd

Next I copy the entire distros into the working directory. I do just one at a time and pay attention if a file is the same that you don't overwrite anything critical.

With Insert and Feather I leave the kernels in the /isolinux directory and the others go in the /boot directory.
Note: the new version of Feather is different than older ones; I'm using the newer version here. Also, most Knoppix rebuilds are designed to be in the /KNOPPIX directory so that would make it difficult to have more than one knoppix on the cdrom. Insert linux is an exception as they use the /INSERT directory.

If you have distros which have kernels and initrd of the same name you will need to rename one set. Make sure to call it correctly in the grub menu.

For example.... vmlinuz and vmlinuz1

mad_ady 08-31-2004 12:05 PM

Take a look at www.ultimatebootcd.com
I've customized it and added several windows boot disks, msdos, and linux (tomsrbt, rescue linux) in less de 200Mb!

The syntax is easy

-trustbyte- 09-01-2004 03:16 AM

thanks alot for helping me!


i got it going on...
'till now i have slax, dsl, geexbox and of course RIP.

i have to look for more distro's to make 700MB, but i know how to get them living together!


:)

szdavid 08-17-2005 02:50 AM

Hello,

can someone explain me a understandable way how to do this ; I'd like to create a dvd with, for example, knoppix, gentto, ubuntu and freesbie...

Thanks

homey 08-17-2005 07:36 AM

Quote:

can someone explain me a understandable way how to do this
Ouch! :(

Knoppix is too big and uses every bit of space it can, even on a dvd now. Therefore, you need to use the knoppix remaster livecd distros like Feather, Insert or similar.

While booted in your linux distro, put a livecd distro in the cdrom and have a look at the contents of that cdrom.
To see how the entries in the grub menu should look for each distro, look in the file called isolinux.cfg .

hottdogg 10-05-2005 03:18 AM

Quote:

Originally posted by homey
...
Then I put each distrobution into the cdrom, mount it and copy the entire contents to it's respective directory which I just created.
...


Homey, What if I want to make multi distro from iso images that reside in harddisk instead from distro cd?
I have iso of dsl, vector linux installation, RIP in my hdd of which all of 'em I want to put in one cd with RIP based like you suggested but...
"without sacrificing more than one cd" -->this is pathetic I know :cry: but can it be done?
How?

Thx.

mad_ady 10-05-2005 04:05 AM

While working on ubcd, I wanted to add several distros. There are some tutorials on how to do this, but unfortunatelly, they have been offline for a while.

The secret is this:

Get all the files from your cds that you want to include (this means mounting the iso's and copying the contents to a temporary folder)
Then, see if all the linuxes use isolinux for bootup (usually this means there is a isolinux directory somewhere in the distribution).
Next, you have to merge all the isolinux-es into one isolinux. This means, having to modify by hand isolinux.cfg to add all your boot images (you can rename vmlinuz and initrd if there are more than one, insert them into the same directory and change the apporpriate line in isolinux.cfg).
You will also (maybe) need to create custom texts to display while pressing F1, F2... etc.

Take a look at this link, maybe it will help you. This is not a how-to, it just points out certain things.

http://www.ultimatebootcd.com/forums....php?p=998#998

Ok. After finishing with isolinux, you can create the bootable iso image, using as boot sector isolinux.bin from the folder where you have isolinux.cfg

Hope it helps.

hottdogg 10-06-2005 11:45 AM

I don't understand....:(

I may be dumb or whatever....

FIrst of all, my linux box is an OLD pc cannot do fancy things including burning cd.
Now, regarding my first question I use nero (in win, more powerful pc) to burn iso image to a cd-rw one at a time for 3 times and erase for 3 times too.
After each burn I copied them to a directory like homey suggested.

Here's my hierarchy for 3 distros before I burn to cd.
Code:

bootcd dir
    boot dir-->from RIP
      (file and dir from RIP)
    dsl-1.4  dir--> made by me
      (file and dir from dsl)
    vl-5.1 dir--> made by me
        (file and dir from vector linux installation)

2 questions:
1. Is there anything wrong with my setup?
2. I know how to make the dsl and vector listed in grub menu. If i'm not wrong, just put the list in menu.lst from RIP's grub config.
The tricky one is that the kernel boot. Instead of they boot the default kernel- which can be taken
from their own isolinux.cfg-I want to make that if the dsl or vector linux selected from grub, the dsl or vl boot like the original . Do you get my point?
Like this... grub->choose dsl->dsl's own boot options(with its own splash screen,etc.).Same for vl.
How to do this?
Multi distro built by trustbyte can't do this. It just boot selected distro with default kernel or let the user use grub for boot options.
I don't want choosing options using grub. Confusing. Just want grub act as distro selector. Period.

Hope you guys can comprehend my questions. Thx.

homey 10-06-2005 12:07 PM

Quote:

Like this... grub->choose dsl->dsl's own boot options(with its own splash screen,etc.).Same for vl.
How to do this?
My setup makes it boot with a normal splash screen after that os is selected from the grub menu.

If you want to grab the files directly from an iso image with out first burning it to cdrom, try something like this....

mkdir /home/test
mount -t iso9660 -o ro,loop=/dev/loop0 SOME_filename.iso /home/test


Copy everything from /home/test to the distro folder which you made for it

Note: don't forget to un-mount the iso when you are done with it.
unmount /home/test

hottdogg 10-08-2005 05:22 PM

Well, I'm kinda embarassed to ask/say this...
but what I Want to ask is "how to customize all this multi distro thing in windows environment?"
More accurately is "In windows environnment, how to make a bootable linux cd from a directory filled with linux files? "
If these questions aren't allowed in lq.org, well I just ask somewhere else in the internet forum.


F*** nero express 6 for the lack of features. F*** for being an idiot and ignorant person.
Sorry.
Maybe I will be so desperate that I have to download the windows version of makeisofs,cdrecord,dd,etc/using mingw.
And this put me more to a shame.

btw, about
Quote:

Like this... grub->choose dsl->dsl's own boot options(with its own splash screen,etc.).Same for vl.
How to do this?
If I have the opportunity, I'll play around with grub's command: chainloader or something.

and...
Code:

mount -t iso9660 -o ro,loop=/dev/loop0 SOME_filename.iso /home/test
doesn't work in my linux.

lbrigman124 06-02-2006 04:23 PM

if you have a newer Linux distribution you should be able to do this.

Quote:

mount -o loop someLinuxDistro.iso ./someLocalPathThatExists
but you have to do it as root


All times are GMT -5. The time now is 11:36 PM.