Replies: 2 comments 3 replies
-
|
armbian-onecloud/.github/workflows/ci.yml Lines 187 to 228 in 85702a7 |
Beta Was this translation helpful? Give feedback.
2 replies
-
- name: Install Dependents
run: |
sudo apt install img2simg
# 下载并赋予执行权限AmlImg工具
ver="v0.3.1"
curl -L -o ./AmlImg https://github.com/hzyitc/AmlImg/releases/download/$ver/AmlImg_${ver}_linux_amd64
chmod +x ./AmlImg
- name: Download and unpack the latest u-boot
run: |
echo "::group::Download"
# 下载最新的u-boot镜像
curl -L -o ./uboot.img https://github.com/${UBOOT_REPO}/releases/download/${UBOOT_TAG}/${UBOOT_BURNIMG}
echo "::endgroup::"
echo "::group::Unpack"
# 使用AmlImg工具解压缩u-boot镜像
./AmlImg unpack ./uboot.img burn/
echo "::endgroup::"
- name: Extract boot and rootfs partitions
run: |
diskimg=$(ls output/images/*.img)
loop=$(sudo losetup --find --show --partscan $diskimg)
# 提取boot和rootfs分区并转换为.simg格式
sudo img2simg ${loop}p1 burn/boot.simg
sudo img2simg ${loop}p2 burn/rootfs.simg
sudo losetup -d $loop
sudo chown $(id -u):$(id -g) -R burn/
- name: Generate burn image
run: |
# 计算boot和rootfs分区的SHA1校验和并生成烧录镜像
echo -n "sha1sum $(sha1sum burn/boot.simg | awk '{print $1}')" >burn/boot.VERIFY
echo -n "sha1sum $(sha1sum burn/rootfs.simg | awk '{print $1}')" >burn/rootfs.VERIFY
cat <<EOF >>burn/commands.txt
PARTITION:boot:sparse:boot.simg
VERIFY:boot:normal:boot.VERIFY
PARTITION:rootfs:sparse:rootfs.simg
VERIFY:rootfs:normal:rootfs.VERIFY
EOF
prefix=$(ls output/images/*.img | sed 's/\.img$//')
burnimg=${prefix}.burn.img
./AmlImg pack $burnimg burn/
```这段代码是一个CI/CD流程,用于在GitHub Actions中执行一些操作。具体来说,它包括安装依赖、下载和解压缩u-boot、提取boot和rootfs分区以及生成烧录镜像等步骤。
在第一部分中,它安装了`img2simg`工具,并使用`curl`命令下载了`AmlImg`工具,并赋予了执行权限。
在第二部分中,它使用`curl`命令下载了u-boot镜像,并使用`AmlImg`工具解压缩了该镜像。
在第三部分中,它提取了boot和rootfs分区,并将其转换为`.simg`格式,并进行了一些文件权限的调整。
最后一部分是生成烧录镜像,它计算了boot和rootfs分区的SHA1校验和,并将其写入了`.VERIFY`文件中,然后生成了最终的烧录镜像文件。
这段代码的作用是自动化执行这些操作,以便在CI/CD流程中使用。 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
用官方仓库直接编译出来文件名是不带brun的,不懂这个,请教一下各位大神。
Beta Was this translation helpful? Give feedback.
All reactions