Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quartz64 | Kernel and bootloader upgrade #6792

Merged
merged 3 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions .github/workflows/quartz64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand All @@ -41,19 +41,22 @@ 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"
# 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
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
Expand Down
29 changes: 15 additions & 14 deletions .update/patches
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down