免费做调查问卷的网站,做网站建设找哪家好,影视网站搭建哪个系统好,舟山集团网站建设AT91RM9200Linux移植笔记(三)-移植Linux kernel 2.6.17 手上板子原来自带的是2.4.19的内核#xff0c; 打算移植新的2.6的内核#xff0c;从网上下了2.6.17的kernel#xff0c;下载地址为#xff1a;http://www.kernel.org/pub/linux/kernel/v2.6/修改PATH环境变量或者Mak…AT91RM9200Linux移植笔记(三)-移植Linux kernel 2.6.17 手上板子原来自带的是2.4.19的内核 打算移植新的2.6的内核从网上下了2.6.17的kernel下载地址为http://www.kernel.org/pub/linux/kernel/v2.6/修改PATH环境变量或者Makefile文件的CROSS_COMPILE宏将前面制作好的交叉编译工具链路径添加进来同时需要下载针对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大小执行zcat时会报not gzip format的错误而在linux环境里下载则为79.1K且命令执行没有问题不知道下同一个文件在两种环境下怎么会有区别协议有区别然后一个很必要的修改是串口的驱动打开文件: /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 */}; 否则新内核没有ttyS4设备而我们的serial console正是基于ttyS4的所以ramdisk解压后由于找不着ttyS4而死掉。然后运行$ make mrproper$ make distclean$ make at91rm9200dk_defconfig$ make menuconfig修改其中的Boot OptionsDefault Kernel Command String: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx我修改的为mem32M consolettyS0,115200 initrd0x21000000,0x181341 root/dev/ram0 rw0x21000000是ram文件系统的起始地址0x181341是文件系统大小at91rm9200dk_defconfig位于/linux-2.6.17/arch/arm/config/下可以修改其默认配置最后$ make# cp arch/arm/boot/zImage ...在uboot的shell里$ tftp 20008000 zImage$ tftp 21000000 Ramdisk.gz$ go 20008000内核启动后会停在wanted 164392 limterd 164384无法启动文件系统经过在网上多番搜索可能的原因是kernel配置的ramdisk的大小不够但是我的ramdisk只有1.5M,而内核配置默认的是8192怎么会不够呢改大到10240果然可以加载ramdisk了 转载http://blog.csdn.net/shevsten/archive/2007/07/16/1694003.aspx转载于:https://www.cnblogs.com/fly-fish/archive/2011/03/10/1979470.html