Grub efi refactor (#2000)

* grub: move files to /boot/grub

* add rocknix-u-boot-dt-id dts property

* Delete LinuxLoader.cfg

* install u-boot dtb

* use rocknix-u-boot-dt-id to update dtb.img

* update config.xml and mkimage

* tools/rocknix-abl: add package

install in mk_image

* sm8650/sm8550: fix update.sh

* fix S922X

* rocknix-abl: dont depend on toolchain

* fix update.sh

* Qualcomm: copy dtb with mkimage_dtb
This commit is contained in:
Philippe Simons
2025-11-12 21:31:15 +01:00
committed by GitHub
parent 7704d4b515
commit 4615819c3f
27 changed files with 208 additions and 152 deletions

View File

@@ -283,7 +283,7 @@ function savedefault {
set timeout_style=menu
set lang=en_US
loadfont /EFI/BOOT/dejavu-mono.pf2
loadfont /boot/grub/dejavu-mono.pf2
set rotation=270
set gfxmode=auto
insmod efi_gop
@@ -302,7 +302,7 @@ menuentry '${FULL}' \$menuentry_id_option '${SHORT}' {
savedefault
search --set -f /KERNEL
linux /KERNEL boot=LABEL=${DISTRO_BOOTLABEL} disk=LABEL=${DISTRO_DISKLABEL} grub_portable ${EXTRA_CMDLINE}
devicetree /${DTB}.dtb
devicetree /boot/grub/${DTB}.dtb
}
EOF
done
@@ -314,7 +314,7 @@ EOF
menuentry '${FULL} RECOVERY' \$menuentry_id_option '${SHORT}-recovery' {
search --set -f /KERNEL
linux /KERNEL boot=LABEL=${DISTRO_BOOTLABEL} disk=LABEL=${DISTRO_DISKLABEL} grub_portable ${EXTRA_CMDLINE} recovery
devicetree /${DTB}.dtb
devicetree /boot/grub/${DTB}.dtb
}
EOF
done

View File

@@ -20,14 +20,12 @@ mkimage_uboot() {
echo "image: writing u-boot-sunxi-with-spl.bin to $(basename "${DISK}")..."
dd if="${RELEASE_DIR}/3rdparty/bootloader/u-boot-sunxi-with-spl.bin" of="${DISK}" bs=1K seek=8 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
elif [ -f "${RELEASE_DIR}/3rdparty/bootloader/rocknix-u-boot.img" ]; then
# SM8650
# SM8650 & SM8550
echo "image: copying rocknix u-boot files..."
mcopy -o "${RELEASE_DIR}/3rdparty/bootloader/rocknix-u-boot.img" ::
mcopy -s -o "${RELEASE_DIR}/3rdparty/bootloader/device_trees" ::
else
# SM8550
echo "image: copying u-boot files..."
mcopy -s -o "${RELEASE_DIR}/3rdparty/bootloader/boot" ::
echo "ERROR no u-boot file found for ${SUBDEVICE}"
fi
}
@@ -70,7 +68,10 @@ mkimage_dtb() {
RK3326)
mcopy "${RELEASE_DIR}/3rdparty/bootloader/device_trees/"*.dtb ::
;;
S922X|SDM845|SM8250|SM8550|SM8650)
SM8550|SM8650|SM8250|SDM845)
mcopy -s -o "${RELEASE_DIR}/3rdparty/bootloader/boot" ::
;;
S922X)
mcopy "${RELEASE_DIR}/3rdparty/bootloader/"*.dtb ::
;;
*)
@@ -89,14 +90,14 @@ mkimage_gou_extras() {
mcopy "${RELEASE_DIR}/3rdparty/bootloader/res" ::
}
mkimage_efi() {
echo "image: copying EFI files..."
mkimage_grub() {
echo "image: copying grub files and dtb..."
mcopy -s -o "${RELEASE_DIR}/3rdparty/bootloader/EFI" ::
}
mkimage_linuxloader() {
echo "image: copying LinuxLoader.cfg..."
mcopy "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader/LinuxLoader.cfg" ::
mkimage_abl() {
echo "image: copying ROCKNIX ABL..."
mcopy "${RELEASE_DIR}/3rdparty/bootloader/rocknix_abl" ::
}
mkimage_all

View File

@@ -68,16 +68,16 @@
<file>meson-g12b-odroid-go-ultra</file>
<file>meson-g12b-powkiddy-rgb10-max-3-pro</file>
</S922X>
<SDM845 mkimage_options="dtb,efi" dtb_prefix="qcom">
<SDM845 mkimage_options="grub,dtb" dtb_prefix="qcom">
<file short="odin" full="AYN Odin" rotation="3">sdm845-ayn-odin</file>
</SDM845>
<SM8250 mkimage_options="dtb,efi" dtb_prefix="qcom">
<SM8250 mkimage_options="grub,dtb" dtb_prefix="qcom">
<file short="rp5" full="Retroid Pocket 5" rotation="3">sm8250-retroidpocket-rp5</file>
<file short="rpflip2" full="Retroid Pocket Flip2" rotation="3">sm8250-retroidpocket-flip2</file>
<file short="rpmini" full="Retroid Pocket Mini" rotation="1">sm8250-retroidpocket-rpmini</file>
<file short="rpminiv2" full="Retroid Pocket Mini V2" rotation="1">sm8250-retroidpocket-rpminiv2</file>
</SM8250>
<SM8550 mkimage_options="dtb,efi,linuxloader,uboot" dtb_prefix="qcom">
<SM8550 mkimage_options="grub,dtb,uboot,abl" dtb_prefix="qcom">
<file short="odin2" full="AYN Odin2">qcs8550-ayn-odin2</file>
<file short="odin2portal" full="AYN Odin2 Portal">qcs8550-ayn-odin2portal</file>
<file short="odin2mini" full="AYN Odin2 Mini">qcs8550-ayn-odin2mini</file>
@@ -87,7 +87,7 @@
<file short="pocketds" full="AYANEO Pocket DS">qcs8550-ayaneo-pocketds</file>
<file short="pocketevo" full="AYANEO Pocket EVO">qcs8550-ayaneo-pocketevo</file>
</SM8550>
<SM8650 mkimage_options="dtb,efi,uboot" dtb_prefix="qcom">
<SM8650 mkimage_options="grub,dtb,uboot,abl" dtb_prefix="qcom">
<file short="pockets2" full="AYANEO Pocket S2">sm8650-ayaneo-ps2</file>
</SM8650>
</rocknix>

View File

@@ -24,7 +24,7 @@ index 000000000..68fc7e49e
+/ {
+ model = "Anbernic RG40XX H";
+ compatible = "anbernic,rg40xx-h", "allwinner,sun50i-h700";
+ rocknix-dt-id = "sun50i-h700-anbernic-rg40xx-h.dts";
+ rocknix-dt-id = "sun50i-h700-anbernic-rg40xx-h";
+};
+
+&joypad {

View File

@@ -16,45 +16,38 @@ fi
# mount $BOOT_ROOT rw
mount -o remount,rw $BOOT_ROOT
echo "Updating device trees..."
for dtb in $SYSTEM_ROOT/usr/share/bootloader/*.dtb; do
cp -p $dtb $BOOT_ROOT
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi" ]; then
mkdir -p $BOOT_ROOT/EFI/BOOT
echo "Updating EFI..."
cp $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
fi
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/boot/grub" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/*.dtb $BOOT_ROOT/boot/grub
done
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi" ]; then
echo "Updating EFI..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub.cfg..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating dejavu-mono.pf2..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2 $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/efi/boot/grubenv" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/boot/grub/grubenv" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Installing grubenv..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
fi
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot-nodtb.bin..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin $BOOT_ROOT/boot
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot.dtb" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot.dtb..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot.dtb $BOOT_ROOT/boot
fi
# mount $BOOT_ROOT ro
sync
mount -o remount,ro $BOOT_ROOT

View File

@@ -16,45 +16,38 @@ fi
# mount $BOOT_ROOT rw
mount -o remount,rw $BOOT_ROOT
echo "Updating device trees..."
for dtb in $SYSTEM_ROOT/usr/share/bootloader/*.dtb; do
cp -p $dtb $BOOT_ROOT
done
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi" ]; then
mkdir -p $BOOT_ROOT/EFI/BOOT
echo "Updating EFI..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg" ]; then
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/boot/grub" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/*.dtb $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub.cfg..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating dejavu-mono.pf2..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2 $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/efi/boot/grubenv" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/boot/grub/grubenv" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Installing grubenv..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
fi
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot-nodtb.bin..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin $BOOT_ROOT/boot
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot.dtb" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot.dtb..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot.dtb $BOOT_ROOT/boot
fi
# mount $BOOT_ROOT ro
sync
mount -o remount,ro $BOOT_ROOT

View File

@@ -1,18 +0,0 @@
[LinuxLoader]
Debug = false
Target = "Linux"
MassStorageLUN = 0
DefaultVolUp = "Linux"
UsbHostMode = false
HypUartEnable = false
DisableDisplayHW = false
[Linux]
Image = "/boot/u-boot-nodtb.bin"
initrd = "/boot/u-boot-nodtb.bin"
devicetree = "/boot/u-boot-odin2.dtb"
#devicetree = "/boot/u-boot-pocket-ace.dtb"
#devicetree = "/boot/u-boot-pocket-dmg.dtb"
#devicetree = "/boot/u-boot-pocket-evo.dtb"
#devicetree = "/boot/u-boot-pocket-ds.dtb"
cmdline = "nodtbo"

View File

@@ -16,49 +16,60 @@ fi
# mount $BOOT_ROOT rw
mount -o remount,rw $BOOT_ROOT
echo "Updating device trees..."
for dtb in $SYSTEM_ROOT/usr/share/bootloader/*.dtb; do
cp -p $dtb $BOOT_ROOT
done
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi" ]; then
mkdir -p $BOOT_ROOT/EFI/BOOT
echo "Updating EFI..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg" ]; then
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/boot/grub" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/*.dtb $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub.cfg..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating dejavu-mono.pf2..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2 $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/efi/boot/grubenv" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/boot/grub/grubenv" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Installing grubenv..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
fi
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot-nodtb.bin..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-nodtb.bin $BOOT_ROOT/boot
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/rocknix-u-boot.img" ]; then
echo "Updating rocknix-u-boot.img..."
cp $SYSTEM_ROOT/usr/share/bootloader/rocknix-u-boot.img $BOOT_ROOT
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-odin2.dtb" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot-odin2.dtb..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-odin2.dtb $BOOT_ROOT/boot
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/device_trees" ]; then
mkdir -p $BOOT_ROOT/device_trees
echo "Updating u-boot dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/device_trees/*.dtb $BOOT_ROOT/device_trees
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-pocket-ace.dtb" ]; then
mkdir -p $BOOT_ROOT/boot
echo "Updating u-boot-pocket-ace.dtb..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot/u-boot-pocket-ace.dtb $BOOT_ROOT/boot
U_BOOT_DT_ID=$(cat /proc/device-tree/rocknix-u-boot-dt-id)
UPDATE_DTB_SOURCE="$BOOT_ROOT/device_trees/$U_BOOT_DT_ID.dtb"
if [ -f "$UPDATE_DTB_SOURCE" ]; then
echo "Updating dtb.img from $(basename $UPDATE_DTB_SOURCE)..."
cp "$UPDATE_DTB_SOURCE" "$BOOT_ROOT/dtb.img"
fi
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl" ]; then
mkdir -p $BOOT_ROOT/rocknix_abl
echo "Updating ROCKNIX ABL..."
cp $SYSTEM_ROOT/usr/share/bootloader/rocknix_abl/* $BOOT_ROOT/rocknix_abl
fi
# mount $BOOT_ROOT ro

View File

@@ -69,7 +69,7 @@
FIRMWARE=""
# Additional packages to install
ADDITIONAL_PACKAGES="u-boot screen-switch"
ADDITIONAL_PACKAGES="u-boot screen-switch rocknix-abl"
# Debug tty path
DEBUG_TTY="/dev/ttyMSM0"

View File

@@ -32,15 +32,15 @@ make_target() {
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/bootloader/boot
mkdir -p ${INSTALL}/usr/share/bootloader/device_trees
# Always install the update script
find_file_path bootloader/update.sh && cp -av ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
cp -av u-boot-nodtb.bin ${INSTALL}/usr/share/bootloader/boot
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayn-odin2-common.dtb ${INSTALL}/usr/share/bootloader/boot/u-boot-odin2.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-ace.dtb ${INSTALL}/usr/share/bootloader/boot/u-boot-pocket-ace.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-dmg.dtb ${INSTALL}/usr/share/bootloader/boot/u-boot-pocket-dmg.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-evo.dtb ${INSTALL}/usr/share/bootloader/boot/u-boot-pocket-evo.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-ds.dtb ${INSTALL}/usr/share/bootloader/boot/u-boot-pocket-ds.dtb
cp -av u-boot-nodtb.bin ${INSTALL}/usr/share/bootloader/rocknix-u-boot.img
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayn-odin2-common.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-odin2.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-ace.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-pocket-ace.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-dmg.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-pocket-dmg.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-evo.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-pocket-evo.dtb
cp -av dts/upstream/src/arm64/qcom/qcs8550-ayaneo-pocket-ds.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-pocket-ds.dtb
}

View File

@@ -14,7 +14,7 @@ new file mode 100644
index 000000000000..0954c1854a05
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayn-common.dtsi
@@ -0,0 +1,1698 @@
@@ -0,0 +1,1699 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
@@ -41,6 +41,7 @@ index 000000000000..0954c1854a05
+
+/ {
+ chassis-type = "handset";
+ rocknix-u-boot-dt-id = "u-boot-odin2";
+
+ aliases {
+ serial0 = &uart7;

View File

@@ -1,7 +1,7 @@
diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts
--- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 1970-01-01 00:00:00.000000000 +0000
+++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 2025-02-26 13:52:56.398992835 +0000
@@ -0,0 +1,109 @@
@@ -0,0 +1,110 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
@@ -17,6 +17,7 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts lin
+ qcom,board-id = <0x1000b 0x01>;
+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>;
+ compatible = "ayaneo,pocketace", "qcom,qcs8550", "qcom,sm8550";
+ rocknix-u-boot-dt-id = "u-boot-pocket-ace";
+};
+
+&tlmm {

View File

@@ -3,7 +3,7 @@ new file mode 100644
index 000000000000..845a7cf600e2
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts
@@ -0,0 +1,149 @@
@@ -0,0 +1,150 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX)
@@ -18,6 +18,7 @@ index 000000000000..845a7cf600e2
+ qcom,board-id = <0x1000b 0x01>;
+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>;
+ compatible = "ayaneo,pocketdmg", "qcom,qcs8550", "qcom,sm8550";
+ rocknix-u-boot-dt-id = "u-boot-pocket-dmg";
+
+ rocknix_unified_joypad {
+ compatible = "rocknix,unified-joypad";

View File

@@ -3,7 +3,7 @@ new file mode 100644
index 000000000..a1964367a
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketevo.dts
@@ -0,0 +1,98 @@
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
@@ -19,6 +19,7 @@ index 000000000..a1964367a
+ qcom,board-id = <0x1000b 0x01>;
+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>;
+ compatible = "ayaneo,pocketevo", "qcom,qcs8550", "qcom,sm8550";
+ rocknix-u-boot-dt-id = "u-boot-pocket-evo";
+};
+
+&tlmm {

View File

@@ -1,7 +1,7 @@
diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts
--- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts 1970-01-01 00:00:00.000000000 +0000
+++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts 2025-08-29 01:15:03.063872627 +0000
@@ -0,0 +1,200 @@
@@ -0,0 +1,201 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Teguh Sobirin.
@@ -17,6 +17,7 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketds.dts linu
+ qcom,board-id = <0x1000b 0x01>;
+ qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>;
+ compatible = "ayaneo,pocketds", "qcom,qcs8550", "qcom,sm8550";
+ rocknix-u-boot-dt-id = "u-boot-pocket-ds";
+
+ tca6424_vcc: regulator-tca6424-vcc {
+ compatible = "regulator-fixed";

View File

@@ -16,33 +16,62 @@ fi
# mount $BOOT_ROOT rw
mount -o remount,rw $BOOT_ROOT
echo "Updating device trees..."
for dtb in $SYSTEM_ROOT/usr/share/bootloader/*.dtb; do
cp -p $dtb $BOOT_ROOT
done
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi" ]; then
mkdir -p $BOOT_ROOT/EFI/BOOT
echo "Updating EFI..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/bootaa64.efi $BOOT_ROOT/EFI/BOOT
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg" ]; then
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/boot/grub" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/*.dtb $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating grub.cfg..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grub.cfg $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Updating dejavu-mono.pf2..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/dejavu-mono.pf2 $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/efi/boot/grubenv" ]; then
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv" ]; then
if [ ! -f "$BOOT_ROOT/boot/grub/grubenv" ]; then
mkdir -p $BOOT_ROOT/boot/grub
echo "Installing grubenv..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/EFI/BOOT/grubenv $BOOT_ROOT/EFI/BOOT
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
fi
fi
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/rocknix-u-boot.img" ]; then
echo "Updating rocknix-u-boot.img..."
cp $SYSTEM_ROOT/usr/share/bootloader/rocknix-u-boot.img $BOOT_ROOT
fi
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/device_trees" ]; then
mkdir -p $BOOT_ROOT/device_trees
echo "Updating u-boot dtbs..."
cp $SYSTEM_ROOT/usr/share/bootloader/device_trees/*.dtb $BOOT_ROOT/device_trees
fi
U_BOOT_DT_ID=$(cat /proc/device-tree/rocknix-u-boot-dt-id)
UPDATE_DTB_SOURCE="$BOOT_ROOT/device_trees/$U_BOOT_DT_ID.dtb"
if [ -f "$UPDATE_DTB_SOURCE" ]; then
echo "Updating dtb.img from $(basename $UPDATE_DTB_SOURCE)..."
cp "$UPDATE_DTB_SOURCE" "$BOOT_ROOT/dtb.img"
fi
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl" ]; then
mkdir -p $BOOT_ROOT/rocknix_abl
echo "Updating ROCKNIX ABL..."
cp $SYSTEM_ROOT/usr/share/bootloader/rocknix_abl/* $BOOT_ROOT/rocknix_abl
fi
# mount $BOOT_ROOT ro
sync
mount -o remount,ro $BOOT_ROOT

View File

@@ -56,7 +56,7 @@
FIRMWARE=""
# Additional packages to install
ADDITIONAL_PACKAGES="u-boot"
ADDITIONAL_PACKAGES="u-boot rocknix-abl"
# Debug tty path
DEBUG_TTY="/dev/ttyMSM0"

View File

@@ -24,7 +24,7 @@ make_target() {
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm make mrproper
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm make ${PKG_UBOOT_CONFIG}
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make DEVICE_TREE=qcom/sm8650-ayaneo-ps2-u-boot HOSTCC="${HOST_CC}" HOSTCFLAGS="-I${TOOLCHAIN}/include" HOSTLDFLAGS="${HOST_LDFLAGS}" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc"
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make DEVICE_TREE=qcom/sm8650-ayaneo-ps2 HOSTCC="${HOST_CC}" HOSTCFLAGS="-I${TOOLCHAIN}/include" HOSTLDFLAGS="${HOST_LDFLAGS}" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc"
}
makeinstall_target() {
@@ -34,5 +34,5 @@ makeinstall_target() {
find_file_path bootloader/update.sh && cp -av ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
cp -av u-boot-nodtb.bin ${INSTALL}/usr/share/bootloader/rocknix-u-boot.img
cp -av dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2-u-boot.dtb ${INSTALL}/usr/share/bootloader/device_trees
cp -av dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2.dtb ${INSTALL}/usr/share/bootloader/device_trees/u-boot-pocket-s2.dtb
}

View File

@@ -21,7 +21,7 @@ index ce0f928ed9..fa079425dc 100644
CONFIG_ARCH_SNAPDRAGON=y
CONFIG_NR_DRAM_BANKS=24
-CONFIG_DEFAULT_DEVICE_TREE="qcom/sdm845-db845c"
+CONFIG_DEFAULT_DEVICE_TREE="qcom/sm8650-ayaneo-ps2-u-boot"
+CONFIG_DEFAULT_DEVICE_TREE="qcom/sm8650-ayaneo-ps2"
CONFIG_SYS_LOAD_ADDR=0xA0000000
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
CONFIG_EFI_CAPSULE_ON_DISK=y

View File

@@ -1,8 +1,8 @@
diff --git a/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2-u-boot.dts b/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2-u-boot.dts
diff --git a/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2.dts b/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2.dts
new file mode 100644
index 000000000000..681ded735fe4
--- /dev/null
+++ b/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2-u-boot.dts
+++ b/dts/upstream/src/arm64/qcom/sm8650-ayaneo-ps2.dts
@@ -0,0 +1,612 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*

Some files were not shown because too many files have changed in this diff Show More