您尚未登录。

楼主 #1 2020-12-08 15:42:59

L_max
会员
注册时间: 2020-12-08
已发帖子: 33
积分: 33

V3S主线编译教程,TF烧录(新手入坑)

写在前面:新手V3S入坑,为了记录Lichee Zero主线编译,TF卡烧录过程
开发板:Lichee Zero 二代一体开发板
开发环境:Ubuntu18.04
TF卡:闪迪16GTF卡
U-boot:v3s-current
Linux:linux-zero-5.2.y
buildroot:buildroot-2019.11-rc2

一、搭建环境

1、下载安装交叉编译器
wget https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xz


https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz

tar xvf  xxxx.tar.xz
mv    xxx    /opt


2、修改环境变量
sudo vim /etc/bash.bashrc
添加
PATH="$PATH:/opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin"

3、使环境变量生效:
source /etc/bash.bashrc

4、查看设置是否生效
arm-linux-gnueabihf-gcc -v



二、u-boot
1、下载u-boot,https://github.com/Lichee-Pi/u-boot/  注意不同分支版本不一样


https://github.com/Lichee-Pi/u-boot/tree/v3s-current
git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-current
#or git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-spi-experimental



2、修改配置,以及编译

①修改u-boot/include/configs/sun8i.h文件 加入:


#define CONFIG_BOOTCOMMAND   "setenv bootm_boot_mode sec; " \
                            "load mmc 0:1 0x41000000 zImage; "  \
                            "load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero.dtb; " \
                            "bootz 0x41000000 - 0x41800000;"

#define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0"

注: load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero.dtb,需要跟kernel下的dts对应

②编译

make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log

编译完成后,在当前目录下生成了u-boot-sunxi-with-spl.bin,可以烧录到TF卡8K偏移处启动


三、Kernel

1、下载,编译源码:https://github.com/Lichee-Pi/linux

git clone https://github.com/Lichee-Pi/linux.git

cd linux

make ARCH=arm licheepi_zero_defconfig

make ARCH=arm menuconfig

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

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules(可省略)

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules_install(可省略)

2、编译完成后,zImage在arch/arm/boot/下,dtb在arch/arm/boot/dts/下
编译完成后,zImage在arch/arm/boot/下,驱动模块在out/下,dtb文件在arch/arm/boot/dts/下,(sun8i-v3s-licheepi-zero-block.dtb)


四、buildroot
1、下载buildroot:https://buildroot.org/downloads/
wget https://buildroot.org/downloads/buildroot-2017.08.tar.gz


tar xvf buildroot-2017.08.tar.gz
cd buildroot-2017.08/

2、配置和编译

make menuconfig

①target options配置

②Toolchain配置
dl下的包需要下载下载可能很慢,可以先下载好放入DL目录下

③System configuretion配置

④编译:make ,#
有时候构建会出现莫名其妙的错误,make clean下

bulidroot编译完成后, 会生成 output/images/rootfs.tar, 此即所需的根文件系统


五、制作TF卡以及写入文件

1、卸载盘符,删除文件,重新分区

32M  Fat16   kernel
xxx    ext4    rootfs


2、磁盘管理工具重新挂载,df 查看,设备在/dev/sdc
/media/lrz/kernel
/media/lrz/rootfs



3、写TF卡

①进入v3s-current目录
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdc bs=1024 seek=8

②进入linux-zero-5.2.y内核目录
cp arch/arm/boot/zImage /media/lrz/BOOT
cp arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb /media/lrz/BOOT
sudo  umount  /dev/sdc1

③进入buildroot-2019.11-rc2目录
sudo tar xvf output/images/rootfs.tar -C /media/lrz/rootfs
sudo  umount  /dev/sdc2


六、上电启动:
可登陆串口终端查看启动log:
默认使用的是UART0
波特率:115200
登录账号root,无密码

离线

页脚

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

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