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

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

前言


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


一、安装依赖


sudo apt install git wget make gcc flex bison libssl-dev bc kmod


二、安装交叉编译器


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


三、下载linux源码


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

git clone -b zero-5.2.y --depth 1 https://github.com/Lichee-Pi/linux.git

2、修改makefile文件

cd linux
vim Makefile
[364]ARCH            = arm
[365]CROSS_COMPILE   = arm-linux-gnueabihf-
[366]INSTALL_MOD_PATH = out

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

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

[365]CROSS_COMPILE   = /opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


四、编译linux源码


1、然后开始编译

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: *** 正在等待未完成的任务…

解决办法:

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


目录
相关文章
|
19天前
|
存储 算法 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(3)
|
11月前
荔枝派Zero(全志V3S)运行Qt5程序
本文重新配置 buildroot,利用 buildroot 重新交叉编译 Qt,编译完成后将编译产生的可执行文件拷贝到 SD 卡,板子上电后跑到文件系统下再手动运行。
132 0
|
19天前
|
传感器 数据采集 算法
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)
|
19天前
|
数据采集 传感器 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(5)
|
19天前
|
存储 机器学习/深度学习 机器人
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(1)
|
19天前
|
存储 IDE 语音技术
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
|
19天前
|
存储 语音技术 芯片
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)
|
9月前
|
Linux Windows
荔枝派Zero(全志V3S)驱动开发之USB摄像头 2
荔枝派Zero(全志V3S)驱动开发之USB摄像头
94 0
|
9月前
|
Ubuntu Linux
荔枝派Zero(全志V3S)驱动开发之USB摄像头 1
荔枝派Zero(全志V3S)驱动开发之USB摄像头
116 0
|
9月前
|
传感器 编解码 JSON
开源项目-基于小熊派STM32红外热成像仪
开源项目-基于小熊派STM32红外热成像仪
155 1