20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件
2025/4/26 21:30
缘起:使用NanoPi NEO开发板,编译FriendlyCore系统,打包eMMC固件的时候报错。
1、在ubuntu14.04下git clone异常该如何处理呢?
2、请问 现在 编译NanoPi NEO的FriendlyCore系统使用ubuntu哪一个版本比较好?
ubuntu14.04 编译异常/下载不了:./build.sh kernel 正克隆到 'wireguard'...【编译正常:./build.sh uboot ./build.sh friendlywrt】
ubuntu16.04 没有来得及测试
ubuntu18.04 没有来得及测试
ubuntu20.04 编译异常:./build.sh friendlywrt
ubuntu22.04 编译异常:./build.sh uboot multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
rootroot@ubuntu:~/friendlywrt-h3 rootroot@ubuntu:\~/friendlywrt-h3 ./build.sh emmc-img
INFO\]: Copying /home/rootroot/friendlywrt-h3/friendlywrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh/ cp: cannot stat '/home/rootroot/friendlywrt-h3/friendlywrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/\*': No such file or directory \[INFO\]: Applying device/friendlyelec/h3/default-settings to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh sed: can't read ./etc/config/firewall: No such file or directory \[INFO\]: Applying device/friendlyelec/h3/common-files to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh Re-running script under sudo... \[INFO\]: prepare boot.img ... Re-running script under sudo... 0+0 records in 0+0 records out 0 bytes copied, 0.000541491 s, 0.0 kB/s generating ./friendlywrt_4.14_armhf/boot.img done. \[INFO\]: prepare rootfs.img ... Re-running script under sudo... Creating filesystem with parameters: Size: 159383552 Block size: 4096 Blocks per group: 32768 Inodes per group: 4864 Inode size: 256 Journal blocks: 1024 Label: rootfs Blocks: 38912 Block groups: 2 Reserved block group size: 15 Suggest size: 67108864 Created filesystem with 1434/9728 inodes and 11856/38912 blocks '/home/rootroot/friendlywrt-h3/scripts/sd-fuse/prebuilt/partmap.template' -\> 'friendlywrt_4.14_armhf/partmap.txt' generating friendlywrt_4.14_armhf/partmap.txt done. 0 generating friendlywrt_4.14_armhf/rootfs.img done. 0 Generating empty userdata.img (size:104857600) Creating filesystem with parameters: Size: 104857600 Block size: 4096 Blocks per group: 32768 Inodes per group: 6400 Inode size: 256 Journal blocks: 1024 Label: userdata Blocks: 25600 Block groups: 1 Reserved block group size: 7 Suggest size: 25165824 Created filesystem with 11/6400 inodes and 1438/25600 blocks \[INFO\]: clean ... Re-running script under sudo... Creating RAW image: out/h3_eflasher-20250426.img (7800 MB) --------------------------------- 0+0 records in 0+0 records out 0 bytes copied, 0.000339886 s, 0.0 kB/s Using device: /dev/loop13 --------------------------------- Eflasher filesystem fusing Image root: ./eflasher ---------------------------------------------------------------- \[/dev/loop13\] capacity = 7438MB, 7799999488 bytes current /dev/loop13 partition: MBR.0 start : 0x0000100000 size 0x01d0da8c00 kB ---------------------------------------------------------------- parsing ./eflasher/partmap.txt: part.0 flash=mmc,0:boot0:raw:0x2000,0x1fe000:u-boot-sunxi-with-spl.bin:\[RAW\] ./eflasher/u-boot-sunxi-with-spl.bin part.1 flash=mmc,0:env:raw:0x200000,0x20000:env_eflasher.bin:\[RAW\] ./eflasher/env_eflasher.bin part.2 flash=mmc,0:FriendlyARM:fat:0x70900000,0x0:FriendlyARM.img:\[MBR\] ./eflasher/FriendlyARM.img part.3 flash=mmc,0:boot:fat:0x1800000,0x2800000:boot.img:\[MBR\] ./eflasher/boot.img part.4 flash=mmc,0:rootfs:ext4:0x4000000,0x6c900000:rootfs.img:\[MBR\] ./eflasher/rootfs.img ---------------------------------------------------------------- create new MBR 3: \[MBR.0\] start : 0x0070900000 size 0x0000000000 \[MBR.1\] start : 0x0001800000 size 0x0002800000 \[MBR.2\] start : 0x0004000000 size 0x006c900000 ---------------------------------------------------------------- copy from: ./eflasher to /dev/loop13 \[RAW. 0\]: 2040 KB \| ./eflasher/u-boot-sunxi-with-spl.bin \> 100% : done. \[RAW. 1\]: 128 KB \| ./eflasher/env_eflasher.bin \> 100% : done. \[MBR. 0\]: 163840 KB \| ./eflasher/FriendlyARM.img \> 100% : done. \[MBR. 1\]: 40960 KB \| ./eflasher/boot.img \> 100% : done. \[MBR. 2\]: 651766 KB \| ./eflasher/rootfs.img \> 100% : done. ---------------------------------------------------------------- /dev/loop13: msdos partitions 2 3 1 --------------------------------- Eflasher is fused successfully. All done. mkexfatfs 1.3.0 Creating... done. Flushing... done. File system created successfully. --------------------------------- RAW image successfully created (21:06:03). -rw-r--r-- 1 root root 7799999488 Apr 26 21:06 out/h3_eflasher-20250426.img Tip: You can compress it to save disk space. FUSE exfat 1.3.0 copying /home/rootroot/friendlywrt-h3/scripts/sd-fuse/friendlywrt_4.14_armhf/\* to /tmp/media_exfat/friendlywrt_4.14_armhf ... -rw-r--r-- 1 root root 7799999488 Apr 26 21:06 out/FriendlyWrt_20250426_NanoPi-NEO-Core_armhf_eflasher.img all done. ----------------------------------------- Run the following command for sdcard install: sudo dd if=out/FriendlyWrt_20250426_NanoPi-NEO-Core_armhf_eflasher.img bs=1M of=/dev/sdX ----------------------------------------- rootroot@ubuntu:\~/friendlywrt-h3$ 很容易知道: 1、【预编译的固件】 X:\\friendlywrt-h3\\pre-download\\eflasher.tgz 【解压缩脚本】 X:\\friendlywrt-h3\\pre-download\\unpack.sh  2、【解压缩后的:预编译的固件】 驱动器 X 中的卷是 rootroot 卷的序列号是 97F9-E71D X:\\friendlywrt-h3\\scripts\\sd-fuse\\eflasher 的目录 2025/04/26 21:38 \
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 exfat-utils amd64 1.3.0-1 [40.7 kB]
Fetched 65.3 kB in 3s (20.2 kB/s)
Selecting previously unselected package exfat-fuse.
(Reading database ... 194685 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) ...
rootroot@ubuntu:~/friendlywrt-h3$
rootroot@ubuntu:~/friendlywrt-h3$ ./build.sh emmc-img
INFO\]: Copying /home/rootroot/friendlywrt-h3/friendlywrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh/
cp: cannot stat '/home/rootroot/friendlywrt-h3/friendlywrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-sunxi/\*': No such file or directory
\[INFO\]: Applying device/friendlyelec/h3/default-settings to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh
sed: can't read ./etc/config/firewall: No such file or directory
\[INFO\]: Applying device/friendlyelec/h3/common-files to /home/rootroot/friendlywrt-h3/scripts/sd-fuse/out/rootfs.ysGv1Yoeh
Re-running script under sudo...
\[INFO\]: prepare boot.img ...
Re-running script under sudo...
0+0 records in
0+0 records out
0 bytes copied, 0.000541491 s, 0.0 kB/s
generating ./friendlywrt_4.14_armhf/boot.img done.
\[INFO\]: prepare rootfs.img ...
Re-running script under sudo...
Creating filesystem with parameters:
Size: 159383552
Block size: 4096
Blocks per group: 32768
Inodes per group: 4864
Inode size: 256
Journal blocks: 1024
Label: rootfs
Blocks: 38912
Block groups: 2
Reserved block group size: 15
Suggest size: 67108864
Created filesystem with 1434/9728 inodes and 11856/38912 blocks
'/home/rootroot/friendlywrt-h3/scripts/sd-fuse/prebuilt/partmap.template' -\> 'friendlywrt_4.14_armhf/partmap.txt'
generating friendlywrt_4.14_armhf/partmap.txt done.
0
generating friendlywrt_4.14_armhf/rootfs.img done.
0
Generating empty userdata.img (size:104857600)
Creating filesystem with parameters:
Size: 104857600
Block size: 4096
Blocks per group: 32768
Inodes per group: 6400
Inode size: 256
Journal blocks: 1024
Label: userdata
Blocks: 25600
Block groups: 1
Reserved block group size: 7
Suggest size: 25165824
Created filesystem with 11/6400 inodes and 1438/25600 blocks
\[INFO\]: clean ...
Re-running script under sudo...
Creating RAW image: out/h3_eflasher-20250426.img (7800 MB)
---------------------------------
0+0 records in
0+0 records out
0 bytes copied, 0.000339886 s, 0.0 kB/s
Using device: /dev/loop13
---------------------------------
Eflasher filesystem fusing
Image root: ./eflasher
----------------------------------------------------------------
\[/dev/loop13\] capacity = 7438MB, 7799999488 bytes
current /dev/loop13 partition:
MBR.0 start : 0x0000100000 size 0x01d0da8c00 kB
----------------------------------------------------------------
parsing ./eflasher/partmap.txt:
part.0 flash=mmc,0:boot0:raw:0x2000,0x1fe000:u-boot-sunxi-with-spl.bin:\[RAW\] ./eflasher/u-boot-sunxi-with-spl.bin
part.1 flash=mmc,0:env:raw:0x200000,0x20000:env_eflasher.bin:\[RAW\] ./eflasher/env_eflasher.bin
part.2 flash=mmc,0:FriendlyARM:fat:0x70900000,0x0:FriendlyARM.img:\[MBR\] ./eflasher/FriendlyARM.img
part.3 flash=mmc,0:boot:fat:0x1800000,0x2800000:boot.img:\[MBR\] ./eflasher/boot.img
part.4 flash=mmc,0:rootfs:ext4:0x4000000,0x6c900000:rootfs.img:\[MBR\] ./eflasher/rootfs.img
----------------------------------------------------------------
create new MBR 3:
\[MBR.0\] start : 0x0070900000 size 0x0000000000
\[MBR.1\] start : 0x0001800000 size 0x0002800000
\[MBR.2\] start : 0x0004000000 size 0x006c900000
----------------------------------------------------------------
copy from: ./eflasher to /dev/loop13
\[RAW. 0\]: 2040 KB \| ./eflasher/u-boot-sunxi-with-spl.bin \> 100% : done.
\[RAW. 1\]: 128 KB \| ./eflasher/env_eflasher.bin \> 100% : done.
\[MBR. 0\]: 163840 KB \| ./eflasher/FriendlyARM.img \> 100% : done.
\[MBR. 1\]: 40960 KB \| ./eflasher/boot.img \> 100% : done.
\[MBR. 2\]: 651766 KB \| ./eflasher/rootfs.img \> 100% : done.
----------------------------------------------------------------
/dev/loop13: msdos partitions 2 3 1
---------------------------------
Eflasher is fused successfully.
All done.
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
---------------------------------
RAW image successfully created (21:06:03).
-rw-r--r-- 1 root root 7799999488 Apr 26 21:06 out/h3_eflasher-20250426.img
Tip: You can compress it to save disk space.
FUSE exfat 1.3.0
copying /home/rootroot/friendlywrt-h3/scripts/sd-fuse/friendlywrt_4.14_armhf/\* to /tmp/media_exfat/friendlywrt_4.14_armhf ...
-rw-r--r-- 1 root root 7799999488 Apr 26 21:06 out/FriendlyWrt_20250426_NanoPi-NEO-Core_armhf_eflasher.img
all done.
-----------------------------------------
Run the following command for sdcard install:
sudo dd if=out/FriendlyWrt_20250426_NanoPi-NEO-Core_armhf_eflasher.img bs=1M of=/dev/sdX
-----------------------------------------
rootroot@ubuntu:\~/friendlywrt-h3$
rootroot@ubuntu:\~/friendlywrt-h3$ ifconfig
ens33: flags=4163\