0K6410学习之初步移植linux内核

来源:互联网 发布:阿里云如何申请2级域名 编辑:程序博客网 时间:2024/06/05 15:51

环境:

 

PC机系统:Redhat6.1

目标板:    OK6410

目标板系统:linux3.0.101

编译器:       arm-linux-gcc4.3.2

 uboot文件已经上传到这里:http://download.csdn.net/detail/king_bingge/6820791


移植步骤:

1. tar -xf linux-3.***

2. make distclean  清楚所有中间文件和配置文件

3.    进入linux-3.***/arch/arm/mach-s3c64xx目录,我们能看到如下文件

可以看到,对于我们的时s3c6410这个芯片来说,linux3.0.1的内核已经支持了这几款开发板,那么我们可以选择一个功能相近的来进行移植,mini6410是个不错的选择。

4.    执行cp mach-mini6410.c mach-ok6410.c

5.    打开mach-ok6410.c文件,将里面的mini6410全部替换为ok6410,总共有64处,暂时修改完毕。

6.    在同一目录下,gedit Kconfig 打开这个文件,找到MINI6410的配置,为了不破坏源码,我们复制一份ok6410的出来,如下图示

要注意此处的OK6410都是大写的,这会在后边用到。

7.    下面就说一下刚刚提到大写的原因,继续打开我们的gedit  mach-ok6410.c这个文件,找到下面的东西,改为大写OK,这两个就是匹配我们之前提到的那个字符串

8.    自然,因为我们加入了mach-ok6410.c这个文件,所以在对应的目录下面的makefile中需要添加该文件进去,如下图示

还是一样没找到mini6410的地方。

注意红色箭头部分一定要正确,否则会出现如下错误

9.    到这里为止,该目录的一些需要注意的地方就修改完毕了。但是有一点非常重要的就是,我们此时的机器码变成了ok6410,所以,为了我们的uboot能够引导kernel,所以这里的机器码必须要匹配,进入linux-3.***/arch/arm/tools,打开mach-types文件,修改机器码,如下图示

Smdk6410的修改为ok6410,当然这个需要和你的uboot对应起来,否则将无法引导内核。

10.   当然了,为了使得我们编译出来的内核能够在开发板上运行,在顶层目录下的makefile也需要做相应的修改,这个和uboot移植是一样的道理


修改为


到这里,我们kernel的移植已经完成了百分之八十了。继续完成最后的战役!

 

11. cd   linux-***/arch/arm/configs 找到配置文件 s3c6400_defconfig

12. cp s3c6400_defconfig  ../../../.config

其中,.config文件在我们使用make menuconfig的时候会用到

13. cd ../../../进入顶层目录,执行make menuconfig

14.  在 -->General setup-->Cross-compiler tool prefix中输入arm-linux-  如下图示

 

16.  KernelFeatures  --->选上Use the ARM EABI to compile thekernel,因为我是用的arm-linux-gcc-4.3.2.tgz编译器使用了EABI方式,所以这就需要内核同样配置EABI编译属性才能支持EABI编译出来的应用程序如下

16.        System Type  --->进入勾选上自己的OK6410,如下图示,其他复选框去掉


17.        保存配置,然后执行make zImage 编译内核。

18.        做完这些工作,我们就可以把生成的zImage文件烧写到开发板,如下可以看到,内核已经正常启动了。

 

3 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 穿凉鞋脚后跟干裂起硬皮怎么办 夏天穿凉鞋磨脚怎么办 lv皮带黑色掉漆怎么办 黑色衣服穿在身上掉色怎么办 电信卡流量超了怎么办 移动卡流量超了怎么办 狗狗老是挠痒痒怎么办 出差同住的同事睡觉打鼾怎么办 小孩皮肤太黑了怎么办 苹果平板突然黑屏打不开怎么办 孩子认人晚上哭怎么办 主腹动脉有硬块怎么办 糖链抗原125偏高怎么办 狗长了个肿瘤怎么办 腺肌瘤糖类抗原125升高怎么办 糖类抗原724单项升高怎么办? 化疗期间糖类抗原升高怎么办? 门面租客到期不搬怎么办 这几天老想初恋怎么办 结婚了还想初恋怎么办 九年了想初恋了怎么办 吃肥肉恶心想吐怎么办 宝宝吃了母乳不吃奶粉怎么办 母猫的奶少怎么办 鲤鱼打挺起不来怎么办 练不会鲤鱼打挺怎么办 鲤鱼打挺脖子痛怎么办 新买的沙发太高怎么办 额最后离开公司没人关灯怎么办 看到我妹妹就烦怎么办 野塘钓鱼不开口怎么办 团关系找不到接收地怎么办 两岁宝宝就是不肯说话怎么办 两岁宝宝不肯吃药怎么办 并蹄莲叶子大黄怎么办 异地恋见面来大姨妈怎么办 奶水太多宝宝老是呛到怎么办 奶水太多吃奶婴儿呛怎么办 人家不愿意交我为朋友怎么办 面对诋毁我的人怎么办 做事太细致速度太慢怎么办