1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mini2440 linux内核编译与移植 课程设计 linux内核移植步骤-mini2440

mini2440 linux内核编译与移植 课程设计 linux内核移植步骤-mini2440

时间:2022-12-30 00:47:43

相关推荐

mini2440 linux内核编译与移植 课程设计 linux内核移植步骤-mini2440

建立使用 Fedora

9,版本太高,由于链接库的区别可能造成不可预料的错误。或者说配置相对复杂多了。本教程仅提供给刚接触内核的朋友,大牛们当路过就是,有发现什么错误还望指教。

① 修改顶层的Makefile

修改内容:

ARCH ?=

arm#架构一定要修改成arm,否则默认x86

CROSS_COMPILE ?=

arm-linux-#交叉编译工具选择arm-linux-(前提要建立好交叉编译环境,并且添加了环境变量)

,后面这些是顶层的Makefile中的部分内容,大家可看下实际是如何替换的

---------------------------------------------------------------------------------

AS=

$(CROSS_COMPILE)as---->arm-linux-as如不配置默认为as

LD=

$(CROSS_COMPILE)ld---->arm-linux-ld如不配置默认为ld

CC=

$(CROSS_COMPILE)gcc---->arm-linux-gcc

如不配置默认为gcc

---------------------------------------------------------------------------------

后面的同理替换

② make mrproper #清除配置文件

③ make s3c2410_defconfig

#我们这里使用s3c2410_defconfig,即s3c2410的默认配置,内核里面有mini2440_defconfig,即mini2440的默认配置,编译没问题,但是在后面运行是执行reboot命令会出现问题,所以,建议使用s3c2410的默认配置。

④make menuconfig

#需要手动进行配置,这步是很重要的一步,也是其他操作系统无法比拟的,我们可以在这个菜单界面下随意添加、删除模块,当然是针对于那些非关键模块。

配置内容:

选择 system Type

(可使用空格来切换 *代表静态编译成内核、M代表编译成模块(可在不重新编译内核的情况下将模块卸载掉)、不编译)

s3c2410 Machines 中保留SMDK2410/A9M2410

s3c2440 Machines 中保留SMDK2440 和SMDK2440 with s3c2440 cpu

module

s3c2442 Machines 和 s3c2443 中的全部删除

⑤ 移植根文件系统模块

解压yaffs2.tar.gz

然后进入yaffs2目录中

运行 ./patch-ker.sh c 内核路径

⑥ 重新运行make menuconfig

进入File systems----->Miscellaneous

filesystems

添加yaffs2文件系统模块

⑦ 进入kernel Features 中选上EABI

⑧ 全部配置好后保存!!!

⑨ 运行 make zImage

⑩ 进入arch/arm/boot中找到zImage ,使用mkimage工具将zImage生成uImage

运行时会遇到的错误及解决方法,将在下期贴出。。。。。。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。