linux2.6.30.4内核移植(1)
内核源码:linux2.6.30.4
交叉编译工具:3.4.5
移植linux内核至:TQ2440
1、进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_COMPILE修改为如下所示:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
2、修改内核源码arch/arm/mach-s3c2440/mach-smdk2440.c文件,大概在163行,将s3c24xx_init_clocks(16934400);修改为
s3c24xx_init_clocks(12000000);
这是因为TQ2440使用的是12MHZ的外部时钟源作为输入的。
3、在内核顶层目录下执行make menuconfig,弹出如下对话框:
4、用方向键向下找到Load an Alternate Configuration File,加载一个默认配置(与TQ2440相近的):
5、回车后退回到初始配置界面,进入到“System Type”选项下的配置单:
“System Type”选项下的各个选项详细配置如下:
6、General setup选项配置:
注意:添加了自己的信息“Ychang”后,驱动模块在加载时会判断Linux版本号,Linux版本号除了2.6.30.4这个信息外,还有上面添加的“Ychang”的信息,所以建议编译驱动模块时使用编译zImage镜像所对应的内核,否则可能会出错。
7、在Kernel Features选项下设置是否支持EABI:
对于Device Drivers选项下暂不配置,待移植驱动时再做配置。
8、保存配置单
9、执行make zImage编译镜像,会在arch/arm/boot目录下生成名为“zImage”的镜像,将其烧写到开发板中,启动情况如下:
注:2.6.30.4后面的Ychang是我们在步骤6中自行添加的信息。
最新文章
- ASP.NET MVC3 Razor 调试与预加载
- C# 开发积累(1)
- IIS6的session丢失问题
- mySQL CRUD操作(数据库的增删改查)
- 如何用cufflinks 拼出一个理想的注释文件
- struct和typedef struct的区别
- linux fork函数与vfork函数,exit,_exit区别
- 网上图书商城项目学习笔记-011Book模块查询(分页)
- ng-if与ng-show、ng-hide指令的区别和注意事项
- BZOJ 1050 旅行
- HDU_1430——魔板,预处理,康托展开,置换,string类的+操作
- webpack2学习日志
- 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
- Ocelot中文文档-Websockets
- Assembly Experiment9
- python抓取电影<;海王>;影评词云生成
- Linux内核分析第四周学习总结
- Monkey and Banana---hdu1069(dp)
- Dependency Injection in ASP.NET Web API 2 Using Unity
- HEOI 2017 游记