Find the answer to your Linux question:
Results 1 to 9 of 9
I'm new to this board. But have been using linux full time for about a year and a half, played around with it for 6 or 8 mounths before that. ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jan 2005
    Location
    Gulf-Coast TX-MX
    Posts
    23

    Booting Several Linux distros from one drive.


    I'm new to this board. But have been using linux full time for about a year and a half, played around with it for 6 or 8 mounths before that.

    I started out with Mandrake 7 and Redhat 5, from there I've tried just about all the major flavors and a few minor ones. Even worked on LFS (still working on that one), this last month I gave Gentoo a try.

    But one thing I have yet to get right is LiLo config or Grub. I've had more luck with getting LiLo to boot several Linux distros at once, than Grub. But even then it seems it isn't right. For example.


    distro 1 is the one running Lilo, for it LiLo can find the /boot/linux-2.4.26-r6 (or what ever it is) file. But when I add distro 2 (or any after that) all I'm able to give lilo is /boot/vmlinuz. If I add a full path to the kernel on the other partion I get an error file doesn't exsist.

    They seem to all boot using the vmlinuz file, but I'm wondering if I'm using distro 1's vmlinuz file to boot all the rest of the distros, because I get funny little errors with the kernel from time to time.

    Now my question is;
    Can you use a /boot partion and mount it as /boot in each of these distros? Then when I run LiLo all of the kernels for each distro would be present.

    If so;
    How would I go about doing this? I know how to partion and mount a partion, What I'm in dought about is how would I move /boot to /hda1/boot or /mnt/boot. Would it be better with links or actually move them?

    There might be a better way, I'm all ears. I've even Thought about building a floppy linux just to run my lilo config and do changes to lilo. Like I said I'm still working on this.

  2. #2
    Linux Guru loft306's Avatar
    Join Date
    Oct 2003
    Location
    The DairyLand
    Posts
    1,666
    well first of all nomatter what distro i would rename the kernels so that i would not be confused and so when you put them all in the same /boot directory where grub.conf or lilo??? is they dont overwrite each other(i would ues a seperate partition for /boot to not get confused) then from there i can only advise on grub i dont use lilo...so from there all you need to do is cp the entry that works then change the name of the kernel and change root= or realroot= to that of what part that particular distro is on....sounds hard eh? it is realy not just confusing...


    also i hope that you r not or dont have a lilo or grub for each install ...cant imagine what would happen with that.

    /me should draw picture to explain......
    ~Mike ~~~ Forum Rules
    Testing? What's that? If it compiles, it is good, if it boots up, it is perfect. ~ Linus Torvalds
    http://loft306.org

  3. #3
    Just Joined!
    Join Date
    Jan 2005
    Location
    Gulf-Coast TX-MX
    Posts
    23
    Oh no, I use only one distro to control LiLo, before I've always used seperate partitions for each distro, and each one has it's own /boot folder. Most installs by default will place /boot in the /root partition.

    I understand cp, but changings names is where I'm in doudt as to the best means. Would it be best to leave the files with thier original names and place each distro in seperate folders such as /boot/knoppix and /boot/slackware, in the Boot partition.

    Or is it better to leave the files in thier original postion to /boot and change each file name, there is several files.

    Or do I just need the kernel, and not put all the rest of /boot folder over to the new partiton.

    I've tried grub several times, but haven't found a good manual for braking in a newbie. Lilo seems to work better for me. If I could ever brake through in grub, I believe it to be a better boot loader.

  4. #4
    Linux Enthusiast
    Join Date
    Jun 2004
    Location
    Windsor, CO
    Posts
    656
    I use grub, and as long as you reference everything to the correct partition ID, it doesn't matter.
    Fedora Core is the "controller" for grub, as grub is installed in the /boot folder of the fedora partition. Gentoo has it's own /boot folder as well, and I just added the correct information to grub.conf on fedora. The catch is this:
    if you have a separate /boot partition, you can just reference all the kernel stuff to that partition. Otherwise, you need to reference everything to it's corresponding root partition, like so:
    Fedora core is /dev/hda2, so that translates to (hd0,1) in grub.
    Gentoo is /dev/hda3, which translates to (hd0,2) in grub.
    So, since the Fedora partition is the one with grub on it, I can just:
    Code:
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.9-1.667
    I didn't need to reference the partition ID for anything but identifying root.
    Since Gentoo's /boot folder is on it's own partition, I need to reference that partition every time:
    Code:
    root (hd0,2)
    kernel (hd0,2)/boot/kernel-2.6.10
    I've never liked LILO much, especially since if you break the config somehow, you have to boot up a livecd or similar just to edit it, since there's no internal editing like on grub.
    Emotions are the key to the soul.
    Registered Linux User #375050

  5. #5
    Linux Engineer
    Join Date
    Nov 2004
    Location
    home
    Posts
    796
    The names and locations of the kernels don't matter, you can put them wherever you want on whatever partition you want as long as you correctly specify where they are in the conf file. The only thing that needs to know about it is the bootloader, which in your case is lilo. Having a single /boot partition doesn't really either, as long as you know which kernel is which and all. Though I don't see the point of running multiple distros on one machine anyway, unless one is set up as a rescue distro or something of the sort, but that's what live cds and rescue floppies are for... Maybe you could enlighten me?

  6. #6
    Just Joined!
    Join Date
    Jan 2005
    Location
    Gulf-Coast TX-MX
    Posts
    23

    Thanks for the helpfull discussion!

    Stormblazer; I use grub, and as long as you reference everything to the correct partition ID, it doesn't matter.
    I'll have to study up on grub some more and see if I can make it work, Those of us that like Grub sware by it, it's just that the learning cruve is a little steeper than Lilo's.

    valan; The names and locations of the kernels don't matter, you can put them wherever you want on whatever partition you want as long as you correctly specify where they are in the conf file. The only thing that needs to know about it is the bootloader, which in your case is lilo. Having a single /boot partition doesn't really either, as long as you know which kernel is which and all.
    Ok; I'll beleive you, but getting this to work for me has been a problem.

    For example heres the partions of my drive.

    /dev/hda1 Knoppixx
    /dev/hda2 Swap
    /dev/hda3 Libranet
    /dev/hda4 Slackware


    So in Libranet I have all these partitons mounted and write Lilo config like so,

    image=/boot/linux2.8.1
    label=Libranet
    root=/dev/hda3

    image=/boot/linux10.0 (I've also tried /mnt/hda4/boot/linux10.0)
    label=Slackware
    root=/dev/hda4

    image=/boot/linux2.4.26
    label=Knoppix
    root=/dev/hda1

    (Of couse theres more to the config file but this is the part partaining to this thread.)

    But when I run lilo I get errors saying files not found for all except Libranet which is the distro That's running Lilo. So I config it like this;

    image=/boot/linux2.8.1
    label=Libranet
    root=/dev/hda3

    image=/boot/lvmlinuz
    label=Slackware
    root=/dev/hda4

    image=/boot/vmlinuz
    label=Knoppix
    root=/dev/hda1

    After which lilo loads all three into the MBR fine. My question is which vmlinuz am I using to load those other two distros, Thier own vmlinuz or Libranet's vmlinuz?

    valan; Though I don't see the point of running multiple distros on one machine anyway, unless one is set up as a rescue distro or something of the sort, but that's what live cds and rescue floppies are for... Maybe you could enlighten me?
    I run multiple distros just for the flavor of it and because I can. It's sort of like driving a car, those that have more than one drive more than one.

    Really I do it to learn and make up my mind which I like. If I didn't do this I'd still be running Mandrakes 7.0, Imagine that. It's really interesting to see how different distros on the same base can have such a different flavor.

    As for live CD's I have a few of those, but I'm still kind of weak on the command line solo flying.

  7. #7
    Just Joined!
    Join Date
    Feb 2005
    Location
    GambleTown USA
    Posts
    8
    I have 10 Operating systems on one ATA-100 80GB hard drive. Im not bragging just simply saying it can be done. I too use lilo instead of grub because of its use of confusing partition numbers. The key to this problem is easy !
    You use only one Linux OS multi-boot manager and rename the bzImage, vmlinuz, kernel or whatever to a unique name. I then copy the bzImage, vm...
    or whatever to the boot manager's /boot directory. A particular problem is vmlinuz. Lots of linux OSs use this as a basis of booting. So for an example I renamed vmlinuz in Slax as vmlinuz-Slax using key F5 in mc (midnite commander). Kernel is another. Gentoo is kernel-2.6.9-gentoo.
    You can see all I did was add a "-" with the OS name. To avoid any confusion I also add "(hda7)" to the label in lilo.conf found in /etc directory. Just as muskrat implies here is a couple of entries on my /etc lilo.conf:
    #begin samples
    image = /boot/vmlinuz-slax
    label = "Slax(hda9)"
    root = /dev/hda9
    read-only
    image = /boot/vmlinuz-peanut
    label = "Peanut(hda4)"
    root = /dev/hda4
    read-only
    image = /boot/kernel-2.6.9-gentoo
    label = "Gentoo(hda6)"
    root = /dev/hda6
    read-only
    image = /boot/vmlinuz-dsl
    label = "DamnSmall(hda7)"
    root = /dev/hda7
    read-only
    #end of samples
    Add one OS each time with the magic command "lilo -t".
    If you dont get a message with the word "FATAL:" then run "lilo"
    The "-t" stands for test - it doesnt change the current mbr. Only "lilo" (without the "-t") does.
    Try not to run the grub or lilo at each OS install. Your boot manager should detect each and every partition the OS occupies. You will have to enter all this info on the choosen boot manager's /etc fstab file.
    Some OSs dont recognize file systems such as reiserfs. Pick that one that does as the boot manager. In my case (above) Peanut had to be choosen as the boot manager because it was the only one that did.
    e.c.

  8. #8
    Just Joined!
    Join Date
    Jan 2005
    Location
    Gulf-Coast TX-MX
    Posts
    23

    Thank you so much for a clear concies answer!

    Thank you so much for a clear concies answer!

    That was what I thought was happening, I was booting all my different distros on one solo vmlinuz file. No wonder they were all acting foolish.

    multiosusr your direct answer to what I must do, was right down my line of thinking, but I didn't know if I could change the names fo those files without ill affects or not. I'll work it out now. Thanks for the resovle on this issue.

    I've since tried grub it didn't do much better, So I'll probibly go back to lilo with multiosusr's floorplain.

  9. #9
    Just Joined!
    Join Date
    Jan 2005
    Location
    Gulf-Coast TX-MX
    Posts
    23
    I've noticed this old post of mine, and can't believe I was such a fan of LiLo just two short years ago!

    I now use Grub full time and don't even want to take about LiLo.

    But just incase anybody want to do this, I've mastered the multiboot using one boot floder.

    I start my installs doing the install boot loader to the partition, doing each one like that except the one I want in control of Grub, which gets install boot loader to MBR. and on that distros I use a seperate partition for /boot.

    In this way the grub on the MBR is using one partion which is /boot in the system.

    For example;
    hda1 = /boot
    hda2 = swap
    hda3 = /home

    hda5 = / and so on through all my distros hda6 = / hda7 = / etc to end of drive.
    each distro having /boot included at time of install on /, except the distro installing grub to The MBR. That one uses /boot partition duing instalation.

    Then I go into each distro, move /boot to /boot-old and create a new empty /boot, then add /dev/hda1 /boot to my fstab file. And copy vmlinuz and kernel over to hda1, then add each entry in a new stanza to Grubs menu.lst file.

    After which I have multiple distros using the same /home, swap and /boot. Each distro having thier own root partion. I currently have My laptop running 5 distros on the enternel HD and another 5 on an external HD, the external HD grub will boot any of the 10 distros. The enternal grub will only boot the 5 in residence. I also have DSL on a thumb drive that boots this box.

    All done with Grub. I could never get LiLo to do the Job.

    Just Thought I'd update this post.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •