From e7d189ec4b9ae22b1ea9b750b52ad372028783c1 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Tue, 21 Nov 2023 23:21:25 +0100 Subject: [PATCH 1/3] v8.25 - Quartz64 | Switch to mainline U-Boot v2023.10 --- .github/workflows/quartz64.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/quartz64.yml b/.github/workflows/quartz64.yml index 8cf7277b41..fe178ce2a0 100644 --- a/.github/workflows/quartz64.yml +++ b/.github/workflows/quartz64.yml @@ -13,7 +13,7 @@ jobs: # https://github.com/actions/runner-images runs-on: ubuntu-22.04 env: - uboot_branch: 'v2022.07-dietpi' + uboot_version: '2023.10' CROSS_COMPILE: 'aarch64-linux-gnu-' ARCH: 'arm64' steps: @@ -26,11 +26,11 @@ jobs: run: | { python3 -m pip install --no-cache-dir -U pip setuptools wheel; python3 -m pip install --no-cache-dir -U pyelftools; } & { sudo apt-get -q update; sudo DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -qq install make gcc libc6-dev flex bison gcc-aarch64-linux-gnu bc libssl-dev swig; } & - { curl -fO "https://gitlab.com/MichaIng/u-boot/-/archive/$uboot_branch/u-boot-$uboot_branch.tar.bz2"; tar xf "u-boot-$uboot_branch.tar.bz2"; rm "u-boot-$uboot_branch.tar.bz2"; } & + { curl -fLO "https://github.com/u-boot/u-boot/archive/v$uboot_version.tar.gz"; tar xf "v$uboot_version.tar.gz"; rm "v$uboot_version.tar.gz"; } & { curl -fO 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-rolling-stable.tar.gz'; tar xf linux-rolling-stable.tar.gz; rm linux-rolling-stable.tar.gz; } & wait - curl -sSfo "u-boot-$uboot_branch/u-boot-spl-ddr.bin" 'https://raw.githubusercontent.com/JeffyCN/mirrors/ddf03c1/bin/rk35/rk3568_ddr_1560MHz_v1.13.bin' & - curl -sSfo "u-boot-$uboot_branch/bl31.elf" 'https://raw.githubusercontent.com/JeffyCN/mirrors/6186deb/bin/rk35/rk3568_bl31_v1.28.elf' & + curl -sSfo "u-boot-$uboot_version/ddr.bin" 'https://raw.githubusercontent.com/JeffyCN/mirrors/ddf03c1/bin/rk35/rk3568_ddr_1560MHz_v1.13.bin' & + curl -sSfo "u-boot-$uboot_version/bl31.elf" 'https://raw.githubusercontent.com/JeffyCN/mirrors/6186deb/bin/rk35/rk3568_bl31_v1.28.elf' & curl -sSfo linux-rolling-stable/arch/arm64/configs/quartz64_defconfig "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/images/Quartz64/quartz64_defconfig" & rm -Rf firmware-quartz64a/DEBIAN firmware-quartz64a/boot/extlinux firmware-quartz64a/lib/firmware/brcm mkdir -p firmware-quartz64a/DEBIAN firmware-quartz64a/boot/extlinux firmware-quartz64a/lib/firmware/brcm @@ -41,19 +41,20 @@ jobs: wait - name: Build U-Boot run: | + export ROCKCHIP_TPL='ddr.bin' export BL31='bl31.elf' - cd "u-boot-$uboot_branch" + cd "u-boot-$uboot_version" make quartz64-a-rk3566_defconfig make -j$(nproc) mv u-boot-rockchip.bin ../firmware-quartz64a/boot/u-boot.bin make quartz64-b-rk3566_defconfig make -j$(nproc) mv u-boot-rockchip.bin ../firmware-quartz64b/boot/u-boot.bin - make soquartz-rk3566_defconfig + make soquartz-cm4-rk3566_defconfig make -j$(nproc) mv u-boot-rockchip.bin ../firmware-soquartz/boot/u-boot.bin cd .. - rm -R "u-boot-$uboot_branch" + rm -R "u-boot-$uboot_version" - name: Build Linux run: | cd linux-rolling-stable From 8dbaedb3edf9191ef67cf28bdc15a1e13247ffda Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 29 Nov 2023 19:51:49 +0100 Subject: [PATCH 2/3] v8.25 - CI | Quartz64: Patch kernel_comp_addr_r being too narrow for our kernel image --- .github/workflows/quartz64.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/quartz64.yml b/.github/workflows/quartz64.yml index fe178ce2a0..35b4b07171 100644 --- a/.github/workflows/quartz64.yml +++ b/.github/workflows/quartz64.yml @@ -44,6 +44,8 @@ jobs: export ROCKCHIP_TPL='ddr.bin' export BL31='bl31.elf' cd "u-boot-$uboot_version" + # Patch kernel_comp_addr_r being too narrow for our kernel image + sed -i 's/kernel_comp_addr_r=0x08000000/kernel_comp_addr_r=0x10000000/' include/configs/rk3568_common.h make quartz64-a-rk3566_defconfig make -j$(nproc) mv u-boot-rockchip.bin ../firmware-quartz64a/boot/u-boot.bin From f0d6fdfef872873f575a27e7fa4812af492cb392 Mon Sep 17 00:00:00 2001 From: MichaIng Date: Wed, 29 Nov 2023 22:20:34 +0100 Subject: [PATCH 3/3] v8.25 - Quartz64 | Install new kernel package with Linux 6.6.3 and latest upstream U-Boot 2023.10 --- .update/patches | 29 +++++++++++++++-------------- CHANGELOG.txt | 1 + 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.update/patches b/.update/patches index 6589f55470..e9158e12a8 100755 --- a/.update/patches +++ b/.update/patches @@ -1474,21 +1474,8 @@ Patch_8_23() Patch_8_24() { - # Quartz64 - if (( $G_HW_MODEL == 49 )) - then - for i in quartz64{a,b} soquartz - do - dpkg --compare-versions "$(dpkg-query -Wf '${Version}' "firmware-$i" 2> /dev/null)" lt-nl 6.5.11-dietpi2 || continue - G_DIETPI-NOTIFY 2 "Updating $i kernel and bootloader ..." - G_EXEC_OUTPUT=1 G_EXEC curl -fo package.deb "https://dietpi.com/downloads/binaries/firmware-$i.deb" - G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb - G_EXEC rm package.deb - break - done - # ROCK 3A: The "rk35xx" kernel packages have been merged into "rockchip64", and "edge-rk35xx" is Linux 6.1.11, older than "current-rockchip64", which is 6.1.50 - elif (( $G_HW_MODEL == 77 )) && dpkg-query -s 'linux-image-edge-rk35xx' &> /dev/null + if (( $G_HW_MODEL == 77 )) && dpkg-query -s 'linux-image-edge-rk35xx' &> /dev/null then G_DIETPI-NOTIFY 2 'Updating ROCK 3A kernel package ...' local apackages=('linux-image-current-rockchip64' 'linux-dtb-current-rockchip64') @@ -1532,6 +1519,20 @@ Patch_8_24() Patch_8_25() { + # Quartz64 + if (( $G_HW_MODEL == 49 )) + then + for i in quartz64{a,b} soquartz + do + dpkg --compare-versions "$(dpkg-query -Wf '${Version}' "firmware-$i" 2> /dev/null)" lt-nl 6.6.3-dietpi1 || continue + G_DIETPI-NOTIFY 2 "Updating $i kernel and bootloader ..." + G_EXEC_OUTPUT=1 G_EXEC curl -fo package.deb "https://dietpi.com/downloads/binaries/firmware-$i.deb" + G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold package.deb + G_EXEC rm package.deb + break + done + fi + # Software updates and migrations if [[ -f '/boot/dietpi/.installed' ]] then diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 143eb85cbc..7a8acae29e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -6,6 +6,7 @@ New images: - Orange Pi 3B Enhancements: +- Quartz64 | The kernel receives a major upgrade to Linux 6.6.3 and we switched to latest unmodified mainline U-Boot 2023.10. Among others changes, this implies a fixed onboard Ethernet MAC address, which was previously changing on every boot. Bug fixes: - Proxmox | Now really resolved the issue where the QEMU guest agent was not always installed automatically on first boot.