Bug 112795 - Installation fails on "unsupported" hardware, e.g. advansys
Summary: Installation fails on "unsupported" hardware, e.g. advansys
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 1
Hardware: i386
OS: Linux
medium
low
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-01-01 12:10 UTC by Paul Howarth
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2004-01-03 20:48:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Paul Howarth 2004-01-01 12:10:13 UTC
Description of problem:
Fedora Core Linux 1 does include the "advansys" SCSI module, but it's
in with the "unsupported" modules rather than the main group of kernel
modules. As a result of this, it isn't included in the boot disk, nor
the block device drivers disk, nor even the boot.iso image, which
contains all of the "main" kernel modules.
                                                                     
                                     
As a result of this, it is not possible to use any of these install
media to install or upgrade a system where an important filesystem
resides on a disk connected to the Advansys SCSI card. The same
problem would apply to systems using other "unsupported" hardware.



Version-Release number of selected component (if applicable):


How reproducible:
Every time.

Steps to Reproduce:
1. Attempt install/upgrade on system with only SCSI disks attached to
"unsupported" SCSI controller.
  
Actual results:
On attempting installation, no disks can be found so it is not
possible to continue with installation.

Expected results:
There ahould be a way of accessing the modules that appear in the
"unsupported" area of the kernel RPM. Perhaps an additional
"unsupported" driver disk? I think the ISO boot image should include
the "unsupported" modules as well as the "supported" modules. After
all, the kernel, once installed, runs just fine.

Additional info:
I managed to work around this problem by creating my own ramdisk image
with the advansys module included and using that as the starting point
for the installation.

Comment 1 Paul Howarth 2004-01-01 12:12:25 UTC
Here is the workaround approach I used to upgrade my Red Hat Linux 9
box with an Advansys SCSI card to Fedora Core Linux 1. The approach I
used uses the existing system to host the install media, but it could
be modified to use install media burned to a CD.
                                                                     
                                     
The first step is to find a good starting port for a custom install
image. I chose the boot.iso image, found in the "images" directory on
CD 1.
                                                                     
                                     
# mkdir /mnt/disc1
# mount -r -o loop yarrow-i386-disc1.iso /mnt/disc1
# cd /mnt/disc1/images
# mkdir /mnt/boot.iso
# mount -r -o loop boot.iso /mnt/boot.iso
# cd /mnt/boot.iso
# cd isolinux
# ls
boot.cat  general.msg  isolinux.bin  memtest      param.msg  
snake.msg   TRANS.TBL
boot.msg  initrd.img   isolinux.cfg  options.msg  rescue.msg 
splash.lss  vmlinuz
                                                                     
                                     
The files we need from here are vmlinuz (the kernel) and initrd.img
(the ramdisk).
                                                                     
                                     
# mkdir /tmp/boot
# cp -p vmlinuz initrd.img /tmp/boot
# cd /tmp/boot
                                                                     
                                     
We're also going to need an advansys.o module that will load in this
kernel. The kernel in the installer is
kernel-2.4.22-1.2115.nptl.i586.rpm so we need to install this RPM and
grab the kernel module from it.

# rpm -ivh /mnt/disc1/Fedora/RPMS/kernel-2.4.22-1.2115.nptl.i586.rpm
# cp -p
/lib/modules/2.4.22-1.2115.nptl/unsupported/drivers/scsi/advansys.o .
                                                                     
                                     
You can leave this kernel installed if you wish (a Red Hat 9 box will
run quite happily with it), or you can remove it:
                                                                     
                                     
# rpm -e kernel-2.4.22-1.2115.nptl
                                                                     
                                     
If you remove it, you'll need to remake the links for System.map,
vmlinuz and possibly module-info in the /boot directory.
                                                                     
                                     
The ramdisk image is compressed, so it needs to be uncompressed before
we can mount it.
                                                                     
                                     
# mv initrd.img initrd.img.gz
# gunzip initrd.img
# mkdir /mnt/initrd
# mount -o loop initrd.img /mnt/initrd
                                                                     
                                     
The bit we need to fiddle with is the modules directory:
                                                                     
                                     
# cp -rp /mnt/initrd/modules .
# gunzip -c modules/modules.cgz | cpio -t > modules-list
11795 blocks
# gunzip -c modules/modules.cgz | cpio -i -d
11795 blocks
# mv advansys.o 2.4.22-1.2115.nptl/i586
# echo 2.4.22-1.2115.nptl/i586/advansys.o >> modules-list
# cpio -o --format=crc < modules-list | gzip -c -9 > modules.cgz
11988 blocks
# mv modules.cgz modules
mv: overwrite `modules/modules.cgz'? y
# cd modules
                                                                     
                                     
At this point some file editing is necessary.
                                                                     
                                     
Add the following entry in the appropriate place in module-info
(between the acenic & aha152x entries):
                                                                     
                                     
advansys
        scsi
        "Advansys SCSI Cards"
                                                                     
                                     
modules.dep doesn't need editing as the following line is already there:
                                                                     
                                     
advansys: scsi_mod
                                                                     
                                     
pcitable should have the following lines (from /usr/share/hwdata/pcitable)
added:
                                                                     
                                     
0x10cd  0x1200  "advansys"      "Advanced System Products|ASC1200
[(abp940) Fast SCSI-II]"
0x10cd  0x1300  "advansys"      "Advanced System Products|ABP940-U /
ABP960-U"
0x10cd  0x2300  "advansys"      "Advanced System Products|ABP940-UW"
0x10cd  0x2500  "advansys"      "Advanced System Products|ABP940-U2W"
                                                                     
                                     
after this line:
                                                                     
                                     
0x10c3  0x1100  "e100"          "Samsung Semiconductors,
Inc.|Smartether100 SC1100 LAN Adapter (i82557B)"
                                                                     
                                     
This should provide for autodetection of the Advansys SCSI card.
                                                                     
                                     
The modules directory can now be moved back into the ramdisk image.
                                                                     
                                     
# cd ..
# rm -rf /mnt/initrd/modules
# mv modules /mnt/initrd
# sync
# umount /mnt/initrd
# gzip -9 initrd.img
# mv initrd.img.gz initrd-advansys.img
                                                                     
                                     
We're now ready to set up the bootloader to offer the customised
install image as a boot option. I use grub, as follows:
                                                                     
                                     
# mv initrd-advansys.img /boot
# mv vmlinuz /boot/install-kernel
                                                                     
                                     
Add the following entries to /etc/grub.conf:
                                                                     
                                     
title Fedora Core 1 Install
        root (hd0,0)
        kernel /boot/install-kernel ramdisk_size=8192
        initrd /boot/initrd-advansys.img
title Fedora Core 1 Install (text)
        root (hd0,0)
        kernel /boot/install-kernel text ramdisk_size=8192
        initrd /boot/initrd-advansys.img
title Fedora Core 1 Install (expert)
        root (hd0,0)
        kernel /boot/install-kernel expert ramdisk_size=8192
        initrd /boot/initrd-advansys.img
title Fedora Core 1 Install (lowres)
        root (hd0,0)
        kernel /boot/install-kernel lowres ramdisk_size=8192
        initrd /boot/initrd-advansys.img
                                                                     
                                     
The root () lines should be copied from your existing grub.conf
entries so that the /boot partition is identified correctly.
                                                                     
                                     
Finally, unmount the images and clean up:
                                                                     
                                     
# umount /mnt/boot.iso
# umount /mnt/disc1
# cd ..
# rm -rf boot
                                                                     
                                     
You should now be able to boot your machine and choose one of
the installer options above, with auto-detection of the Advansys
SCSI card.
                                                                     
                                     


Comment 2 Jeremy Katz 2004-01-03 20:48:45 UTC
This is intentional.  'unsupported' hardware means that it's not
supported for installatoin as well.


Note You need to log in before you can comment on or make changes to this bug.