【环境搭建】基于linux的NanoPC-T6_LTS系统固件编译环境搭建

基于Linux环境的T6-LTS系统固件编译环境搭建

实际上是Ubuntu

过程

创建容器

docker run -it \
--privileged=true --cap-add=ALL \
--name nanopc_t6_lts_env \
-v /hdd_4t/nanopc_t6_lts_sdk:/work \
-v /lib/modules:/lib/modules \
-v /dev:/dev \
ubuntu:20.04 /bin/bash

更新软件源

apt update

安装基础工具

apt install git vim sudo wget curl 

安装编译环境

bash -c "$(curl -fsSL http://112.124.9.243:3000/friendlyelec/build-env-on-ubuntu-bionic/raw/branch/cn/install.sh)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh)"
下载6.1内核的SDK
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git --single-branch -b kernel-6.1.y

下载基础根文件(分区镜像文件)

路径:FriendlyELEC-RK3588>03_分区镜像文件>ubuntu-jammy-desktop-arm64-images.tgz

然后上传到sd-fuse_rk3588目录中,解压

tar xvzf ubuntu-jammy-desktop-arm64-images.tgz
下载并编译uboot源码
git clone https://github.com/friendlyarm/rkbin --single-branch --depth 1 -b nanopi6
git clone https://github.com/friendlyarm/uboot-rockchip --depth 1 -b nanopi6-v2017.09

编译

UBOOT_SRC=$PWD/uboot-rockchip ./build-uboot.sh ubuntu-jammy-desktop-arm64
下载并编译Linux内核
git clone https://github.com/friendlyarm/kernel-rockchip --depth 1 -b nanopi6-v6.1.y kernel-rk3588

编译内核

KERNEL_SRC=$PWD/kernel-rk3588 ./build-kernel.sh ubuntu-jammy-desktop-arm64

编译内核头文件

MK_HEADERS_DEB=1 BUILD_THIRD_PARTY_DRIVER=0 KERNEL_SRC=$PWD/kernel-rk3588 ./build-kernel.sh ubuntu-jammy-desktop-arm64
下载并编译rootfs镜像

如果是想备份出原有的系统,则需要进行这一步

参考:【方法】NanoPC-T6生产镜像的制作-CSDN博客

先在设备上获取rootfs压缩包先

tar --warning=no-file-changed -cvpzf /root/app/rootfs.tar.gz \
    --exclude=/rootfs.tar.gz --exclude=/var/lib/docker/runtimes \
    --exclude=/etc/firstuser --exclude=/etc/friendlyelec-release \
    --exclude=/usr/local/first_boot_flag --one-file-system /

在/root/app/中得到rootfs.tar.gz文件。上传到sd-fuse_rk3588中。需要创建一个rootfs文件夹来解压。

mkdir rootfs

在rootfs文件夹中解压

tar xvzf rootfs.tar.gz

然后执行

./build-rootfs-img.sh rootfs ubuntu-jammy-desktop-arm64

执行完成生成的rootfs.img是在ubuntu-jammy-desktop-arm64目录下

线刷包

就是 ubuntu-jammy-desktop-arm64-images文件夹,直接下载烧录使用

如果需要不使用 overlayfs 这需要执行下面的语句,替换一下分区描述文件,同时烧录的时候不用勾选userdate分区

cp prebuilt/parameter-ext4.txt ubuntu-jammy-desktop-arm64/parameter.txt

打包成TF卡烧镜像

./mk-emmc-image.sh ubuntu-jammy-desktop-arm64

你可能感兴趣的:(开发环境的搭建,嵌入式Linux,RK3588,开发环境,系统固件生成)