AT91RM9200Linux移植笔记(三)-移植Linux kernel 2.6.17
AT91RM9200Linux移植筆記(三)-移植Linux kernel 2.6.17
手上板子原來自帶的是2.4.19的內(nèi)核, 打算移植新的2.6的內(nèi)核,從網(wǎng)上下了2.6.17的kernel,下載地址為:http://www.kernel.org/pub/linux/kernel/v2.6/
修改PATH環(huán)境變量或者M(jìn)akefile文件的CROSS_COMPILE宏,將前面制作好的交叉編譯工具鏈路徑添加進(jìn)來,同時需要下載針對AT91rm9200的patch包, 2.6.17-at91.patch.gz, 下載地址是http://maxim.org.za/AT91RM9200/2.6/
$ tar zxvf linux-2.6.17.tar.gz
$ cp 2.6.17-at91.patch.gz linux-2.6.17
$ cd linux-2.6.17
$ zcat ./2.6.17-at91.patch.gz | patch -p1
有點要注意的是,如果從windows下下載該patch,有三四百K大小,執(zhí)行zcat時會報not gzip format的錯誤,而在linux環(huán)境里下載則為79.1K,且命令執(zhí)行沒有問題,不知道下同一個文件在兩種環(huán)境下怎么會有區(qū)別,協(xié)議有區(qū)別?
然后一個很必要的修改是串口的驅(qū)動,打開文件: /linux-2.6.17/arch/arm/mach-at91rm9200/board-dk.c, 作如下改動:
/*
* Serial port configuration.
*? 0 .. 3 = USART0 .. USART3
*? 4??? = DBGU
*/
static struct at91_uart_config __initdata dk_uart_config = {
? .console_tty??? = 0,??????????????? /* ttyS0 */
? .nr_tty??????? = 5,
? .tty_map??? = { 4, 1, 0, 2, 3 }??????? /* ttyS0, ..., ttyS4 */
};
否則,新內(nèi)核沒有ttyS4設(shè)備,而我們的serial console正是基于ttyS4的,所以ramdisk解壓后由于找不著ttyS4而死掉。
然后運行
$ make mrproper
$ make distclean
$ make at91rm9200dk_defconfig
$ make menuconfig
修改其中的Boot Options:
Default Kernel Command String: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我修改的為:mem=32M console=ttyS0,115200 initrd=0x21000000,0x181341 root=/dev/ram0 rw
0x21000000是ram文件系統(tǒng)的起始地址,0x181341是文件系統(tǒng)大小
at91rm9200dk_defconfig位于/linux-2.6.17/arch/arm/config/下,可以修改其默認(rèn)配置
最后
$ make
# cp arch/arm/boot/zImage ...
在uboot的shell里
$ tftp 20008000 zImage
$ tftp 21000000 Ramdisk.gz
$ go 20008000
內(nèi)核啟動后會停在
wanted = 164392 limterd = 164384
無法啟動文件系統(tǒng),經(jīng)過在網(wǎng)上多番搜索,可能的原因是kernel配置的ramdisk的大小不夠
但是我的ramdisk只有1.5M,而內(nèi)核配置默認(rèn)的是8192,怎么會不夠呢??改大到10240,果然可以加載ramdisk了
轉(zhuǎn)載:http://blog.csdn.net/shevsten/archive/2007/07/16/1694003.aspx
轉(zhuǎn)載于:https://www.cnblogs.com/fly-fish/archive/2011/03/10/1979470.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的AT91RM9200Linux移植笔记(三)-移植Linux kernel 2.6.17的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到掉大门牙是什么预兆
- 下一篇: 做梦梦到孩子跳水是什么意思