Gentoo Wiki


This article is part of the Tips & Tricks series.
Terminals / Shells Network X Window System Portage System Filesystems Kernel Other


Install Gentoo on a Promise Fasttrak S150 TX4

This article is in a build phase. I am new to wiki writing and maybe there are mistakes!!! (Any suggestions?)

The article covers the installation of a Gentoo system on a Promise Fasttrak S150 TX4 raid controller. This is a software raid, and to run your Gentoo system on it you can use dmraid, or software raid. Unfortunately i had many problems using that solutions, so i tried to use the original driver from Promise, that works ONLY with a 2.4 kernel. The driver is in source code form, and will be compiled as a module.


In order to start you need a working Gentoo installation on a IDE hdd, or on any other device you can boot with a 2.4 kernel.

Download the driver source code form the Promise web site and unpack it in a directory.

You should find a Makefile and a README.txt. Read it carefully and compile the driver (the defaults in the Makefile should be ok, but you can tune the -march option if you want), then install and load it.

Code: Compiling and loading the driver
cd <directory with driver source code>
make clean all
cp ft3xx.o /lib/modules/<kernel version>/kernel/drivers/scsi/
modprobe ft3xx

Now you should have some devices like /dev/sda, /dev/sdb, etc.

Migrate your system

Partition the array using fdisk (as usual) and mount it on a directory, like /mnt/gentoo.

Copy all your system to the mounted partition:

Code: Copying the system
tar cpf - / \
--exclude=/dev/* \
--exclude=/proc/* \
--exclude=/sys/* \
--exclude=/mnt/* | tar xpf - -C /mnt/gentoo

Then get a gentoo stage3 (or 1 or 2...) (maybe the one you used to install the system you are using) and copy the entries in /dev to your new system. This operation is important, because it creates the basic /dev/ entries needed during the boot, before mounting devfs.

Code: Copying devices
tar xvjpf stagexxxx.tar.bz2 /dev -C /mnt/gentoo

Mount proc and dev and chroot to your new system, like any other installation.

Code: Mount proc and dev
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev/ /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
source /etc/profile


You need to build the kernel using genkernel:

Code: Kernel building
genkernel --menuconfig all

When configuring the kernel make sure you selected the devfs option. Otherwise your system won't boot. After the kernel build you should find two new files in /boot: kernel-genkernel-x86-<kernel version> and initrd-genkernel-x86-<kernel version>.

Now re-compile the Fasttrak kernel module (just to make sure it works :-)). Then copy the initrd from /boot in your home directory, decompress it, extend it and add the module to it:

Code: Add the module to the initrd
#After the re-building of the driver:
cp /boot/initrd-* .
zcat initrd-* > initrd-not-comp
e2fsck -f initrd-not-comp 
resize2fs initrd-not-comp 3M #Resize the image in order to be able to put the driver in
mkdir tmp
mount -o loop initrd-not-comp tmp/
cp ft3xx.o tmp/lib/modules/<kernel version>/kernel/drivers/scsi/
umount tmp/
gzip initrd-not-comp
cp initrd-not-comp.gz /boot/initrd-*

Now install grub as usual on the array and configure the boot parameters as any other genkernel installation, but adding doload=ft3xx to the kernel command line and setting the real_root parameter to the complete devfs path of your raid array (somthing like /dev/scsi/host0/bus0/target0/lun0/part3).

Exit, unmount, reboot and it should work. :-)

Retrieved from ""

Last modified: Thu, 04 Sep 2008 06:22:00 +0000 Hits: 5,494