本文共 1081 字,大约阅读时间需要 3 分钟。
解压了网盘下载后的压缩包后,找到了doc目录,但是在这个目录中,没有找到uboot与kernel的编译说明。后来再找才发现是在nand的doc子目录中。下面就说明一下,各个make过程中都做了点什么,方便大家对整个编译过程的理解。
内核与u-boot的编译
生成配置文件 配置如下: 可以看到有里面有说他DRAM的宏定义 这些宏的定义位于boards.cfg中: 然后makefile会生成下面整个头文件: 可以看到整个头文件里面的各个宏就是前面boards.cfg中定义的。这里面有board位置,board的名字,因此这样子makefile就知道该去编译哪个board里面的文件了。 最后我们再make 即可生成: SPL u-boot.img 这两个文件,分别为第二阶段与第三阶段的bootloader,第一阶段的为ROM Code。 内核的编译 内核中直接make uImage即可。 repo的建立 板子自带的内核版本是3.2,没有试用device tree,但是但是完善。我们后面也会直接使用官方的uboot与kernel。 在后面我们会使用yocto来构建一个Rootfs,Yocto中要对kernel的代码的获取,一般都是git的方式。 因此我们需要建立一个本地的repo,用来后面的获取。当然也可以将代码放入到类似github这样的代码托管网站中,但如此的话,就需要开源了,在我们的实际项目中,一般我们需要再后面才可能会开源,所以建立本地repo比较合适。 选择 得益于open source以及各种community,我们要建立本地托管服务器的方式有很多中选择,其中包括: Gitlab Gogs Gitblit Gitbucket 如果需要本地建立Gitlab,那么可以参考我以前写的博客。我们这里就自己使用git自带的功能,不再安装这些Git服务器。 建立过程 进入到目录,直接 git init . 然后再直接 git add -A . 最后: git commit -m "XXX" 即可。 然后我们可以测试一下: git clone ssh:///PATH/To/Directory 然后可能会要求输入密码,那么为了避免这个问题,我们可以直接将known_host中添加自己即可: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 如果以前就有过,或者本地地址变了,那么需要去除掉: 然后测试clone的结果截图如下: 如果可以获取,那么就说明建立完成了。我们将在以后中用这些repo。转载地址:http://nybai.baihongyu.com/