在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左右!