linux26304内核的移植手册.doc
文本预览下载声明
Linux-内核的移植手册
--基于EmbedSky的TQ2440实验板
下载linux-内核:
下载链接地址: HYPERLINK /pub/linux/kernel/v2.6/ /pub/linux/kernel/v2.6/(如果用浏览器无法打开下载链接的话,点击鼠标右键—保存链接地址?打开迅雷下载器?新建任务—将链接地址粘贴进地址栏。)
2.解压内核:
如果下载的是:linux-.tar.gz
如果下载的是:linux-.tar.bz2
将xfvz改为xfvj;
加入对ARM的支持:
下载交叉编译工具:arm-linux-gcc-4.4.3.tar.gz
解压工具;
加入环境变量:export PATH=/usr/local/arm-linux-gcc/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH(我使用的是友善提供的4.4.3的交叉编译工具,可以在FriendlyARM社区去下载)
进入到内核目录linux-下,修改Makefile:vim Makefile
在193行的“ARCH ?=(SUBARCH)”和194行的“CROSS_COMPILE ?=”修改为 ARCH = arm,CROSS_COMPILE=arm-linux-;
修改平台时钟
Vim arch/arm/mach-s3c2440/mach-smdk2440.c
将162行或者163行的16.9344Mhz改为12Mhz。
修改NAND_FLASH的驱动
修改内核代码的“arch/arm/plat-s3c24xx/common-smdk.c。在109行左右修改smdk_default_nand_part[]:
注:此分区应该是可以修改的
给内核打yaffs的补丁
因为挂载的文件系统选用的是yaffs的格式,但是不打补丁的内核是不支持yaffs的文件系统的。
下载yaffs源码(google一下)
解压源码包:tar xfvz cvs-root.tar.gz
打补丁:进入解压的cvs目录:cd cvs/yaffs2/
执行打补丁的脚本,打补丁到内核中./patch-ker.sh c /……/linux-/
配置内核
选用通用的配置文件:
cp arch/arm/configs/s3c2410_defconfig .config
加入yaffs2文件系统的支持
选择支持ECC校验(由于选用的交叉编译工具的版本是4.3.3)
其他设置基本可以默认。
制作zImage
Make zImage
编译成果后的结果图:
下载板子上验证:
因为我挂载的文件系统是天嵌提供的yaffs2的文件系统,所以出现一些内核模块找不到的警告,想消除这些警告,加入这些模块就可以了。
显示全部