mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
SM8550/SM8650: Add generate boot.img file
Remove grub and dtb
This commit is contained in:
@@ -73,13 +73,13 @@
|
||||
<SDM845 mkimage_options="grub,dtb" dtb_prefix="qcom">
|
||||
<file short="odin" full="AYN Odin" rotation="3">sdm845-ayn-odin</file>
|
||||
</SDM845>
|
||||
<SM8250 mkimage_options="grub,dtb,abl" dtb_prefix="qcom">
|
||||
<SM8250 mkimage_options="abl" 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="grub,dtb,abl" dtb_prefix="qcom">
|
||||
<SM8550 mkimage_options="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>
|
||||
@@ -89,7 +89,7 @@
|
||||
<file short="pocketevo" full="AYANEO Pocket EVO">qcs8550-ayaneo-pocketevo</file>
|
||||
<file short="pocketds" full="AYANEO Pocket DS">qcs8550-ayaneo-pocketds</file>
|
||||
</SM8550>
|
||||
<SM8650 mkimage_options="grub,dtb,abl" dtb_prefix="qcom">
|
||||
<SM8650 mkimage_options="abl" dtb_prefix="qcom">
|
||||
<file short="pockets2" full="AYANEO Pocket S2">sm8650-ayaneo-ps2</file>
|
||||
<file short="pocketfit" full="KONKR Pocket FIT">sm8650-konkr-pf</file>
|
||||
</SM8650>
|
||||
|
||||
@@ -16,38 +16,6 @@ fi
|
||||
# mount $BOOT_ROOT rw
|
||||
mount -o remount,rw $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
|
||||
fi
|
||||
|
||||
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
|
||||
mkdir -p $BOOT_ROOT/boot/grub
|
||||
echo "Updating grub.cfg..."
|
||||
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl" ]; then
|
||||
mkdir -p $BOOT_ROOT/rocknix_abl
|
||||
echo "Updating ROCKNIX ABL on SD..."
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
EXTRA_CMDLINE="quiet rootwait console=tty0"
|
||||
|
||||
# Bootloader to use (syslinux / u-boot)
|
||||
BOOTLOADER="arm-efi"
|
||||
BOOTLOADER="qcom-abl"
|
||||
|
||||
# Adreno GPU family
|
||||
GRAPHIC_DRIVERS="freedreno"
|
||||
|
||||
@@ -16,38 +16,6 @@ fi
|
||||
# mount $BOOT_ROOT rw
|
||||
mount -o remount,rw $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
|
||||
fi
|
||||
|
||||
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
|
||||
mkdir -p $BOOT_ROOT/boot/grub
|
||||
echo "Updating grub.cfg..."
|
||||
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl" ]; then
|
||||
mkdir -p $BOOT_ROOT/rocknix_abl
|
||||
echo "Updating ROCKNIX ABL on SD..."
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
EXTRA_CMDLINE="quiet rootwait console=tty0 allow_mismatched_32bit_el0 fw_devlink.strict=1 pcie_ports=compat irqaffinity=0-2 cgroup.memory=nokmem,nosocket nosoftlockup"
|
||||
|
||||
# Bootloader to use (syslinux / u-boot)
|
||||
BOOTLOADER="arm-efi"
|
||||
BOOTLOADER="qcom-abl"
|
||||
|
||||
# Adreno GPU family
|
||||
GRAPHIC_DRIVERS="freedreno"
|
||||
|
||||
@@ -16,38 +16,6 @@ fi
|
||||
# mount $BOOT_ROOT rw
|
||||
mount -o remount,rw $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
|
||||
fi
|
||||
|
||||
if [ -f "$SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg" ]; then
|
||||
mkdir -p $BOOT_ROOT/boot/grub
|
||||
echo "Updating grub.cfg..."
|
||||
cp $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grub.cfg $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/dejavu-mono.pf2 $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
|
||||
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 $SYSTEM_ROOT/usr/share/bootloader/boot/grub/grubenv $BOOT_ROOT/boot/grub
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$SYSTEM_ROOT/usr/share/bootloader/rocknix_abl" ]; then
|
||||
mkdir -p $BOOT_ROOT/rocknix_abl
|
||||
echo "Updating ROCKNIX ABL on SD..."
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
EXTRA_CMDLINE="rootwait quiet video=efifb:off console=tty0 irqaffinity=0-1 cgroup.memory=nokmem,nosocket nosoftlockup"
|
||||
|
||||
# Bootloader to use (syslinux / u-boot)
|
||||
BOOTLOADER="arm-efi"
|
||||
BOOTLOADER="qcom-abl"
|
||||
|
||||
# Adreno GPU family
|
||||
GRAPHIC_DRIVERS="freedreno"
|
||||
|
||||
@@ -16,6 +16,7 @@ PKG_STAMP="${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD}"
|
||||
PKG_PATCH_DIRS="${LINUX} mainline ${DEVICE} default"
|
||||
|
||||
[[ "${DEVICE}" == RK* ]] && PKG_PATCH_DIRS+=" mainline-rockchip"
|
||||
[[ "${DEVICE}" == SM* ]] && PKG_DEPENDS_TARGET+=" mkbootimg:host"
|
||||
|
||||
case ${DEVICE} in
|
||||
RK3588)
|
||||
@@ -331,7 +332,26 @@ make_target() {
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p ${INSTALL}/.image
|
||||
cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} System.map .config Module.symvers ${INSTALL}/.image/
|
||||
cp -p System.map .config Module.symvers ${INSTALL}/.image/
|
||||
|
||||
if [ "${BOOTLOADER}" != "qcom-abl" ]; then
|
||||
cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} ${INSTALL}/.image/
|
||||
else
|
||||
|
||||
gzip -c "arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET}" > "${INSTALL}/.image/kernel.gz"
|
||||
for dtb in "arch/${TARGET_KERNEL_ARCH}/boot/dts/"**/*.dtb; do
|
||||
if [ -f ${dtb} ]; then
|
||||
cat "$dtb" >> "${INSTALL}/.image/kernel.gz"
|
||||
fi
|
||||
done
|
||||
echo -n "dummy" > "${INSTALL}/.image/ramdisk"
|
||||
python3 "${TOOLCHAIN}/mkbootimg/mkbootimg.py" \
|
||||
--kernel "${INSTALL}/.image/kernel.gz" --ramdisk "${INSTALL}/.image/ramdisk" \
|
||||
--kernel_offset 0x00000000 --ramdisk_offset 0x00000000 --tags_offset 0x00000000 \
|
||||
--os_version 12.0.0 --os_patch_level "$(date '+%Y-%m')" --header_version 0 \
|
||||
--cmdline "boot=LABEL=${DISTRO_BOOTLABEL} disk=LABEL=${DISTRO_DISKLABEL} ${EXTRA_CMDLINE}" \
|
||||
-o "${INSTALL}/.image/${KERNEL_TARGET}" || { exit 1; }
|
||||
fi
|
||||
|
||||
kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
|
||||
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
|
||||
|
||||
17
projects/ROCKNIX/packages/tools/mkbootimg/package.mk
Normal file
17
projects/ROCKNIX/packages/tools/mkbootimg/package.mk
Normal file
@@ -0,0 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2025 ROCKNIX (https://github.com/ROCKNIX)
|
||||
|
||||
PKG_NAME="mkbootimg"
|
||||
PKG_VERSION="d2bb0af5ba6d3198a3e99529c97eda1be0b5a093"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://android.googlesource.com/platform/system/tools/mkbootimg"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_LONGDESC="mkbootimg: Creates kernel boot images for Android"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_DEPENDS_HOST="toolchain Python3:host"
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p ${TOOLCHAIN}/mkbootimg
|
||||
cp -r gki/ mkbootimg.py $TOOLCHAIN/mkbootimg/
|
||||
}
|
||||
|
||||
11
projects/ROCKNIX/packages/tools/qcom-abl/package.mk
Normal file
11
projects/ROCKNIX/packages/tools/qcom-abl/package.mk
Normal file
@@ -0,0 +1,11 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2024 ROCKNIX (https://github.com/ROCKNIX)
|
||||
|
||||
PKG_NAME="qcom-abl"
|
||||
PKG_VERSION="1.0"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://rocknix.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="virtual"
|
||||
PKG_LONGDESC="Meta package for installing qcom-abl kernel image"
|
||||
@@ -132,7 +132,7 @@ alias mmd='mmd -i "${IMG_TMP}/part1.fat"'
|
||||
# create filesystem on part1
|
||||
echo "image: creating filesystem on part1..."
|
||||
|
||||
if [ "${BOOTLOADER}" = "syslinux" -o "${BOOTLOADER}" = "bcm2835-bootloader" -o "${BOOTLOADER}" = "u-boot" -o "${BOOTLOADER}" = "arm-efi" ]; then
|
||||
if [ "${BOOTLOADER}" = "syslinux" -o "${BOOTLOADER}" = "bcm2835-bootloader" -o "${BOOTLOADER}" = "u-boot" -o "${BOOTLOADER}" = "arm-efi" -o "${BOOTLOADER}" = "qcom-abl" ]; then
|
||||
mkfs.vfat -F 32 -S 512 -s 32 -i "${UUID_SYSTEM//-/}" -n "${DISTRO_BOOTLABEL}" "${IMG_TMP}/part1.fat" >"${SAVE_ERROR}" 2>&1 || show_error
|
||||
fi
|
||||
sync
|
||||
@@ -276,6 +276,24 @@ elif [ "${BOOTLOADER}" = "arm-efi" ]; then
|
||||
mcopy "${RELEASE_DIR}/target/KERNEL.md5" "::/${KERNEL_NAME}.md5"
|
||||
mcopy "${RELEASE_DIR}/target/SYSTEM.md5" ::/SYSTEM.md5
|
||||
|
||||
elif [ "${BOOTLOADER}" = "qcom-abl" ]; then
|
||||
# create bootloader configuration
|
||||
echo "image: creating bootloader configuration... (qcom-abl)"
|
||||
if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader/mkimage" ]; then
|
||||
. "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/bootloader/mkimage"
|
||||
elif [ -f "${PROJECT_DIR}/${PROJECT}/bootloader/mkimage" ]; then
|
||||
. "${PROJECT_DIR}/${PROJECT}/bootloader/mkimage"
|
||||
else
|
||||
echo "image: skipping qcom-abl. no mkimage script found"
|
||||
fi
|
||||
|
||||
# copy files
|
||||
echo "image: copying files to part1..."
|
||||
mcopy "${TARGET_IMG}/${BUILD_NAME}.kernel" "::/${KERNEL_NAME}"
|
||||
mcopy "${TARGET_IMG}/${BUILD_NAME}.system" ::/SYSTEM
|
||||
mcopy "${RELEASE_DIR}/target/KERNEL.md5" "::/${KERNEL_NAME}.md5"
|
||||
mcopy "${RELEASE_DIR}/target/SYSTEM.md5" ::/SYSTEM.md5
|
||||
|
||||
fi # bootloader
|
||||
|
||||
# run fsck
|
||||
|
||||
Reference in New Issue
Block a user