阅读说明
该系列文章,基于的平台均为Tiny4412SDK 1312;4G EMMC; 1G DDR3
带@lamar: 前缀的表示终端里面的命令 带@tiny4412: 前缀的表示开发板终端里的命令 |
前言
此处略
准备
开始
==>>1. 配置和编译
1)解压
@lamar:tar zxvf linux-3.5-20140822.tgz @lamar:cd linux-3.5
2)在该目录下我们可以看到已经存在了一些config项,具体的配置过程友善已经帮我们搞好了,这个后期会写一个专门的编译配置流程和原理,现在我们就暂时用现成的吧;拷贝4412的config到kernel的默认.config
@lamar:cp tiny4412_linux_defconfig .config @lamar:make -j
具体操作如下:
最后,编译成功后,会有如下的提示(zImage编译后存放的路径):
注意:
我这个版本,友善提供的默认config项,好像有问题;编译出来之后kernel解压不出来,卡在解压的log上,后面发现是少了一个配置项,重新配置,重新编译就好了。具体操作如下:
@lamar:make menuconfig
.a:选择System Type
.b:去掉Support Trust….这个选项
配置完之后,直接起编译就行了。
==>>2. 用dnw进行移植
1)dnw的详细操作步骤参考博文:dnw配置
2)1中已经详细的描述了,烧写和启动过程;但是你会发现每次boot只能引导一次kernel,第二次起来的时候boot就找不到kernel了;我们每次都得重新烧kernel和设置bootm,这也太麻烦了!
~@~不过这里我们可以先把kernel拷贝到sd卡上,然后简单的通过设置bootm环境变量,让boot自动的去加载kernel;在boot界面下,我们可以执行如下操作:
.a:对sd卡进行分区(注意分区的格式),然后,把zImage拷贝到对应的分区里(一般选择sd卡的第一个分区,且分区格式为fat32);该部分内容在busyBox文件系统的构建中会详细的描述:基于busybox的简单根文件系统构建
.b:设置好bootm的环境变量
/*加载mmc设备上的第一块分区的zImage,并引导内核*/ @tiny4412:set bootcmd "fatload mmc 0:1 0x40008000 zImage;bootm 0x40008000" @tiny4412:save @tiny4412:res
此时,应该就可以看到,boot自动的加载内核,解压……..
原文链接:https://www.f2er.com/ubuntu/352449.html