Dual booting from LILO onto Promise controller?

skubik

Distinguished
Oct 13, 2001
22
0
18,510
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.
 

poorboy

Distinguished
Jan 17, 2002
634
0
18,980
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>
 

skubik

Distinguished
Oct 13, 2001
22
0
18,510
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)
 

poorboy

Distinguished
Jan 17, 2002
634
0
18,980
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>