跳到主要内容

NanoPi R6S 制作固件

设置环境

sudo apt-get -y update
sudo apt-get install -y sudo wget
wget https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh
sudo ./install.sh
https://github.com/friendlyarm/build-env-on-ubuntu-bionic

(资源有:build-env-on-ubuntu-bionic-master)

sudo ./install.sh

即可

下载文件

下载本仓库到本地, 然后下载并解压分区映象压缩包:

git clone https://github.com/friendlyarm/sd-fuse_rk3588
cd sd-fuse_rk3588

(资源里有分区映象压缩包ubuntu-jammy-desktop-arm64-images.tgz)

tar xvzf ubuntu-jammy-desktop-arm64-images.tgz

注:将资源中“07_源代码”文件夹中文件均放到“sd-fuse_rk3588/out”文件夹中并单独解压。

(编译过程中会需要这些文件,直接手动放入可以避免clone失败)

$ ls -lh ubuntu-jammy-desktop-arm64
总用量 3.7G
-rw-r--r-- 1 rudy rudy 7.5M 1123 16:54 boot.img
-rw-r--r-- 1 rudy rudy 1.4K 726 17:44 dtbo.img
-rw-r--r-- 1 rudy rudy 284K 1026 13:18 idbloader.img
-rw-r--r-- 1 rudy rudy 67 1213 14:01 info.conf
-rw-r--r-- 1 rudy rudy 36M 1026 13:18 kernel.img
-rw-r--r-- 1 rudy rudy 439K 726 15:45 MiniLoaderAll.bin
-rw-r--r-- 1 rudy rudy 48K 726 15:45 misc.img
-rw-r--r-- 1 rudy rudy 470 1213 14:00 parameter.txt
-rw-r--r-- 1 rudy rudy 4.3M 1116 16:06 resource.img
-rw-r--r-- 1 rudy rudy 3.6G 1213 14:00 rootfs.img
-rw-r--r-- 1 rudy rudy 4.0M 1026 13:18 uboot.img
-rw-r--r-- 1 rudy rudy 97K 1213 14:00 userdata.img

编译内核

调用 build-kernel.sh 编译一次内核源代码, 脚本会从github克隆内核源代码到本地, 环境变量 KERNEL_SRC 用于指定源代码目录: (同样资源有源码linux-kernel......,提前手动放入可避免clone失败)

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

安装交叉编译工具链

git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1
cd prebuilts/gcc-x64
#cat toolchain-6.4-aarch64.tar.gz* | sudo tar xz -C /
sudo tar xvJf toolchain-11.3-aarch64.tar.xz -C /

重新打包 SD-to-eMMC 卡刷固件

cd sd-fuse_rk3588

(资源有emmc-flasher镜像)

tar xvzf emmc-flasher-images.tgz

再使用以下命令, 打包卡刷固件, autostart=yes参数表示使用此固件开机时,会自动进入烧写流程: (需要指定名字,否则有可能不会创建)

./mk-emmc-image.sh ubuntu-jammy-desktop-arm64 filename=myimg-emmc.img autostart=yes

命令执行成功后, 将生成以下文件, 此文件可烧写到SD卡运行

out/.......img