20240711编译友善之臂的NanoPC-T6开发板的Buildroot

20240711编译友善之臂的NanoPC-T6开发板的Buildroot
2024/7/11 21:02


百度:nanopc t6 wiki
https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6/zh
NanoPC-T6/zh


4.4 安装系统
4.4.1 下载固件
4.4.1.1 官方固件
访问此处的下载地址下载固件文件 (位于网盘的"01_系统固件"目录):


此处的下载地址
https://download.friendlyelec.com/NanoPC-T6
NanoPC-T6 - free download
百度网盘    Google Drive
Mainland Chinese users please click on:    International users please click on:
BaiduPan     Google Drive

https://pan.baidu.com/s/1F6sGyXugfy_Hkgd3nu8U1Q#list/path=%2F
提取码:bbg3

E:\delete\20240711的FriendlyELEC-RK3588\07_源代码
buildroot-rk3588-20230815.tar  10GB+


编译环境请参考:
百度:AIO-3588Q WIKI
https://wiki.t-firefly.com/zh_CN/iCore-3588Q/android_prepare_compile_android.html
iCore-3588Q产品规格书


我直接使用了飞凌的虚拟机:
forlinx@ubuntu20:~$ 
forlinx@ubuntu20:~$ cat /etc/issue
Ubuntu 20.04.3 LTS \n \l

forlinx@ubuntu20:~$ 
forlinx@ubuntu20:~$ uname -a
Linux ubuntu20 5.15.0-113-generic #123~20.04.1-Ubuntu SMP Wed Jun 12 17:33:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
forlinx@ubuntu20:~$ 
forlinx@ubuntu20:~$ 


友善之臂的Buildroot是20230815发布的,大概一年了!
编译步骤如下:

请严重注意:
1、编译内核的时候需要去github拿有线网卡/以太网的驱动程序。
由于没有搞定在Ubuntu20.04/22.04下通过技术手段科学上网/github。
因此选择了让虚拟机中的Ubuntu20.04/22.04直接共享宿主机WIN10/WIN11中的VPN。

关于内核部分,友善之臂的e-Mail技术支持回复说可以:
FriendlyELEC Technical Support <developer@friendlyarm.com>

百度网盘下有这些包
在 07_源代码/additional_drivers 目录下,
把它解压到 out 目录下即可,例如

cd build-rk3588/out
tar xvzf /path/to/your/download/additional_drivers/*.tgz

这样编译就不会再去 github 上找了


Z:\buildroot-rk3588\buildroot\dl
2、编译buildroot的时候,sdk中内置的包全部需要从外网下载。
可能最新的Buildroot需要的包都是在目录中的,以前/2023年的时候,包还是裸露/直接放在buildroot\dl目录的!

编译的时候,下载kernel中的有线网卡的驱动都很快。
但是下载RK3588的Buildroot的包的时候,总是在走走停停,在虚拟机中搞了一整天。
从早上上班一直忙到下班才搞定了!


编译步骤:
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh 
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh nanopc_t6.mk

forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh emmc-img


详细的LOG:
forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh 
USAGE: ./build.sh <parameter>

# select board: 
  ./build.sh nanopi_r6c.mk
  ./build.sh nanopc_t6.mk
  ./build.sh nanopi_r6s.mk

# build module: 
  ./build.sh all                -build all
  ./build.sh uboot              -build uboot only
  ./build.sh kernel             -build kernel only
  ./build.sh buildroot          -build buildroot rootfs only
  ./build.sh sd-img             -pack sd-card image, used to create bootable SD card
  ./build.sh emmc-img           -pack sd-card image, used to write buildroot to emmc
# clean
  ./build.sh clean              -remove old images
  ./build.sh cleanall

forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh nanopc_t6.mk


出错的时候基本上都是卡在Buildroot了!
直接CTRL+C按键,关闭之后可以重新开始的。

forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh buildroot
==========Start build buildroot==========
TARGET_BUILDROOT_CONFIG=rockchip_rk3588_defconfig
BUILDROOT_SRC=buildroot
=========================================
using .config file
>>> host-expat 2.4.1 Downloading


forlinx@ubuntu20:~/buildroot-rk3588/kernel$ cd ..
forlinx@ubuntu20:~/buildroot-rk3588$ ll
total 1070936
drwxrwxr-x 13 forlinx forlinx      4096 7月  11 10:18 ./
drwxr-xr-x 24 forlinx forlinx      4096 7月  11 16:42 ../
drwxrwxr-x 10 forlinx forlinx      4096 7月  11 09:25 app/
drwxrwxr-x 20 forlinx forlinx      4096 7月  11 17:38 buildroot/
lrwxrwxrwx  1 forlinx forlinx        16 7月  11 09:27 build.sh -> scripts/build.sh*
lrwxrwxrwx  1 forlinx forlinx        26 8月  15  2023 .current -> device/friendlyelec/rk3588/
lrwxrwxrwx  1 forlinx forlinx        70 7月  11 09:57 .current_config.mk -> /home/forlinx/buildroot-rk3588/device/friendlyelec/rk3588/nanopc_t6.mk
drwxrwxr-x  4 forlinx forlinx      4096 7月  11 09:25 device/
drwxrwxr-x 25 forlinx forlinx      4096 7月  11 09:26 external/
drwxrwxr-x 27 forlinx forlinx      4096 7月  11 10:09 kernel/
-rw-rw-r--  1 forlinx forlinx 246602376 7月  11 09:31 kernel2.tar.gz
-rw-rw-r--  1 forlinx forlinx 829882430 7月  11 10:20 kernel3finish.tar.gz
lrwxrwxrwx  1 forlinx forlinx        19 7月  11 09:27 out -> scripts/sd-fuse/out/
drwxrwxr-x  2 forlinx forlinx      4096 8月  15  2023 pre-download/
drwxrwxr-x  7 forlinx forlinx      4096 8月  15  2023 .repo/
drwxrwxr-x 10 forlinx forlinx      4096 7月  11 09:58 rkbin/
-rw-rw-r--  1 forlinx forlinx    795459 7月  11 09:31 rockchip0.tar.gz
drwxrwxr-x  4 forlinx forlinx      4096 7月  11 09:27 scripts/
drwxrwxr-x  5 forlinx forlinx      4096 7月  11 09:27 toolchain/
drwxrwxr-x 28 forlinx forlinx      4096 7月  11 09:58 u-boot/
-rw-rw-r--  1 forlinx forlinx  19285712 7月  11 09:30 u-boot1.tar.gz
forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh 
USAGE: ./build.sh <parameter>

# select board: 
  ./build.sh nanopi_r6c.mk
  ./build.sh nanopc_t6.mk
  ./build.sh nanopi_r6s.mk

# build module: 
  ./build.sh all                -build all
  ./build.sh uboot              -build uboot only
  ./build.sh kernel             -build kernel only
  ./build.sh buildroot          -build buildroot rootfs only
  ./build.sh sd-img             -pack sd-card image, used to create bootable SD card
  ./build.sh emmc-img           -pack sd-card image, used to write buildroot to emmc
# clean
  ./build.sh clean              -remove old images
  ./build.sh cleanall

forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ 
forlinx@ubuntu20:~/buildroot-rk3588$ ./build.sh emmc-img
Re-running script under sudo...
[sudo] password for forlinx: 
[INFO]: Extracting /home/forlinx/buildroot-rk3588/buildroot/output/rockchip_rk3588/images/rootfs.tar to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK/  
[INFO]: Applying device/rockchip to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
OVERLAY_DIR = /home/forlinx/buildroot-rk3588/device/rockchip/common/fonts
Installing extra font(dejavu-2.37) to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK...
Installing extra font(liberation-2.00.1) to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK...
Installing extra font(source-han-sans-cn-2.004R) to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK...
OVERLAY_DIR = /home/forlinx/buildroot-rk3588/device/rockchip/common/tools
Installing prebuilt tools: /home/forlinx/buildroot-rk3588/device/rockchip/common/tools to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK...
sending incremental file list
./
brcm_patchram_plus1
busybox
dhd_priv
gdb
io
kmsgrab
modetest
perf
perf-4.19
perf-4.4
perf-5.10
pmap
procrank
ps
rk_wifibt_init
rtk_hciattach
slabtop
strace
top
update
vendor_storage
vmstat
watch

sent 32,680,512 bytes  received 456 bytes  21,787,312.00 bytes/sec
total size is 32,671,084  speedup is 1.00
Running 05-udev.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Running 06-async-commit.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Installing async-commit service...
Running 10-os-release.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Adding information to /etc/os-release...
Running 30-fstab.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Fixing up /etc/fstab...
Fixing up rootfs type: auto
Fixing up basic partition: proc /proc
Deleting partition: proc /proc
Fixing up partition: proc /proc proc defaults 0
Fixing up basic partition: devtmpfs /dev
Deleting partition: devtmpfs /dev
Fixing up partition: devtmpfs /dev devtmpfs defaults 0
Fixing up basic partition: devpts /dev/pts mode=0620,ptmxmode=0666,gid=5
Deleting partition: devpts /dev/pts
Fixing up partition: devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0
Fixing up basic partition: tmpfs /dev/shm nosuid,nodev,noexec
Deleting partition: tmpfs /dev/shm
Fixing up partition: tmpfs /dev/shm tmpfs nosuid,nodev,noexec 0
Fixing up basic partition: sysfs /sys
Deleting partition: sysfs /sys
Fixing up partition: sysfs /sys sysfs defaults 0
Fixing up basic partition: configfs /sys/kernel/config
Deleting partition: configfs /sys/kernel/config
Fixing up partition: configfs /sys/kernel/config configfs defaults 0
Fixing up basic partition: debugfs /sys/kernel/debug
Deleting partition: debugfs /sys/kernel/debug
Fixing up partition: debugfs /sys/kernel/debug debugfs defaults 0
Fixing up basic partition: pstore /sys/fs/pstore
Deleting partition: pstore /sys/fs/pstore
Fixing up partition: pstore /sys/fs/pstore pstore defaults 0
Running 40-busybox-reboot.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Running 50-locale.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Setting LANG environment to en_US.UTF-8...
Running 60-dirs.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Adding dirs and links...
Running 90-overlay.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
Running 99-owner.sh for /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK (buildroot init=busybox)...
[INFO]: Applying device/friendlyelec/misc-files to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/keep-the-net-classic-naming to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/network-interfaces to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/fancontrol to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/rom-version to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/disable-unnecessary-services to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/rk3588/disable-unnecessary-services to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/load-modules-service to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/rk3588/r8125 to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/rk3588/rt5616-alsa-config to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/rk3588/set-pulse-audio-default-output-to-hdmi0 to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
[INFO]: Applying device/friendlyelec/firmware to /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK  
case 0
[INFO]: prepare boot.img ...  
mke2fs 1.45.4 (23-Sep-2019)
Creating regular file ./buildroot/boot.img
Creating filesystem with 16384 4k blocks and 144 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (1024 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

generating ./buildroot/boot.img done.
[INFO]: prepare rootfs.img ...  
mke2fs 1.45.4 (23-Sep-2019)
Creating regular file buildroot/rootfs.img
Creating filesystem with 229376 4k blocks and 7504 inodes
Filesystem UUID: 9f18f3ec-b6e7-4ed5-9bc2-2e9a31d90a30
Superblock backups stored on blocks: 
    32768, 98304, 163840

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

'/home/forlinx/buildroot-rk3588/scripts/sd-fuse/prebuilt/parameter.template' -> 'buildroot/parameter.txt'
generating buildroot/parameter.txt done.
0
generating buildroot/rootfs.img done.
0
Generating empty userdata.img (size:209715200)
mke2fs 1.45.4 (23-Sep-2019)
Creating regular file ./buildroot/userdata.img
Creating filesystem with 51200 4k blocks and 12800 inodes
Filesystem UUID: 5ea795ab-84fd-43ad-8616-2bae5f498b81
Superblock backups stored on blocks: 
    32768

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

-----------------------------------------
rootfs dir:
    /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/rootfs.z0E75F9YK
boot dir:
    /home/forlinx/buildroot-rk3588/scripts/sd-fuse/out/boot.4rQkeTinO
-----------------------------------------
> wget --spider --tries=1 http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz.hash.md5
Spider mode enabled. Check if remote file exists.
--2024-07-11 20:01:27--  http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz.hash.md5
Connecting to 112.124.9.243:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 58 [application/octet-stream]
Remote file exists.

> wget http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz.hash.md5
--2024-07-11 20:01:27--  http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz.hash.md5
Connecting to 112.124.9.243:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 58 [application/octet-stream]
Saving to: ‘emmc-flasher-images.tgz.hash.md5’

emmc-flasher-images.tgz.hash.md5                                    100%[=================================================================================================================================================================>]      58  --.-KB/s    in 0s      

2024-07-11 20:01:27 (2.91 MB/s) - ‘emmc-flasher-images.tgz.hash.md5’ saved [58/58]

> wget --spider --tries=1 http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz
Spider mode enabled. Check if remote file exists.
--2024-07-11 20:01:27--  http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz
Connecting to 112.124.9.243:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 307786938 (294M) [application/octet-stream]
Remote file exists.

> wget http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz
--2024-07-11 20:01:27--  http://112.124.9.243/dvdfiles/rk3588/images-for-eflasher/emmc-flasher-images.tgz
Connecting to 112.124.9.243:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 307786938 (294M) [application/octet-stream]
Saving to: ‘emmc-flasher-images.tgz’

emmc-flasher-images.tgz                                             100%[=================================================================================================================================================================>] 293.53M   819KB/s    in 6m 6s   

2024-07-11 20:07:34 (821 KB/s) - ‘emmc-flasher-images.tgz’ saved [307786938/307786938]

emmc-flasher-images.tgz: OK
> tar xzvf emmc-flasher-images.tgz -C eflasher --strip-components=1
eflasher/rootfs.img
eflasher/dtbo.img
eflasher/info.conf
eflasher/kernel.img
eflasher/uboot.img
eflasher/MiniLoaderAll.bin
eflasher/resource.img
eflasher/boot.img
eflasher/parameter.txt
eflasher/misc.img
eflasher/idbloader.img


Creating RAW image: out/rk3588-eflasher-20240711.img (7800 MB)
---------------------------------
0+0 records in
0+0 records out
0 bytes copied, 0.000456999 s, 0.0 kB/s
Using device: /dev/loop15
---------------------------------
Bootloader image is fused successfully.

----------------------------------------------------------------
[/dev/loop15] capacity = 7438MB, 7799999488 bytes
current /dev/loop15 partition:
----------------------------------------------------------------
parsing ./eflasher/parameter.txt:
create new GPT 9:
----------------------------------------------------------------
copy from: ./eflasher to /dev/loop15
 [RAW. 0]:      312 KB | ./eflasher/idbloader.img  > 100% : done.
 [RAW. 2]:     4096 KB | ./eflasher/uboot.img      > 100% : done.
 [RAW. 3]:       48 KB | ./eflasher/misc.img       > 100% : done.
 [RAW. 4]:        1 KB | ./eflasher/dtbo.img       > 100% : done.
 [RAW. 5]:     6920 KB | ./eflasher/resource.img   > 100% : done.
 [RAW. 6]:    35142 KB | ./eflasher/kernel.img     > 100% : done.
 [RAW. 7]:     7882 KB | ./eflasher/boot.img       > 100% : done.
 [RAW. 9]:   755136 KB | ./eflasher/rootfs.img     > 100% : done.
----------------------------------------------------------------
/dev/loop15: gpt partitions 2 3 4 5 6 7 8 9 1
---------------------------------
All done.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  exfat-fuse exfat-utils
0 upgraded, 2 newly installed, 0 to remove and 142 not upgraded.
Need to get 65.3 kB of archives.
After this operation, 302 kB of additional disk space will be used.
Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 exfat-fuse amd64 1.3.0-1 [24.6 kB]
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 exfat-utils amd64 1.3.0-1 [40.7 kB]
Fetched 65.3 kB in 21s (3,134 B/s)    
Selecting previously unselected package exfat-fuse.
(Reading database ... 197100 files and directories currently installed.)
Preparing to unpack .../exfat-fuse_1.3.0-1_amd64.deb ...
Unpacking exfat-fuse (1.3.0-1) ...
Selecting previously unselected package exfat-utils.
Preparing to unpack .../exfat-utils_1.3.0-1_amd64.deb ...
Unpacking exfat-utils (1.3.0-1) ...
Setting up exfat-utils (1.3.0-1) ...
Setting up exfat-fuse (1.3.0-1) ...
Processing triggers for man-db (2.9.1-1) ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
---------------------------------
RAW image successfully created (20:08:42).
-rw-r--r-- 1 root root 7799999488 7月  11 20:08 out/rk3588-eflasher-20240711.img
Tip: You can compress it to save disk space.

FUSE exfat 1.3.0
copying /home/forlinx/buildroot-rk3588/scripts/sd-fuse/buildroot/* to /tmp/media_exfat/buildroot ...
-rw-r--r-- 1 root root 7799999488 7月  11 20:08 out/buildroot_20240711_nanopc-t6_arm64_eflasher.img
all done.
-----------------------------------------
Run the following command for sdcard install:
    sudo dd if=out/buildroot_20240711_nanopc-t6_arm64_eflasher.img bs=1M of=/dev/sdX
-----------------------------------------
forlinx@ubuntu20:~/buildroot-rk3588$ find . -name *.img
./rkbin/img/rk1x/rk1806_trust_v1.12.img
./scripts/sd-fuse/eflasher/kernel.img
./scripts/sd-fuse/eflasher/resource.img
./scripts/sd-fuse/eflasher/idbloader.img
./scripts/sd-fuse/eflasher/boot.img
./scripts/sd-fuse/eflasher/misc.img
./scripts/sd-fuse/eflasher/dtbo.img
./scripts/sd-fuse/eflasher/rootfs.img
./scripts/sd-fuse/eflasher/uboot.img
./scripts/sd-fuse/prebuilt/idbloader.img
./scripts/sd-fuse/prebuilt/boot.img
./scripts/sd-fuse/prebuilt/misc.img
./scripts/sd-fuse/prebuilt/dtbo.img
./scripts/sd-fuse/prebuilt/uboot.img
find: ‘./scripts/sd-fuse/out/boot.4rQkeTinO’: Permission denied
./scripts/sd-fuse/out/buildroot_20240711_nanopc-t6_arm64_eflasher.img
find: ‘./scripts/sd-fuse/out/rootfs.z0E75F9YK/root’: Permission denied
./scripts/sd-fuse/buildroot/userdata.img

生成的刷机IMG在:
Y:\buildroot-rk3588\scripts\sd-fuse\out
buildroot_20240711_nanopc-t6_arm64_eflasher.img


参考资料:
https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6/zh
NanoPC-T6 - free download


https://wiki.t-firefly.com/zh_CN/iCore-3588Q/android_prepare_compile_android.html
iCore-3588Q产品规格书


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】已解决:ModuleNotFoundError: No module named ‘sklearn.cross_validation

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 &#xff08;机器学习分割数据问题&#xff09;解决“ModuleNotFoundError: No module named ‘sklearn.cross_validation’” 一、问题背景 在机器学习的实践中&#xff0c;数据分割是…

CSS技巧专栏:一日一例 4.纯CSS实现两款流光溢彩的酷炫按钮特效

大家好&#xff0c;今天是 CSS技巧专栏&#xff1a;一日一例 第三篇《纯CSS实现两款流光溢彩的酷炫按钮特效》 先看图&#xff1a; 特此说明&#xff1a; 本专题专注于讲解如何使用CSS制作按钮特效。前置的准备工作和按钮的基本样式&#xff0c;都在本专栏第一篇文章中又详细…

Python基础教学之四:面向对象编程——迈向更高级编程

Python基础教学之四&#xff1a;面向对象编程——迈向更高级编程 一、面向对象编程概念 1. 类和对象 定义&#xff1a;在面向对象编程(OOP)中&#xff0c;类是创建对象的模板&#xff0c;它定义了对象的属性和方法。对象是类的实例&#xff0c;具体存在的实体&#xff0c;拥有…

【JavaScript 报错】未捕获的范围错误:Uncaught RangeError

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、错误原因分析1. 递归调用次数过多2. 数组长度超出限制3. 数值超出允许范围 二、解决方案1. 限制递归深度2. 控制数组长度3. 检查数值范围 三、实例讲解四、总结 Uncaught RangeError 是JavaScript中常见的一种错误&…

347. 前 K 个高频元素(中等)

347. 前 K 个高频元素 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转&#xff1a;347. 前 K 个高频元素 2.详细题解 寻找出现频率前 k k k高的元素&#xff0c;因此需要先统计各个元素出现的次数&#xff0c;该步骤时间复杂度为 O ( n ) O(n) O(n)…

C++模板总结

文章目录 写在前面1. 函数模板1.1 函数模板的概念1.2 函数模板的原理1.3 函数模板的实例化1.4 函数模板的实例化模板参数的匹配原则 2. 类模板3. 非类型模板参数4. 模板的特化4.1 概念4.2 函数模板特化4.3 类模板特化 5. 模板分离编译6. 总结 写在前面 进入C以后&#xff0c;C…

智能小车——初步想法

需要参考轮趣的智能小车自己搭建一台智能机器人&#xff0c;这里从底层控制开始逐步搭建。 控制模式 之后要自行搭建智能小车&#xff0c;所以将轮趣的底盘代码进行学习&#xff0c;根据开发手册先大致过一遍需要的内容。 有做很多个控制方法&#xff0c;包括了手柄、串口、…

Linux下常见压缩文件tar.xz、tar.bz2、tar.gz的区别和详解

文章目录 tar.xz tar.bz2 tar.gz 的区别三种文件的解压方式tar.xz的解压三种压缩文件的创建方式 tar.xz tar.bz2 tar.gz 的区别 这三个文件扩展名都表示压缩后的档案文件&#xff0c;但它们使用不同的压缩算法。 tar.xz: tar 代表 Tape Archive&#xff0c;它是一种将多个文件…

【若依管理系统】注意事项

1.前端字段必填 rules: {sceneName: [{ required: true, message: "场景名称不能为空", trigger: "blur" }],orderNum: [{ required: true, message: "显示排序不能为空", trigger: "blur" }], }, 2.IDEA&#xff0c;默认以debug模式…

Agents 要点

一、Agents概念 人类是这个星球上最强大的 Agent。Agent是一个能感知并自主地采取行动的实体&#xff0c;这里的自主性极其关键&#xff0c;Agent要能够实现设定的目标&#xff0c;其中包括具备学习和获取知识的能力以提高自身性能。 关键点&#xff1a;感知环境、自主决策、具…

element plus 实现跨页面+跨tab栏多选

文章目录 element plus 层面数据层面 菜鸟好久没写博客了&#xff0c;主要是没遇见什么很难的问题&#xff0c;今天碰见了一个没有思路的问题&#xff0c;解决后立马来和大家伙分享了&#xff01; 菜鸟今天要实现一个需求&#xff0c;就是&#xff1a;实现跨页面跨 tab栏 多选…

CVE-2024-27292:Docassemble任意文件读取漏洞复现 [附POC]

文章目录 CVE-2024-27292&#xff1a;Docassemble任意文件读取漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 CVE-2024-27292&#xff1a;Docassemble任意文件读取漏洞复现 [附POC] 0x01 前言 …

冒泡排序与其C语言通用连续类型排序代码

冒泡排序与其C语言通用连续类型排序代码 冒泡排序冒泡排序为交换排序的一种&#xff1a;动图展示&#xff1a;冒泡排序的特性总结&#xff1a;冒泡排序排整型数据参考代码&#xff08;VS2022C语言环境&#xff09;&#xff1a; 冒泡排序C语言通用连续类型排序代码对比较的方式更…

法律行业守护神:知识库+AI大模型,解锁企业知识全周期管理

在法律行业中&#xff0c;搭建一个有效的知识库并进行企业知识全生命周期管理确实是一项不小的挑战。法律环境的复杂性和不断变化的法规要求企业必须持续更新和维护其知识库&#xff0c;以确保所有信息的准确性和实时性。 这种系统化的信息管理不仅有助于提高律师和法律顾问的…

打卡第9天-----字符串

我在自学的时候,看了卡尔的算法公开课了,有些题目我就照葫芦画瓢写了一遍js代码,差不多都写出来了,有暴力解法,有卡尔推荐的思路和方法。话不多说,直接上题上代码吧: 一、翻转字符串里的单词 leetcode题目链接:151. 反转字符串中的单词 题目描述: 给你一个字符串 s…

5个自动化面试题,助你过关斩将!

面试时&#xff0c;自动化是软件测试高频面试内容&#xff0c;通过学习和准备面试题&#xff0c;你会对可能遇到的问题有所准备&#xff0c;从而减轻面试时的紧张感&#xff0c;让你在面试中稳操胜券&#xff01; 今天&#xff0c;分享一些在面试中可能会遇到的自动化测试面试…

大学生暑假“三下乡”社会实践工作新闻投稿指南请查收!

近年来&#xff0c;大学生暑期“三下乡”社会实践工作方兴未艾&#xff0c;越来越多的大学生通过参与“三下乡”实践工作&#xff0c;走出校园&#xff0c;深入基层&#xff0c;体验农村生活&#xff0c;服务农民&#xff0c;促进农村经济社会发展&#xff0c;实现了理论与实践…

算能科技,致力于成为全球领先的通用算力供应商

算能致力于成为全球领先的定制算力提供商&#xff0c;专注于RISC-V、TPU处理器等算力产品的研发和推广应用。公司遵循全面开源开放的生态理念&#xff0c;携手行业伙伴推动RISC-V高性能通用计算产业落地&#xff1b;打造覆盖“云、边、端”的全场景产品矩阵&#xff0c;为数据中…

【eNSP模拟实验】三层交换机实现VLAN通信

实验需求 让PC1和PC2能够互相通讯&#xff0c;其中PC1在vlan10中&#xff0c;PC2在vlan20中。 实验操作 首先把PC1和PC2都配置好ip&#xff0c;配置好之后&#xff0c;点击右下角的应用 然后&#xff0c;在S2交换机&#xff08;S3700&#xff09;上做如下配置 #进入系统 <…

【Redis】Redis十大类型

文章目录 前言一、string字符串类型二、List列表类型三、 Hash表四、 Set集合五、 ZSet有序集合六、 GEO地理空间七、 HyperLogLog基数统计八、Bitmap位图九、bitfield位域十、 Stream流10.1 队列指令10.2 消费组指令10.3 ACK机制 前言 redis是k-v键值对进行存储&#xff0c;k…