查看: 2102|回复: 0

udoo neo 开发板,kernel 内核源码编译

[复制链接]
  • TA的每日心情
    开心
    2024-1-16 17:48
  • 签到天数: 592 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-1-2 09:08:30 | 显示全部楼层 |阅读模式
    分享到:
    编译环境就和上一篇编译 uboot 的一样样,编译 kernel 内核源码,先去下载 源码:
    使用 udoo 官方 github 的代码,这个代码 udoo 在维护,和 udoo neo 开发板适配更好吧

    下载:git clone https://github.com/UDOOboard/linux_kernel,800多兆大小,200KB/S 网速,下载了一晚上;

    配置,加载 udoo 默认配置:ARCH=arm make udoo_neo_defconfig:
    (给 udoo 板子建了个目录,uboot ,kernel 都放里面了,下载时候下到别处了,规整一下)


    调整 官方的 默认配置,ARCH=arm make menuconfig,不调整可以省略这一步。
    调整完,save,exit,回到命令行:


    开始编译:ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage -j4:
    (-j4 这个选项可以不要,4这个数字也可以随便改,是个多线程编译参数,自己cpu有几个核就写几,无所谓不影响编译出来的文件)

    刚刚开始编译碰到一个错误,退出编译了,说是 fatal error ,很严重的错误,找一下 compiler-gcc6.h 这个文件:
    find /samba/udoo/linux_kernel/ -name "compiler-gcc*" 果然没有的。

    看看我的gcc 版本号:arm-linux-gnueabihf-gcc -v

    gcc 是 6.3 的。编译 kernel 源码没有那个文件报的错,去哪弄一个去?
    上一篇 uboot 也是用这个编译器编译的,没问题,做个全盘搜索:find / -name "compiler-gcc*"
    /samba/udoo/ 目录下 uboot 目录有 compliler-gcc6.h  ,kernel 里面没有:

    那就把 uboot 的直接复制一个过去,看看行不行:
    cp /samba/udoo/uboot-imx/include/linux/compiler-gcc6.h  /samba/udoo/linux_kernel/include/linux/compiler-gcc6.h
    复制完了接着编译,还是那个命令:ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage -j4

    这个问题过去了,(如果你用 gcc 3/4/5 版本都没事,不会报这个错)接下来就开始编译了,一边看着就行

    编译过程,有一些 warning:变量定义了没使用,或者c99 标准,没啥大问题,先不管

    等了 7-8 分钟吧,就编译完了:

    zImage 编译出来在 kernel 目录下的 arch/arm/boot/ 目录下,稍后需要用这些文件。kernel 编译就完了。
    自己编译时候,编译环境不一样,可能报错和这个不大一样。看提示排查问题吧。
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 07:36 , Processed in 0.109991 second(s), 16 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.