Dual booting from LILO onto Promise controller?

I recently bought a WD 1200JB HD, and have it attached to a Promise Ultra133 TX2 controller card. As well, I have my original 8.4GB drive attached to my primary IDE channel on my motherboard (which I am currently using to run Win2000).

What I want to do is install WinXP and Slackware onto the new WD drive, but boot my system, using LILO, from a small /boot partition on the old drive.

I figure that this wouldn't be a problem for Linux as I can (worst-case scenario) pass the kernel extra parameters to tell it where the extra IDE channels on the Promise controller are located, and then boot from the appropriate partition. Currently I can load Linux 'recovery' disks and pass this information and it sees my WD drive just fine. When I don't pass it those parameters, it doesn't see the WD drive.

My biggest concern, however, is with Windows. My biggest concern is whether installing LILO to the old drive will still be able to 'see' the Promise controller, and the WD controller.

Anyone have any insight as to whether this approach will work, or whether there is a better approach?

Thanks,

- skubik.
3 answers Last reply
More about dual booting lilo promise controller
  1. well, firstly let me say well done for getting that far :-)

    Not sure about Slackware, but if the kernel is older than 2.4.20, you'll likely have to pass kernel params to set the HDD. Check out <A HREF="http://www.murty.net/ataraid" target="_new">http://www.murty.net/ataraid</A> for some info.

    Installing lilo will be fine. If paranoid, you can use a boot floppy.

    <i>Do I look like I care?</i>
  2. Currently, I'm able to boot Slackware from the installation disk... but I haven't actually installed it yet. I just boot into it and do nothing. :^/

    Anyways, I read somewhere to check the listing of /proc/pci and see whether my controller card is listed... and it was. So it went on to tell me that I need to take the values provided by the listing and pass those parameters to the kernel when I boot... which I have.

    So, when I boot into Linux from the CD (I have also done this from old Slackware boot/root disks from a previous installation a few years back), at the 'boot:' prompt, I enter:

    boot: bare.i ide2=0xb800,0xb402 ide3=0xb007,0xa805

    It loads fine, if finds the new drive on the Promise controller, I can mount it, and life is good. So from that end I'm not too worried about booting into Linux.
    My biggest concern is with Windows XP. Not so much whether I can load it from LILO (although it IS a concern), but moreso whether LILO will be able to SEE the Promise controller and the new hard drive at all.

    Under Linux, my new drive is listed as /dev/hde since it's the Primary drive on the 'first' channel of the Promise controller. So I kinda figure my lilo.conf file would look something like:

    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    message=/boot/bootmsg.txt
    image=/boot/vmlinuz
    label=linux
    root=/dev/hde4
    read-only
    other=/dev/hde1
    label=winxp
    table=/dev/hde

    But will this actually work or will I run into problems because of the Promise controller?

    - skubik.

    (BTW, sorry if it sounds like I'm beating this to death, I just want to make sure that this will work, otherwise I'll have to re-plan my installation)
  3. Kernel parameters look ok, if you have followed the "formula" for working out the numbers.

    boot=/dev/hda
    # if booting from the promise controller
    # boot=/dev/ataraid/d0
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    message=/boot/bootmsg.txt
    image=/boot/vmlinuz
    label=linux
    # root=/dev/hde4
    # assuming linux / is on partition 4 of the raid array
    root=/dev/ataraid/d0p4
    read-only
    # other=/dev/hde1
    # assuming winxp is on partition 1 of the raid array
    other=/dev/ataraid/d0p1
    label=winxp
    # table=/dev/hde
    table=/dev/ataraid/d0

    Basically, you need to reference the array as /dev/ataraid/dXpY, where X is the array number and Y is the partition number. Don't use the hde references, as that will write to ONE drive only - the other disk will be /dev/hdg. The Linux ataraid doesn't do any consistency checking AFAIK, so that will result in an array that wants to be rebuilt, but doesn't say so! (md raid is much better in this respect) Only use the /dev/ataraid/d0 reference, and if that's not working then your append line is broken (or not needed around 2.4.20).

    I'm not sure if there's anything in particular about WinXP you need to worry about. You have to fool around copying boot-sectors with WinNT, but I've not tried dual-booting with windows for a while...

    Maybe someone could offer some tips there, otherwise check the how-tos at <A HREF="http://www.tldp.org" target="_new">http://www.tldp.org</A>

    <i>Do I look like I care?</i>
Ask a new question

Read More

Western Digital Controller