查看: 2341|回复: 0

【EVB-335X-II】u-boot与kernel的编译以及本地repo的建立

[复制链接]
  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-1-16 17:02:05 | 显示全部楼层 |阅读模式
    分享到:
    解压了网盘下载后的压缩包后,找到了doc目录,但是在这个目录中,没有找到uboot与kernel的编译说明。后来再找才发现是在nand的doc子目录中。下面就说明一下,各个make过程中都做了点什么,方便大家对整个编译过程的理解。内核与u-boot的编译
    生成配置文件
    配置如下:

    1.png

    可以看到有里面有说他DRAM的宏定义
    这些宏的定义位于boards.cfg中:

    2.png

    然后makefile会生成下面整个头文件:

    3.png


    可以看到整个头文件里面的各个宏就是前面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
    如果以前就有过,或者本地地址变了,那么需要去除掉:

    4.png

    然后测试clone的结果截图如下:

    5.png

    如果可以获取,那么就说明建立完成了。我们将在以后中用这些repo。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 04:24 , Processed in 0.115601 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.