编译kernel是遇见的错误和解决方法

本文介绍了在编译Linux Kernel过程中遇到的一些常见错误及其解决方法,包括安装必要的开发库如libssl-dev、lzop等工具,以及为生成u-boot可用的uImage所需的u-boot-tools。

编译kernel是遇见的错误和解决方法

需要安装libssl-dev

首先介绍下openssl,openssl是web安全通信的基石,SSL全名叫secure socket layer(安全套接字库层),openssl是对SSL的实现。

通过make编译高版本的kernel时会出现如此错误:

scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory

此时只需要安装:libssl-dev即可,写本文档时使用的是Debian9操作系统。

输入进行安装:

  sudo apt-get install libssl-dev

使用make编译kernel时默认生成vmlinux

uboot启动用到的zImage和uImage都是经过压缩的文件,因此在编译kernel时出现如下错误,说明没有缺少压缩工具:
/bin/sh: 1: lzop: not found
需要安装lzop:

sudo apt-get install lzop

需要安装u-boot-tools

为什么要安装u-boot-tools呢?这个就需要从linux的启动说起了,编译linux会生成Image,没有经过压缩的内核,而u-boot启动需要的uImage是在压缩后的zImage上加入特定的头后生成的。生成uImage需要用到u-boot-tools,当然现在的u-boot可以直接使用zImage启动。
当使用如下命令编译时:

 make uImage ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12 LOADADDR=80800000

出现如下错误:
"mkimage" command not found - U-Boot images will not be built
就需要安装u-boot-tools:

sudo apt-get install u-boot-tools
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值