LINUX-BG   Адрес : http://www.linux-bg.org
Slackware и Promise FastTrak 378 RAID контролер
От: Емил Бодушки
Публикувана на: 26-10-2004
Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=366236932
Как да инсталираме Linux (статията е написана за Slackware-10.0) върху mirror RAID SerialATA диска, използващ Promise FastTrak 378 RAID контролер.

Като за начало трябва да кажа, че в CD –то от дистрибуцията няма подходящо ядро за целта. Прекомпилираме ядрото с поддръжка Processor type and features/Processor family; Processor type and features/High Memory Support; Processor type and features/Symmetric multi-processing support (необходимо е и gcc версия 3.x.). Ако използвате Линукс ядро различно от 2.4.26, ще ви се наложи да компилирате и драйвера http://www.promise.com/support/file/driver/1_fasttrak_tx4000_partial_source_1.00.0.19.zip Готово ядро 2.4.26 може да издърпате от http://emo.htsys.org/fasttrak/kernel-promise.i/bzImage, за същото ядро, готов драйвер http://emo.htsys.org/fasttrak/kernel-promise.i/ft3xx.o.
Издърпайте си initrd.gz от http://emo.htsys.org/fasttrak/kernel-promise.i/initrd.gz.
След като имате вече нов kernel, модул ft3xx.o, initrd.gz и двете CD-та с оригиналната дистрибуция на Slack10.0, можем да започнем. ( Пълен пакет за FastTrak378 - http://emo.htsys.org/fasttrak/kernel-promise.i/promise.i.tar.bz2 ).
Копираме цялото CD1 върху хард диска (~/cd1).
Вмъкваме в ~/cd1/isolinux/isolinux.cfg:
label promise.i
kernel /kernels/promise.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=promise.i
#vi ~/cd1/isolinux/isolinux.cfg

Вмъкваме в ~/cd1/isolinux/f3.txt:
promise.i - Kernel with support for PROMISE FastTrak
TX4000/376/378/S150 TX series RAID controllers
#vi ~/cd1/isolinux/f3.txt

Копираме initrd.gz (http://emo.htsys.org/fasttrak/kernel-promise.i/initrd.gz) в ~/cd1/isolinux/:
#cp initrd.gz ~/cd1/isolinux/
Създаваме нова директория kernels/promise.i
#mkdir ~/cd1/kernels/promise.i
Копираме /usr/src/linux/.config в новосъздадената директория:
#cp /usr/src/linux/.config ~/cd1/kernels/promise.i/config
Компресираме /usr/src/linux/System.map:
#gzip –c /usr/src/linux/System.map > ~/cd1/kernels/promise.i/System.map.gz
Копираме kernel-a (http://emo.htsys.org/fasttrak/kernel-promise.i/bzImage):
#cp /usr/src/linux/arch/i386/boot/bzImage ~/cd1/kernels/promise.i/
Копираме драйвера (http://emo.htsys.org/fasttrak/kernel-promise.i/ft3xx.o):
#cp ft3xx.o ~/cd1/kernels/
Влизаме в основната директория на копираното върху хард диска CD1 на slackware-10.0 дистрибуцията (тази с ChangeLog.txt в нея):
#cd ~/cd1
Създаваме iso файл:
#mkisofs -o /tmp/slackware.iso \
-R -J -V "Slackware Install" \
-x ./extra \
-x ./pasture \
-x ./patches \
-x ./source \
-x ./zipslack \
-hide-rr-moved \
-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
-sort isolinux/iso.sort \
-b isolinux/isolinux.bin \
-c isolinux/isolinux.boot \
-A "Slackware Install CD1" .

Изгаряме /tmp/slackware.iso върху CD със cdrecord или с предпочитан от вас софтуер за запис.
По същия начин “ремонтираме” оригиналното CD2 от slackware-10.0 дистрибуцията.
Ако не ви се правят всички процедури, описани по-горе:
http://emo.htsys.org/fasttrak/iso/slackware10.0-cd1.iso
http://emo.htsys.org/fasttrak/iso/slackware10.0-cd2.iso
Предварителната подготовка е завършена ;)

Инсталираме от новосъздадените CD-та Slackware-10.0 на машината с FastTrak 378 RAID контролера, като на промпта BOOT: пишем:
BOOT: promise.i nousb
След като се появи #, трябва да се зареди модул ft3xx.o:
Проверете къде е закачен CDROM-ът!!! Моят е /dev/hdе
#mount /dev/hdе /cdrom
#insmod /cdrom/kernels/ft3xx.o
#umount /dev/hdе
Проверете съществува ли SCSI устройство:
#cat /proc/scsi/ft3xx/n (n е SCSI хост номерът), ако статусът е наред, RAID контролерът е “вдигнат” и може да продължите с инсталацията.
#fdisk /dev/sda (sda - ако нямате друг SCSI контролер)
#setup

Вероятно ще забележите, че при рестартирането след инсталацията на slack-а, kernel-ът няма да може да монтира коренната директория (Kernel panic: VFS: Unable to mount root fs). Ще направим още малко “леки” промени.
1. Зареждаме машината от CD-то. На промпта BOOT: пишем:
BOOT: promise.i root=/dev/sda1 nousb initrd=initrd.gz ro
(sda1 – ако /dev/sda1 е монтиран в / ;)
2. Копираме ft3xx.o в /lib/modules/`uname -r`/kernel/drivers/scsi/:
#cp ft3xx.o /lib/modules/`uname -r`/kernel/drivers/scsi/
3. Създаваме initrd.gz за зареждане на модул ft3xx.o преди монтирането на коренната директория.
#mkinitrd -c -m ft3xx.o
4. Проверете дали /boot/vmlinuz и kernel-а от CD1 - kernels/promise.i/bzImage са еднакви. Ако не – заменете /boot/vmlinuz с този от CD1 “коригираната” дистрибуция – kernel/promise.i/bzImage:
#cp –f /mnt/cdrom/kernels/promise.i/bzImage /boot/vmlinuz
5. Коригираме /etc/lilo.conf, като вмъкваме нов ред след image=/boot/vmlinuz - initrd = /boot/initrd.gz
#vi /etc/lilo.conf
6. Стартираме lilo:
#lilo
7. Рестартираме машината:
#shutdown –r now


Въпроси и забележки на: emo@htsys.org
;)

<< Проста защитна стена. | Универсалният изходен код >>

Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора, както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Линукс за българи ЕООД 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 1 wallclock secs ( 0.16 usr + 0.03 sys = 0.19 CPU)