前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >荔枝派Zero(全志V3S)编译Kernel

荔枝派Zero(全志V3S)编译Kernel

作者头像
Gnep@97
发布2023-08-10 09:43:55
4580
发布2023-08-10 09:43:55
举报

前言

上文我们讲述了uboot编译及配置,本文讲述了如何编译kernel,对编译过程中遇到的问题进行解决

一、安装依赖

代码语言:javascript
复制
sudo apt install git wget make gcc flex bison libssl-dev bc kmod

二、安装交叉编译器

交叉编译器的安装同上文 Uboot 的编译中安装的交叉编译器一致,这里不再多做解释

三、下载linux源码

1、(默认是zero-5.2.y分支):–depth 1 指拉取最近一次更改,不然会拉取所有更改(警告,数据量爆炸!)

代码语言:javascript
复制
git clone -b zero-5.2.y --depth 1 https://github.com/Lichee-Pi/linux.git

2、修改makefile文件

代码语言:javascript
复制
cd linux
vim Makefile
[364]ARCH            = arm
[365]CROSS_COMPILE   = arm-linux-gnueabihf-
[366]INSTALL_MOD_PATH = out
在这里插入图片描述
在这里插入图片描述

分别是指定架构,交叉编译器,MOD安装位置。

如果涉及到多个编译链版本,可以不用写入环境变量,在这里直接绝对路径指定。

代码语言:javascript
复制
[365]CROSS_COMPILE   = /opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

四、编译linux源码

1、然后开始编译

代码语言:javascript
复制
cd linux
make licheepi_zero_defconfig
make menuconfig   #一般不用修改,需要时单独改
make -j16
make  -j16 modules #编译模块
make -j16 modules_install INSTALL_MOD_PATH=out #安装模块
make dtbs #编译设备树

上述make -j16骤报错可参考 4、问题描述及解决办法

2、编译完成后,zImage在arch/arm/boot/下,驱动模块在out/lib下,设备树在arch/arm/boot/dts下。

在这里插入图片描述
在这里插入图片描述

3、后面我们要使用zImage,sun8i-v3s-licheepi-zero-dock.dtb、sun8i-v3s-licheepi-zero-dock.dts、sun8i-v3s-licheepi-zero.dtb、sun8i-v3s-licheepi-zero.dts文件

在这里插入图片描述
在这里插入图片描述

4、问题描述及解决办法: 问题描述: 执行make -j16时报如下错误

/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x20): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status make[1]: *** [scripts/Makefile.host:99:scripts/dtc/dtc] 错误 1 make: *** [Makefile:1280:scripts_dtc] 错误 2 make: *** 正在等待未完成的任务… 解决办法:

代码语言:javascript
复制
vim scripts/dtc/dtc-parser.tab.h
修改extern YYLTYPE yylloc 为yyloc
vim scripts/dtc/dtc-lexer.l
修改YYLTYPE yylloc 为 extern XXX yylloc

scripts/dtc/dtc-parser.tab.h

在这里插入图片描述
在这里插入图片描述

scripts/dtc/dtc-lexer.l

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、安装依赖
  • 二、安装交叉编译器
  • 三、下载linux源码
  • 四、编译linux源码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档