在Roboard板子上更新X-Linux核心,核心版本 (2.6.35.7),我的環境是: 引導: syslinux ,檔案系統 busybox
1. 由於Roboard上採用的Vortex86DX,所以,Config檔案採用預設的I386設定檔
make i386_defconfig
然後鍵入
make menuconfig
開始配置
2.重要的幾處配置
Processor type and features --->
Processor family (Pentium-Pro) --->
在裡面選擇 "486" (注: 沒有引號)
Device Drivers --->
Serial ATA and Parallel ATA drivers --->
<*> IT8211/2 PATA support (選上)
這兩處選上後,編譯
make
bzImage
應該就可以成功啟動核心了! 但,請注意 (3.)的問題補充
3.hda 和 sda問題的補充:
a. syslinux的設定檔SYSLINUX.CFG修改:
APPEND root=/dev/hda2 需要修改為,
APPEND root=/dev/s
da2
b. busybox檔案系統中的/etc/fstab修改:
/dev/hda1 /boot msdos ro,defaults 0 0
/dev/hda2 / ext3 defaults,noatime 0 1 需要修改為,
/dev/s
da1 /boot msdos ro,defaults 0 0
/dev/s
da2 / ext3 defaults,noatime 0 1
如果是 2.6.29的核心則可以用hda,具體是哪個就靠大家隨機應變了。
4. 關於一些硬體驅動:
a. 網卡 (RDC R6040)
Device Drivers --->
[*] Network device support --->
[*] Ethernet (10 or 100Mbit) --->
[*] RDC R6040 Fast Ethernet Adapter support
b. 音效卡 (C-Media CM119A)
這個只要加上ALSA的通用驅動就可以了
Device Drivers --->
[*] Sound card support --->
[*] Advanced Linux Sound Architecture --->
<*> Sequencer support
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[ * ] OSS PCM (digital audio) API - Include plugin system
[ * ] OSS Sequencer API
[ * ] Support old ALSA API
[ * ] USB sound devices --->
<*> USB Audio/MIDI driver
c. 無線網卡(VT6655)
Device Drivers --->
[ * ] Staging drivers --->
[ ] Exclude Staging drivers from being build
<*> VIA Technologies VT6655 support
5. 再次網卡補充
不過,啟動之後,會發現螢幕不停列印:
如果網線接上: eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
如果網線斷開: eth0: link down
但,ping是能通網路!
這個是由於R6040的驅動問題,解決方案可以修改 $LINUX_KERNEL/drivers/net/r6040.c
在函數 static void r6040_timer(unsigned long data)中
注釋掉 mii_check_media(&lp->mii_if, 1, 1);
如此,編譯下來的核心大小,在我的環境下是 4192kB, 當然,大家可以自行剪裁,最後,可以壓制到2M左右!