linux内核的相关注意事项

Linux内核编译

        修改Makefile文件,配置交叉编译工具链

        修改195和196行为

        195 ARCH ?= arm

        196 CROSS_COMPILE ?= arm-none-linux-gnueabi-

                        ARCH:要运行Linux的CPU架构

                        CROSS_COMPILE:交叉编译器名称

        进入arm架构的单板默认配置文件目录:

        cd arch/arm/configs/

        make s5p64x0_defconfig
        make uImage

出现以下错误

1. fatal error: linux/compiler-gcc5.h:No such file or directory错误

(gcc版本与编译的相关版本不一致导致的)

可以

cp /usr/src/linux-headers-4.15.0-142/include/linux/compiler-gcc.h .至 include/linux/

更改名字为compiler-gcc5.h

编译还会报错 把compiler-gcc5.h报错的地方删掉可以编译 (该操作可能会对其他造成影响)

2 "mkimage" command not found - U-Boot images will not be built

 执行如下命令可解决sudo apt-get install u-boot-tools

再次编译

 Linux内核启动

        内核解压(汇编+C)

        引导阶段(汇编)

        通用内核启动阶段(C)

Linux内核裁剪

        图形工具裁剪

                删除配置界面的文本 ctrl+backspace

                *是选择

                M是编译成模块

 图形工具裁剪原理分析

                Kconfig形成图形界面

                ./config保存界面配置信息

                Makefile根据配置结果选择编译

                Makefile 和Kconfig是成对出现的

自定义代码添加配置选项过程

        比如添加一个驱动程序

        找到驱动程序复制到相应的位置 这里是字符驱动 复制到drivers/char/中

        修改driver/char/Kconfig

        修改driver/char/Makefile

        obj-$(CONFIG_BEEP)  += beep.o(复制一行换成自定义的)

        编译内核 make uImage

        更新uImage镜像

        编译应用程序 arm-linux-gcc -o beep beep.c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值