Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
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.
would i be able to use a single flash stick and have say 2 or 3 distros on that flash stick? i suppose i could also ask, could i also use grub on a dvd and have different distros that arnt based on each other? just looking for some pointers or other answers. thanks.
Been there . Done that. so can answer 70% yes and 30% no. DVD is OK but some installers of certain distros might have been written to fetch the system files from a CD/DVD drive and wouldn't look into the a flash drive.
i followed the tutorial, and for the most part it worked, but i think imessed up on some things. could you or anyone look over my menu.lst. and ill post the errors that i got.
Code:
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
title Finnix-92.1 x86 (1024x768)
kernel /finnix_boot/isolinux/linux apm=power-off vga=791 quiet
initrd /finnix_boot/isoolinux/minirt.gz
title Clonezilla (800x600)
kernel /clonezilla_boot/live/vmlinuz1 boot=live union=aufs ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=788 ip=frommedia nolocales
initrd /clonezilla_boot/live/initrd1.img
title INSERT
kernel /INSERT_boot/isolinux/vmlinuz ramdisk_size=100000 init=/etc/init lang=en apm=power-off vga=773 nomce noapic dma BOOT_IMAGE=insert
initrd /INSERT_boot/isolinux/miniroot.lz
title Puppy Linux
#kernel /puppy_boot/vmlinuz pmedia=cd
#initrd /puppy_boot/initrd=initrd.gz
kernel /puppy_boot/vmlinuz
append root=/dev/ram0 initrd=initrd.gz splash vga=0x312 loglevel=1 PMEDIA=idecd
title RIP Linux
kernel /RIP_boot/boot/kernel32 vga=normal root=/dev/ram0 rw
initrd /RIP_boot/boot/rootfs.cgz
title GParted Live
kernel /gparted_boot/live/vmlinuz1 boot=live union=aufs noswap vga=791 ip=frommedia nolocales
initrd /gparted_boot/live/initrd1.img
title SystemRescueCD US
#kernel /systemrescuecd_boot/isolinux/rescuecd setkmap=us
#initrd /systemrescuecd_boot/isolinux/initram.igz
kernel /systemrescuecd_boot/isolinux/rescuecd
append root=/dev/ram0 initrd=rescuecd.igz init=/linuxrc vga=791 looptype=squashfs loop=/sysrcd.dat dokeymap cdroot splash=silent
### END DEBIAN AUTOMAGIC KERNELS LIST
and these are the errors im getting. RIP works just fine, but the other ones are giving me problems.
Code:
## SystemRescueCD error
VFS: Cannot open root device "<NULL>" or unknown-block(8,16)
Please append a correct "root=" boot option; here are the available parttions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,16)
## Puppy error
Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(22,1)
## Finnix
Error 15: File no found
Press any key to continue...
## GParted
live-initramfs will now start a shell. The error message was:
Unable to find a medium containing a live file system
## Clonezilla
live-initramfs will now start a shell. The error message was:
Unable to find a medium containing a live file system
/bin/sh: cant't access tty; job control turned off
## INSERT
Can't find INSERT filesystem, sorry.
Dropping you to a (very limited) shell.
Press reset button to quit.
thanks for the script, havnt tried it out yet, ill try it, but ild like to get dirty with the way saikee was describing. and thanks for the support linus72
Nowadays I put the Live CD into the hard drive because they boot a lot quicker and operate a lot faster. 5 of my 35 Linux are Live CD. I just let a distro like Ubuntu to mount the Live CD, to save me from mounting it myself, copy the Live CD content to a hard disk partition, make a /boot/grub directory, copy Grub's stage1 and stage2 and edit the isolinux.cfg into a menu.lst.
Here are the my menu.lst
Parted Magic 4.0
Code:
default 0
timeout 3000
title Default settings (Runs from RAM / USB usable)\n * Parted Magic version: 4.0, (C) 2009, Patrick Verner\n * http://www.partedmagic.com\n * Disclaimer: Author excluded from any liability.
root (hd0,30)
kernel /pmagic/bzImage noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us
initrd /pmagic/initramfs
map --unmap=0:0xff
System RescueCD 1.1.7 - very useful as you can get Freedos and other software booted
Code:
title rescue64
root (hd0,49)
kernel /isolinux/rescue64
initrd /isolinux/initram.igz
title /isolinux/altker32
root (hd0,49)
kernel /isolinux/altker32 video=ofonly
initrd /isolinux/initram.igz
title altker64
root (hd0,49)
kernel /isolinux/altker64 video=ofonly
initrd /isolinux/initram.igz
title vmlinuz2
root (hd0,49)
kernel /isolinux/altker32 video=ofonly
initrd /isolinux/initram.igz
title vesa
root (hd0,49)
kernel /isolinux/rescuecd forcevesa
initrd /isolinux/initram.igz
title uk32
root (hd0,49)
kernel /isolinux/rescuecd setkmap=uk
initrd /isolinux/initram.igz
title uk64
root (hd0,49)
kernel /isolinux/rescue64 setkmap=uk
initrd /isolinux/initram.igz
title minishell
root (hd0,49)
kernel /isolinux/rescuecd minishell=/bin/ash
initrd /isolinux/initram.igz
title rescuehd
root (hd0,49)
kernel /isolinux/rescuecd append init=/sbin/init
title /isolinux/reschd32
root (hd0,49)
kernel /isolinux/rescuecd append init=/sbin/init
title reschd64
root (hd0,49)
kernel /isolinux/rescue64 append init=/sbin/init
title freedos
root (hd0,49)
kernel memdisk floppy
initrd /bootdisk/freedos.img
title gag
root (hd0,49)
kernel /isolinux/memdisk floppy
initrd /bootdisk/gag.img
title dban
root (hd0,49)
kernel /isolinux/memdisk floppy
initrd /bootdisk/dban.img
title mhdd
root (hd0,49)
kernel /isolinux/memdisk floppy
initrd /bootdisk/mhdd.img
Xpud 0.8.9 (very fast booting but mininal desktop)
Code:
title xPUD 0.8.9 @ sda51
kernel /boot/xpud noisapnp quiet
I am not posting my Clonezilla menu.lst as it sometime works and in other time stuck in a loop. The other 4 work satisfactorily. I have not seek out to install as much Live CD as possible but just try to fill up the partitions I have created. The Live CD distros have no installer but they are very easy to put inside a bootable disk or flash drive.
Generally the procedure to put a Live CD into a flash drive involves the following steps
(1) Boot up a Linux. Make a partition in the flash drive or hard disk, say size larger than the CD, in ext3 or any filing system one desires. Let's call this /dev/sda7 and have it mounted on /mnt/sda7 in a Linux
(2) Insert the Live CD into the drive. Either manually mount the CD or let the Linux mount it automatically. The content should be in something like /media/cdrom
(3) Drag the content of the expanded filing system of the Live CD and copy the same to the created partition /mnt/sda7.
(4)make a /boot/grub directory in /mnt/sda7 using command "mkdir /mnt/sda7/boot/grub"
(5)Copy Grub's two essential files stage1 and stage2 into /mnt/sda7/boot/grub directory. I normally work from a Linux with Grub so my command is just "cp /boot/grub/stage* /mnt/sda7/boot/grub/" Grub only need stage1 and stage2 to boot up a Linux.
(6)Create a menu.lst inside the /mnt/sda7/boot/grub using the isolinux.cfg off the LIVE CD. I normally use the full isolinux.cfg except weeding out the unwanted statements and correct the syntax error for the "kernel" and "initrd" statements.
(7) I then arrange the Live CD partition, assuming sda7 is the 7th partition of the 2nd disk known to Grub as (hd1,6), chainloadable by commands in any Linux root terminal
Code:
grub
root (hd1,6)
setup (hd1,6)
quit
My Live CD in the partition or flash drive is now bootable in any Grub commands of
Code:
title My Linux Live CD in 7th partition of 2nd disk
root (hd1,6)
chainloader +1
I have said it several times before. Not every Live CD can be transferred into a hard disk or flash drive. This is because its installer might have been rigidly written to search the needed system files from a CDrom and ignore other devices. So do expect some Live CDs are not installable no matter how hard you try.
I have also a multi live linux on a usb stick.
But done differently (not with grub).
1. I started with slax.
I moved some files around and edited some.
Here are roughly the steps
# mkdir -p /mnt/tmp
# mount -o loop slax-6.1.iso /mnt/tmp
# mkdir -p /LIVE/stick
# cd /LIVE/stick
# cp -R /mnt/tmp/* .
# umount /mnt/tmp
# cd boot
# mkdir slax
# mv vmlinuz initrd.gz slax
# mv slax.cfg main.cfg
# vi main.cfg
Here I edit the entries /boot/vmlinuz and /boot/initrd.gz
to replace them by /boot/slax/vmlinuz and /boot/slax/initrd.gz
I did some other editing to enter some boot parameters ...
That's the file that needs to be edited when a new distro
is added
Then
# rm -Rf isolinux
I edited these files to reflect the change of path for
vmlinuz and initrd.gz and main.cfg
# vi syslinux/syslinux.cfg
(replaced ../slax.cfg by ../main.cfg)
# vi dos/slax.bat
(replaced ..\vmlinuz by ..\slax\vmlinuz and ..\initrd.gz by ..\slax\initrd.gz)
I copy some dos (3) system files that I got from a windows98 boot floppy image:
# cd /LIVE/stick
# cp ~/98se/*.* .
Now I mount my usb stick and copy everything to it
I have also a multi live linux on a usb stick.
But done differently (not with grub).
1. I started with slax.
I moved some files around and edited some.
Here are roughly the steps
# mkdir -p /mnt/tmp
# mount -o loop slax-6.1.iso /mnt/tmp
# mkdir -p /LIVE/stick
# cd /LIVE/stick
# cp -R /mnt/tmp/* .
# umount /mnt/tmp
# cd boot
# mkdir slax
# mv vmlinuz initrd.gz slax
# mv slax.cfg main.cfg
# vi main.cfg
Here I edit the entries /boot/vmlinuz and /boot/initrd.gz
to replace them by /boot/slax/vmlinuz and /boot/slax/initrd.gz
I did some other editing to enter some boot parameters ...
That's the file that needs to be edited when a new distro
is added
Then
# rm -Rf isolinux
I edited these files to reflect the change of path for
vmlinuz and initrd.gz and main.cfg
# vi syslinux/syslinux.cfg
(replaced ../slax.cfg by ../main.cfg)
# vi dos/slax.bat
(replaced ..\vmlinuz by ..\slax\vmlinuz and ..\initrd.gz by ..\slax\initrd.gz)
I copy some dos (3) system files that I got from a windows98 boot floppy image:
# cd /LIVE/stick
# cp ~/98se/*.* .
Now I mount my usb stick and copy everything to it
Then I use the slax script to make the stick bootable:
# cd /mnt/sdb1/boot
# ./bootinst.sh
From now on, all you have to do when you add a new distro is
just copy the files (perhaps move some around) to the usb key
and edit /boot/main.cfg to add new entries
I was able to put slax, grml, pmagic, and a few other distros
on a 4 GB stick and I still have plenty of room left
i did a bit of modding to my menu.lst file, and i was able to boot RIPLinuX, and Puppy. but the other distros mainly give me the same problem. heres what i have for a menu.lst, and the errors are attached to the distro.
Code:
# menu.lst
#
#
#
title Clonezilla
kernel /clonezilla_boot/live/vmlinuz1
append boot=live union=aufs ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" vga=791 ip=frommedia nolocales
initrd /clonezilla_boot/live/initrd1.img
#
# ERRORS:
# gave up waiting for root device. common problems:
# - Boot args (cat /proc/cmdline)
# -Check rootdelay= (did the system wait long enough?)
# -Check root= (did the system wait for the right device?)
# - Missing modules (cat /proc/modules; ls /dev
# ALERT! does not exist. Dropping to a shell!
title Finnix-92.1 x86
kernel /finnix_boot/isolinux/linux
append apm=power-off vga=791 #root=/dev/ram0 rw
initrd /finnix_boot/isolinux/minirt
#quiet
#
# ERRORS:
# Finnix is waiting for devices to settle. 6 tries, then sends me to a
# shell telling me to manually mount the cd to /ramdisk/cdrom.
title GParted Live
kernel /gparted_boot/live/vmlinuz1
append boot=live union=aufs noswap vga=791 ip=frommedia nolocales root=/dev/ram0 rw
initr /gparted_boot/live/initrd1.img
#
# ERRORS:
# [ 0.848614] Kernel panic - not syncing: VFS: Unable to mount root
# fs on unknown-block(254,0)
title INSERT
kernel /INSERT_boot/isolinux/vmlinuz
append ramdisk_size=100000 init=/etc/init lang=en apm=power-off vga=773 nomce noapic dma BOOT_IMAGE=insert
initrd /INSERT_boot/isolinux/miniroot.lz
#
# ERRORS:
# Cannot find INSERT filesystem, sorry.
title Puppy Linux
kernel /puppy_boot/vmlinuz
append pmedia=cd root=/dev/ram0 rw
initrd /puppy_boot/initrd.gz
#
# ERRORS:
# None
title RIP Linux
kernel /RIP_boot/boot/kernel32
append vga=normal root=/dev/ram0 rw
initrd /RIP_boot/boot/rootfs.cgz
#
# ERRORS:
# None
title SystemRescueCD US
kernel /systemrescuecd_boot/isolinux/rescuecd
append setkmap=us
initrd /systemrescuecd_boot/isolinux/initram.igz
#
# ERRORS:
# attempting to mount media:- /dev/sr0
# attempting to mount media:- /dev/sda
# media not found
# no bootable medium found. waiting for new devices...
# attempting to mount media:- /dev/sr0
# attempting to mount media:- /dev/sda
# media not found
# could not find cd to boot, something else needed!
# running a mini shell (cannot complete the boot process)
Grub is more flexible as it has components to boot from a floppy, hard disk, CD/DVD or flash drive. It is the best one-stop boot loader in the business.
To any PC user the most important feature is that Grub can boot any system manually. This means you can load any Grub up, by a CD or floppy or any Grub boot screen, and enter the instructions, line by line at a Grub prmpt, to boot any system. You don't even need to know what system it is or how many of them.
Grub has the following capabilities
(1) You can ask Grub to display text files at the terminal, using the "cat" command.
(2) There is no installed PC system Grub cannot boot. I would be delighted to hear if there is one.
(3) You can ask Grub to show the partition layout of any disk, using the "geometry" command
(4) You can ask Grub to match the file name by typing part of it and hit the tab key
(5) You can have a sub menu system in Grub, say one for M$ system, another for one disk, one for BSD/Solaris
(6) You can rearrange the disk order on-the-fly with the "map" statements.
(7) You can hid and unhide partitions before booting, using "hide" and "unhide" commands.
(8) You can assisgn any partition "bootable" or "active" by the "makeactive" command
(9) You can change the partition ID before booting, using "parttype"
(10) You can restore Grub at any partition or MBRm using the "setup" command.
You can look upon Grub as a mini operating system before booting any chosen OS. The menu.lst is just a script file if you do not bother to instruct Grub manually.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.