您尚未登录。

楼主 #1 2020-11-27 11:14:08

davg1
会员
注册时间: 2020-01-03
已发帖子: 104
积分: 94

荔枝派Zero V3S编译的一点心得,主线u-boot+主线Linux

整个流程主要参考了晕哥的帖子,非常棒的帖子,少走很多弯路,同时感谢群里大佬们的指点,很顺利就编译完成了。但是对于初次尝试编译系统的人来说,还是有些蒙的,记录一下,希望对你有帮助。
荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot)
系统安装后的软件安装

1.	sudo apt-get install gcc-arm-linux-gnueabihf 安装arm linux 硬件浮点数工具链, 因为V3s支持VFPv4 浮点单元 
2.	sudo apt-get install git 安装git 
3.	Sudo apt-get install make
4.	Sudo apt-get install gcc
5.	sudo apt-get install libncurses5-dev
6.	sudo apt-get install device-tree-compiler
7.	sudo apt-get install python
8.	sudo apt-get install flex
9.	sudo apt-get install bison
10.	sudo apt-get install libssl-dev
11.	sudo apt-get install vim
12.	sudo apt-get install g++
13.	sudo apt  install  gparted 分区工具,创建SD卡系统时用
14.	u-boot
首先获取u-boot源码: 
git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-current
 如果你需要支持spi flash:
git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-spi-experimental
15.	修改 include/configs/sun8i.h, 使u-boot可以直接从tf卡启动:
#define CONFIG_BOOTCOMMAND   "setenv bootm_boot_mode sec; " \
                            "load mmc 0:1 0x41000000 zImage; "  \
                            "load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; " \
                            "bootz 0x41000000 - 0x41800000;"
#define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0"

有必要单独说说gcc的安装,卡了一阵子

16.	安装gcc
env sudo -E bash 改成root用户
vim /etc/bash.bashrc                    修改配置文件,并按i进入编辑
添加这一句 PATH="$PATH:/home/yyl/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin"
然后按esc 输入:wq!回车强制保存并退出
source /etc/bash.bashrc                    使配置文件生效
arm-linux-gnueabihf-gcc -v                  查看是否安装成功
17.	编译Uboot
cd u-boot
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_800x480LCD_defconfig (群主网店5寸屏)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_480x272LCD_defconfig (通用4.3寸屏)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_defconfig (默认)
ARCH=arm make menuconfig
执行编译:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
多核编译,避免cpu其他内核打酱油, J后的参数是参与编译的cpu个数:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j3

u-boot-sunxi-with-spl.bin
18.	编译设备树
此部分在u-boot目录执行
生成荔枝派Zero 默认配置文件: CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm make licheepi_zero_defconfig
设备树文件(默认不需要修改):
arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts
编译内核:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
编译设备树:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
19.	kernel的编译
20.	获取Linux源码(zero-5.2.y分支对网卡支持比较好):  git clone https://github.com/Lichee-Pi/linux.git -b zero-5.2.y

CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm make licheepi_zero_defconfig

21.	进入buildroot目录, #make menuconfig进入配置修改

这里我跟晕哥的配置是不一样的是使用外部编译器,添加目录为gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf实际目录,这样做的原因是gcc下载很慢,我选择了手工下载,然后单独安装

22.	make
编译完成后,在output/images/文件夹下的rootfs.tar就是根文件系统

烧录部分就看晕哥的帖子吧

离线

#2 2020-11-29 01:11:56

powerpan
会员
注册时间: 2019-05-05
已发帖子: 52
积分: 45

Re: 荔枝派Zero V3S编译的一点心得,主线u-boot+主线Linux

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn