1. 準備工作
因為 woody 的 kernel 是由 gcc 2.95 compile 出來, 但 promise 釋出的 driver source 註明一定要用 gcc3.x 去編繹。鋻於由 gcc3.x compile 出來的 kernel module 是不能 load 進 2.95 compile 出來的 kernel 上 , 所以請用 ATA 硬碟灌好一個全新的 Debian woody , 然後自行用 gcc3.x 去編繹核心
除了下列註明的項目外,請用 stable 去 apt-get 所有東西
# apt-get install kernel-package libncurses5-dev
# apt-get install gcc-3.0
# apt-get install kernel-source-2.4.22 kernel-headers-2.4.22-1 [stable/testing/unstable]
不知是何原因 , kernel-source-2.4.22 的 header 沒有raid 卡要的 header file , 請用 apt-get kernel-headers-2.4.22-1 進行以下動作
# ln -s /usr/src/kernel-source-2.4.22 linux
# mv /usr/src/linux/include /usr/src/linux/include-xxx
# cp -R /usr/src/kernel-headers.2.4.22/include /usr/src/linux
請一定要用 cp -R 而不是 cp -r , 不然重來一遍
先編繹 promise 的 driver ( 可到 promise 的 web 抓下來 )
# make clean all
回到 /usr/src/linux
# make menuconfig
緊記核心有加下的 option (弟是用 2.4.22 來編的 ) , 其他請參考 study-area 有關核心編繹的介紹
- prompt for development and/or incomplete code/driver -> y
- SCSI emulation support -> m
- Silicon image chipset support -> y or m
- SCSI support -> m
- SCSI disk support -> m
- SCSI generic support -> m
然後, 到 /usr/src/linux
# make-kpkg clean;
# make-kpkg --revision v01 > /dev/null 2> /home/john/kpkg_v01.err
# make-kpkg binary-arch
v01 和 導出的 filename 都是隨意的 , 旨在看看 kernel 在 compile 的過程當中有沒有 error , 有的話要先處理掉
一切正常的話 , 到 /usr/linux
# dpkg -i kernel-image-2.4.22-xxx
之後全程按 enter , lilo 會 setup 好
# cp ft3xx.o /lib/module/2.4.22/
在 /etc/modules 加上
scsi_mod
sd_mod
ft3xx
重新開機
2. 用 debootstrap 把系統裝起來
這時 , 你應該可以看到 kernel 把 你的 raid card 認出
# fdisk /dev/sda
sda1 * /boot ext3
sda2 /swap sw
sda3 / ext3
(弟其實是有設定 windows XP 的 , 不過不寫在這裡了 )
# mkfs.ext3 /dev/sda3
# mkfs.ext3 /dev/sda1
# mkswap /dev/sda2
# mkdir /mnt/sata
# mount /dev/sda3 /mnt/sata
# mount /cdrom
# debootstrap --arch i386 woody /mnt/sata file:/cdrom
* 以上請把 woody CD 放進光碟機
# chroot /mnt/sata /bin/bash
# vi fstab
fstab 的內容 :
/dev/sda1 /boot ext3 defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 errors=remount-ro 0 1
proc /proc proc defaults 0 0
另外 , 請開另一個 console 把 /etc/hostname , hosts ,resolv.conf, networks 和 /etc/network/interfaces, option 都複製到 /mnt/sata/etc 相應的 directory
# mount -a
# mount -t proc proc /proc
# base-config
3. 為新的系統編繹核心
請重複第一步所做的東西 , 便請在 make menuconfig 一步上, 加入以下 option
**** 不要選 loadable module support 下的 set version information on all module symbol , 不然會出現 unresolved symbol
Block device -> INITRD
File system -> Compressed rom file system , TEMFS , EXT2_FS
請不要把 DEVFS_FS 編到核心或模組
我們由 dpkg -i 那句繼續
dpkg 想把你的 lilo 設定, 但會 error , 不要理他 , 直接按 enter
# cp ft3xx.o /lib/module/2.4.22/
# apt-get install initrd-tools
# edit /etc/mkinitrd/module
加入以下幾行
scsi_mod
sd_mod
ft3xx
# update-modules
# mkinitrd -o /boot/initrd.img-2.4.22 /lib/module/2.4.22/
請把 lilo.conf 改成以下的樣子 :
lba32
disk=/dev/sda
bios=0x80
boot=/dev/sda
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
prompt
root=/dev/sda3
image=/boot/vmlinuz-2.4.22
label = Linux
read-only
initrd=/boot/initrd.img-2.4.22
如果你發現沒有了 /boot/bootxxx 什麼的 , 你可以 apt-get remove lilo; apt-get install lilo
# install-mbr /dev/sda --partition 1
# /sbin/activate /dev/sda
# lilo -v
# reboot
3. 完成
4. 後話
說實在 , 這在系統是花了弟很多時間才能建立好, 當中也失敗很多次, 所以各位無須氣餒 , 堅持是一定會成功的 , 加油呀!!
另外, 我發現 wiki 上的 gnome backport 超好用, 一下 apt-get 整個 system 就可以工作 , 還是 gnome 2.4 耶 , 速度比 kde 快 , 用 kde 的朋友可以試一下喔
而且 , 到 art.gnome.org download 一下 theme 後也挺漂亮呢
5. 參考資料
a. Install Debian 3.0(woody) to SATA RAID
http://copper.matsc.kyutech.ac.jp/~yoshi/linux/sata/
這個超有用 , 弟很多都是抄他的.... 強力建議去看看
b. Installing Debian using LNX-BBC 2.1 with debootstrap and LVM
http://www.starshine.org/SysadMoin/Debo ... stallation
c. Promise
http://www.promise.com/support/file/dri ... 0.0.19.zip