Find the answer to your Linux question:
Results 1 to 5 of 5
Hi all I've been dual booting with grub on hda for quite some time now and have had no issues with it (XP / SuSE 9.2). Recently I decided to ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2005
    Location
    Too far from the fridge
    Posts
    34

    Cable select boot issue


    Hi all

    I've been dual booting with grub on hda for quite some time now and have had no issues with it (XP / SuSE 9.2). Recently I decided to try a new distro (PCLOS) and I installed SuSE 9.3. These are on two seperate drives. Each drive has it's own boot loader and works perfectly IF the IDE primary master is plugged into it. If the other distro is plugged into the slave on the same cable it crashes on a kernel panic. I want to be able to select the drive to boot to in the BIOS instead of having all distros in one loader on the primary drive. I have a MSI mb and it uses the cable select method for drives. I also have my drives jumped for cable select.

    If anyone has any suggestions, I'm all ears.... Thanks in advance.

  2. #2
    Linux Guru
    Join Date
    May 2004
    Location
    forums.gentoo.org
    Posts
    1,817
    Check my response to another similar question. He found a work-around so I didn't hear if I was on track. Lemme know if you need clarificatoin.
    /IMHO
    //got nothin'
    ///this use to look better

  3. #3
    Just Joined!
    Join Date
    Feb 2005
    Location
    Too far from the fridge
    Posts
    34
    Thanks for the pointer, drakebasher.

    I looked at the thread and this one line stuck out like a sore thumb;
    "Is it possible that by choosing to boot the primary slave, Grub sees it as (hd0), while once the kernel is loaded, Linux sees it as hdb?"
    That kind of got me to thinking that when you install a distro, it writes all the config files based on your current hardware setup. Instead of hunting down all the config files, I just pulled the plug on hda and re-installed Suse on hdb. It works like a charm and I'm now able to boot into both systems. I didn't really lose anything as it was a freshly installed system.
    I would like to know what all of the affected config files are though (for future reference).

    Again, thanks for the help...

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Guru
    Join Date
    May 2004
    Location
    forums.gentoo.org
    Posts
    1,817
    Quote Originally Posted by Cabs61
    I would like to know what all of the affected config files are though (for future reference).
    I'm glad I could shed some light. Following is my understanding of how the boot process and the file locations relate:

    The "Grub" written to the boot sector (MBR or other) is only part of Grub. There are 2 other parts which won't fit on the boot sector, so they are written to the boot partition along with the Grub config file, etc. If you run 'info grub' and read the section under "installation", you'll see that to install Grub, you need to run:

    grub> root (hd0,0) <--Where the Grub boot files are (stage1.5, stage2, grub.conf)
    grub> setup (hd0,0) <--Where you want Grub installed

    That tells Grub where the rest of the bootfiles are: specifically, "stage 1.5" and stage2 of Grub and grub.conf which gives you the boot menu instead of just the grub command line. The "title" in the Grub boot menu (grub.conf) tells Grub where the selected kernel is and then, in the 'kernel' line in the grub.conf, you tell the kernel where the root ( / ) filesystem is (using the "/dev/hdxN" format). The kernel expects to find (within the root ( / ) filesystem) the file /sbin/init which is the first file to be executed and which leads to starting everything else. Once /sbin/init is found, the only other really important location-dependent file is /etc/fstab, which needs to know which partitions or other filesystems to mount during the boot process. Fedora Core is, as far as I know, unique in their use of "LABELs" instead of /dev/hdxN format pointers for mounting filesystems. But that practice brings with it other potential sources for confusion....

    So, without actually testing it all, I think that the following is true:
    • >Grub "stage1" can be written to any sector that can be booted, but it must be written to point to where the other Grub files are.
      >Grub's ..stage1.5, stage2 and grub.conf can be anywhere that Grub can see. grub.conf must state where the selected boot kernel and initrd are located.
      >The kernel can be anywhere that Grub can see (Grub's '...stage1.5' must be consistent with the filesystem format where the kernel is written). The kernel must be given a parameter stating where the root ( / ) filesystem is.
      >The root ( / ) filesystem can be anywhere that the kernel (with the help of initrd, if used) can see, but it must include the file /sbin/init
      >In the file /etc/fstab, all filesystems to be mounted must be correctly pointed to.
    /IMHO
    //got nothin'
    ///this use to look better

  6. #5
    Just Joined!
    Join Date
    Feb 2005
    Location
    Too far from the fridge
    Posts
    34
    WOW! Thanks drakebasher. That's quite a bit of useful info there. It doesn't seem too complex, so I'm going to really have a hard look at it. Understanding exactly what a system does when it boots is gonna be fun to learn.

    Thanks again...

Posting Permissions

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