Re: Promise FastTrak 100 RedHat 7.1 install and boot details (Adam McKay )

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Well, let me start by suggesting you install RedHat 7.2, which apparently works out of the box on hpt370 and promise devices. For the driver disk, use the one Helge Lenz posted earlier:
http://www-public.tu-bs.de:8080/~y0002235/ataraid/rh7.2/
Just use a DOS/Windows formatted floppy and copy the files onto the disk as they appear on Helge's site. I haven't used this method myself as the only box I had with a Promise driver is now sitting in a colo rack. There seem to be some conflicting reports as to whether or not it works with the actual release version of 7.2, but I'm sure any problems will be worked out rather quickly.


If RedHat 7.2 isn't an option, or if the above method isn't working properly, then I'll speculate a bit on what might be causing your compilation and boot problems :).

partition.c has a #ifndef on DOS_EXTENDED_PARTITION (and LINUX/WIN98). These are defined in linux/genhd.h (which is included in common.h, which is included in partition.c). If you are getting EXTENDED_PARTITION undefined, it probably means there is an older copy of linux/genhd.h lying around (and if that, then no doubt an older copy of kernel-headers is installed - it'd probably be a good idea to grab the latest). I'm not sure why or how this would be the case on a freshly installed 7.1 box (perhaps you didn't include kernel development on install, but I imagine you'd see more than just one problem if this were the case).

rpm -qa | grep kernel-headers to check what you have installed. kernel-headers-2.4.2-2.rpm was what was installed on mine when I compiled lilo-21.7.3 without complications. You can try to place the correct #defines directly in partition.c (before the #ifndefs begin) and see if that works:
#define DOS_EXTENDED_PARTITION 5
#define LINUX_EXTENDED_PARTITION 0x85
#define WIN98_EXTENDED_PARTITION 0x0f


If this is the only error you are getting this should work, but I would recommend you try installing a newer version of the kernel headers first as you may have other problems. Looking at the source, it doesn't seem like incorrectly defining EXTENDED_PARTITION (as I suspect you did from what you indicated below) would actually cause the problems you reported with booting, but you never know.

I think you meant LIL- and not LILO- ? If 'LILO' is printed, it means all parts of LILO successfully loaded, 'LIL-' means 'the descriptor table is corrupt', and I can't find any reference to 'LILO-' in the documentation.

Also, I'm not exactly clear on what you did before you tried to reboot. I couldn't get lilo to run directly from the Promise-driver kernel with the correct lilo.conf. I had to compile and install lilo-21.7.3, then copy the new lilo and lilo.conf to a disk and reboot off the boot CD-ROM, then run lilo -C lilo.conf from the shell to install. I'm not sure if you did this from reading your message.

I've attached my lilo.conf for both Arjan's (GPL) and Promise's drivers as I think that might be part of your problem. My best guess right now as for what caused your problem is that you ran lilo against a lilo.conf that contains references to /dev/sda*. I've also attached some detailed instructions I sent to another person from this list which explains what I needed to do to make the switch. Some of it is tailored to his information, so bear that in mind. If you wish, I can send you the same .img file I mention in the attached email.

Hope this is of some help.

- Adam

From: "Igor Dirkov" <i_dirkov@xxxxxxxxxxx>
Reply-To: ataraid-list@xxxxxxxxxx
To: ataraid-list@xxxxxxxxxx
Subject: Promise FastTrak 100 RedHat 7.1 install and boot details (Adam McKay )
Date: Tue, 23 Oct 2001 11:55:24 +0400


Dear Mr. Adam McKay

I am sysadmin from Moscow (Russia) and I have the same task
(Redhat 7.1 on FastTrak Promise).
I?d appricate if you send me some more detailed instructions of
installation process.
Thank you for your permission to  ask you for help.

PS.
What I have done that works
Your first 5 steps
1) Obtained relevant RedHat 7.1 drivers from:
http://support.promise.com/Linux/Default.htm
2)  tar xfv ftrhup_120b9.tar on a floppy took ft.o
3) Boot off CD-ROM, enter linux dd or expert at the boot prompt.
Then I went through install process.I skiped you steps 5 and 6.
I finish the install, and Redhat 7.1  boot from sda1.

Then
4)  I place http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.12.tar.gz
and
http://people.redhat.com/arjanv/pdcraid/patch-to-2.4.12
Compiled and booted a kernel with ataraid drivers.

I tried to compile lilo from
http://ataraid.slimyhorror.com/lilo-ataraid.tar.gz but
I got an error : undifined EXTENDED_PARTITION in partition.c
(I assigned value to EXTENDED_PARTITION according fdisk ),
but after installing LILO and rebooting
I got LILO-  Would you enlighten me what is wrong?

sincere regards




_________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp



_______________________________________________

Ataraid-list@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/ataraid-list


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
boot=/dev/ataraid/d0
root=/dev/ataraid/d0p5
disk=/dev/ataraid/d0
   bios=0x80
lba32
install=/boot/boot.b
ignore-table
prompt
timeout=50
map=/boot/map
message=/boot/message
default=ataraid
read-only
image=/boot/bzImage-2.4.10-ataraid
       label=ataraid
boot=/dev/sda
root=/dev/sda5
lba32
install=/boot/boot.b
ignore-table
prompt
timeout=50
map=/boot/map
message=/boot/message
default=linux
read-only
image=/boot/bzImage-2.4.10-ataraid
       label=ataraid

image=/boot/vmlinuz-2.4.2-2
	label=linux
	read-only
       initrd=/boot/initrd-2.4.2-2.img
	root=/dev/sda5

I'll give you the generic promise -> GPL driver conversion using 2.4.10 step by step (how I did it, at any rate) and hopefully that will help.

I should note there are some possibly significant differences in our configurations - I'm using PDC20267 and am not multi-booting (only linux on that box). I don't think either will be a problem, but you never know. Also, you'll need at least the first bootable CD of the two redhat 7.1 install CDs (this is useful both to aid in recovery if something goes wrong and needed to switch over to the ataraid drivers). Also, I assume you know what to do with a .img file, so I won't explain that.

Converting the lilo.conf isn't explained as well as I'd like, but hopefully it isn't too difficult to figure out. I suspect it may not work on the first go - make sure to save copies of your existing /etc/lilo.conf and /etc/fstab so you can restore your prior configuration (I copied mine to /etc/lilo.conf.sda.PROMISE and /etc/fstab.sda.PROMISE - they are also on the driver disk I've attached in etc). I had to switch back and forth three or four times before I figured everything out.

Standard disclaimers apply :). I'm pretty sure I didn't miss anything, but I can't guarantee this will work for configurations other than mine.

=== Compiling 2.4.10 with patch (or latest kernel)
*** Latest kernel right now is 2.4.11, I haven't tried Arjan's patch
   against 2.4.11 yet, so I'm not sure that you don't have to do some
   tweaking to get it to work.
 - http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.10.tar.gz
 - http://people.redhat.com/arjanv/pdcraid/patch-to-2.4.10
 - Log into box and cd /usr/src as root
 - Get linux-2.4.10.tar.gz and patch-to-2.4.10 in /usr/src directory
 - mkdir linux-2.4.10
 - ln -s /usr/src/linux-2.4.10 /usr/src/linux (make sure you delete or
   move linux directory/link if it is already there)
 - ln -s /usr/src/linux-2.4.10 /usr/src/linux2410
 - patch -p0 < patch-to-2.4.10
 - cd linux
 - make mrproper
 - make menuconfig (or whatever) - Be sure to pick everything that has
   to do with the ataraid drivers - besides basic ide support, the
   following should be configured:  CONFIG_BLK_DEV_PDC202XX=y,
   CONFIG_PDC202XX_FORCE=y,CONFIG_BLK_DEV_ATARAID=y,
   CONFIG_BLK_DEV_ATARAID_PDC=y  - check this by doing a grep on
   .config after make menuconfig completes and you've saved the config.
   If anything isn't configured, just manually edit the Makefile so
   the above lines are there.
 - make dep
 - make clean
 - make bzImage
 - make modules
 - make modules_install
 - cp `find . -name bzImage` /boot/bzImage-2.4.10-ataraid_GPL

=== Booting off ataraid via lilo...
 - Get http://ataraid.slimyhorror.com/lilo-ataraid.tar.gz and put in
   home directory (/root)
 - Get http://ataraid.slimyhorror.com/lilo.conf and also place in home
   directory (/root) (use as a reference)
 - tar zxvf lilo-ataraid.tar.gz
 - cd lilo-21.7.3
 - make
 - make install
**********************************************************************
*** Everything between the stars is on the .img I'm attaching.
**********************************************************************
 - Get a disk which has been formatted in Windows (VFAT format) and has
   the de-tarred ftrhup_120b9.tar in it (I'm not sure the format
   matters, but I couldn't get the install to recognize ext2fs
   formatted floppies for whatever reason).
 - Place it in floppy drive and mount /dev/fd0 /mnt/floppy
 - mkdir /mnt/floppy/bin
 - cp lilo /mnt/floppy/bin
 - mkdir /mnt/floppy/etc
 - cp /root/lilo.conf /mnt/floppy/etc
 - mkdir /mnt/floppy/2.4.2-2BOOT
 - cp ataraid.o /mnt/floppy/2.4.2-2BOOT (this should be the
   2.4.2-2BOOT version you made)
 - cp pdcraid.o /mnt/floppy/2.4.2-2BOOT (ditto)
   * On both modules, make sure to objcopy --strip-all  (e.g. objcopy
     --strip-all ataraid.o) before copying them
 - umount /mnt/floppy (if it says device is busy, you are probably in
   the /mnt/floppy directory)
**********************************************************************
 - Reboot off Redhat 7.1 CD-ROM
 - At boot prompt:  expert ide1=0xd000,0xd402 ide2=0xd800,0xdc02
   (this will differ for each person most likely) - how to get this
   information:
   * Boot off the CD-ROM as below, ignore all driver instructions.
     If you are already able to boot (in your case, this is true), you
     can skip three lines down and just cat /proc/pci.
   * Continue until you get a shell.
   * If you get to where it looks for the drive (and fails), you're
     still ok.
   * Don't click ok, just alt-F2 and type cat /proc/pci - the relevant
     section from my machine follows (this is after I already had the
     ataraid GPL drivers working, so it may not actually display
     Promise Technology or RAID or have the same IRQ, etc. (just look
     for 5 I/O at 0x#### in a row) when this is done on other systems):
-----------------------------------------------------------------------
 Bus  0, device  12, function  0:
   RAID bus controller: Promise Technology, Inc. 20267 (rev 2).
     IRQ 11.
     Master Capable.  Latency=32.
     I/O at 0xd000 [0xd007].
     I/O at 0xd400 [0xd403].
     I/O at 0xd800 [0xd807].
     I/O at 0xdc00 [0xdc03].
     I/O at 0xe000 [0xe03f].
     Non-prefetchable 32 bit memory at 0xd6200000 [0xd621ffff].
-----------------------------------------------------------------------
   * You should see a device that has 5 I/O at 0x#### [0x####]
   * You don't care about the number in the []s.
   * We'll call the first number (0xd000 in my case) a, followed by b,
     c, and d.
   * We don't care about the 5th number.
   * Given that, the format of the parameters is:
     - ide1=a,b+2 ide2=c,d+2  (full command: expert ide1=a,b+2
       ide2=c,d+2)
 - When it asks for driver disk, place the above disk in the drive and
   hit OK.
 - It will say loading ft.o, but it will fail because you specified
   ide1 and ide2 above.
   * If you don't specify ide1 and ide2 parameters, it will load ft.o,
     which is fine you can rmmod ft to get rid of it, but insmod
     ataraid.o works and insmod pdcraid.o fails if you don't specify
     ide1/ide2 at the boot prompt (it did for me at least).
 - You will have to get to and select the Local CD screen (it will
   try, and fail, to load ft.o a couple times, once after you indicate
   you've put in a driver disk and once after you select Local CD -
   after the last one fails, continue by doing Alt-F2 (or Ctrl-Alt-F2)
   to get to the shell.
 - cd /tmp
 - mount -t vfat fd0 drivers
 - cp drivers/bin/lilo .
 - cp drivers/etc/lilo.conf.ataraid.GPL ./lilo.conf
   * Or just copy your existing lilo.conf (/r/etc/lilo.conf) here and
     edit that (this is probably the more efficient way to go about
     it).  Use drivers/etc/lilo.conf.ataraid.GPL for reference.
 - cp drivers/2.4.2-2BOOT/*.o .
 - insmod ataraid.o
 - insmod pdcraid.o
 - Both of these should succeed without error (Alt-F4 should display
   that they've loaded)
 - Do everything in MAKEDEV script (if drivers/bin/MAKEDEV fails, do
   the following):
    mkdir /dev/ataraid;cd /dev/ataraid;mknod d0 b 114 0;
    for((I=1;I<16;I++));do mknod d0p$I b 114 $I;done
 - mkdir /boot;mount /dev/ataraid/d0p1 /boot
   * It is important that /boot points to the correct place - it can
     either be directly mounted there or it can be a symbolic link, but
     /boot must lead to your redhat /boot partition or lilo will not
     work properly.  /dev/ataraid/d0p1 is the partition on which /boot
     resides in my system.
 - mkdir /r;mount /dev/ataraid/d0p5 /r
   * Root was partition 5 for me, I assume anyone who chooses to allow
     redhat to partition for them on a clean system will get the same
     results (boot was partition 1, swap was partition 6)
 - export PATH=/r/bin:/r/usr/bin:/r/sbin:/r/usr/sbin:$PATH
 - vi /tmp/lilo.conf
 - Change appropriately (change (or add) linux image to
   image=/boot/bzImage-2.4.10-ataraid_GPL (or whatever you called
   it)).  The drivers_disk_vfat.img contains my lilo.conf
   (etc/lilo.conf.ataraid.GPL).  The short answer is change everything
   that has /dev/sda# in it to /dev/ataraid/d0p#, but there are a few
   other lines which are important.  You can pretty safely use the
   directives contained until the first image=/boot/... line, just
   change them to reflect local information.  Make sure to preserve
   information needed to boot other operating systems.
 - /tmp/lilo -C /tmp/lilo.conf -v
 - This should run without error.
 - vi /r/etc/fstab
 - Change all instances of sda to the equivalent /dev/ataraid
   partition and remove LABELs and replace with partitions:
   * /dev/sda6 == /dev/ataraid/d0p6 (swap partition for me)
   * LABEL=/ == /dev/ataraid/d0p5, LABEL=/boot == /dev/ataraid/d0p1 in
     my case.
 - cd /;umount /r;umount /boot;sync;sync;sync
   * Immediate reboot without doing this probably won't leave enough
     time for data to be written to disk (fstab in particular).  The
     act of unmounting the partitions probably does the sync, but it
     never hurts to be paranoid.
 - Reboot should get you to a login prompt.

- Adam



[Index of Archives]     [Linux RAID]     [Linux Device Mapper]     [Linux IDE]     [Linux SCSI]     [Kernel]     [Linux Books]     [Linux Admin]     [GFS]     [RPM]     [Yosemite Campgrounds]     [AMD 64]

  Powered by Linux