от Емил Бодушки(26-10-2004)
рейтинг (25)
[ добре ]
[ зле ]
Вариант за отпечатване
Как да инсталираме 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
;)
<< Проста защитна стена. | Универсалният изходен код >>
|