mirror of
https://github.com/armbian/build.git
synced 2026-05-04 19:56:11 +02:00
Some checks failed
Data: Sync board list / Send dispatch (push) Has been cancelled
Infrastructure: Dispatch to fork / 📢 Run repository dispatch on fork (push) Has been cancelled
Infrastructure: Mirror to Codeberg / codeberg (push) Has been cancelled
Maintenance: Announce merge / announcepush (push) Has been cancelled
Maintenance: Security scan / Scorecards analysis (push) Has been cancelled
* add support for arduino-uno-q * arduino-uno-q: fix boot with boot.scr and correct memory addresses ABL overwrites kernel_addr_r/fdt_addr_r/ramdisk_addr_r at runtime, causing memory overlap that corrupts the kernel Image header. Switch from extlinux to boot.scr which sets correct addresses in the 0xC0000000 RAM bank before loading kernel, initrd and dtb. U-Boot env loads boot.scr from partition 0x43 (GPT 67 "efi") with sysboot as fallback. * arduino-uno-q: update board and family config - Use boot.scr instead of extlinux (BOOTSCRIPT/BOOTENV_FILE in family) - Add SERIALCON=ttyMSM0 for serial console - BOOTSIZE=512 to fit kernel + initrd - Remove BOARD_FIRMWARE_INSTALL="-full", copy only needed firmware - Add WiFi ath10k firmware copy - Add ADB daemon with Armbian branding - Add first-boot rootfs resize service - Update kernel to 6.19.0 from qcom-v6.19.0-unoq branch * arduino-uno-q: fix image-output extension Use dd with sector offsets instead of loop device partitions to extract boot and rootfs images. The previous approach failed because the build framework releases the loop device before the extension runs. * arduino-uno-q: add first-boot rootfs resize for eMMC Add systemd service that expands the rootfs partition to fill the entire eMMC on first boot using sgdisk. Removes the empty userdata partition and recreates rootfs with all remaining space. * arduino-uno-q: update ath10k WiFi firmware to upstream Update board-2.bin from linux-firmware (ath-20260204) with support for additional board IDs. * arduino-uno-q: update kernel config for 6.19 * arduino-uno-q: revert board-2.bin to original version Restore the ath10k board-2.bin firmware to the version provided in the original board bring-up, as the upstream version has not been validated on this hardware. * arduino-uno-q: move flash binaries to armbian/qcombin Move EDL flash binaries (ABL, XBL, TrustZone, GPT tables, etc.) from packages/blobs/arduino/flash/ to the external armbian/qcombin repository under the Agatti folder, following the same pattern as rkbin for Rockchip and mtkbin for MediaTek. Add qcombin.sh extension to fetch binaries during build. Update image-output-arduino.sh to source flash files from qcombin cache and derive U-Boot package path from BRANCH/BOARD variables. * arduino-uno-q: add BOARD_VENDOR * arduino-uno-q: update qcombin path to Agatti/arduino-uno-q * arduino-uno-q: move firmware to armbian/firmware, rename boot script Move firmware blobs to armbian/firmware repository (armbian/firmware#123) and remove manual firmware copies from post_family_tweaks. Firmware is now installed via the armbian-firmware package. Rename boot-qcom to boot-qrb2210 to be family-specific. * arduino-uno-q: include prog_firehose_ddr.elf from Agatti root * arduino-uno-q: add qbootctl to prevent fastboot fallback --------- Co-authored-by: Hsun Lai <i@chainsx.cn>
76 lines
3.1 KiB
Batchfile
76 lines
3.1 KiB
Batchfile
# DO NOT EDIT THIS FILE
|
|
#
|
|
# Please edit /boot/armbianEnv.txt to set supported parameters
|
|
#
|
|
|
|
# Set load addresses for Qualcomm QRB2210
|
|
# These must be set explicitly because ABL overwrites defaults at runtime
|
|
setenv kernel_addr_r "0xc0000000"
|
|
setenv fdt_addr_r "0xc3000000"
|
|
setenv ramdisk_addr_r "0xc4000000"
|
|
setenv load_addr "0xd4000000"
|
|
setenv overlay_error "false"
|
|
|
|
# Qualcomm eMMC device and boot partition (0x43 = GPT partition 67 "efi")
|
|
setenv devtype "mmc"
|
|
setenv devnum "0"
|
|
test -n "${distro_bootpart}" || setenv distro_bootpart "43"
|
|
|
|
# default values
|
|
setenv rootdev "/dev/mmcblk0p1"
|
|
setenv verbosity "1"
|
|
setenv console "serial"
|
|
setenv bootlogo "false"
|
|
setenv rootfstype "ext4"
|
|
setenv docker_optimizations "on"
|
|
|
|
echo "Boot script loaded from ${devtype} ${devnum}:${distro_bootpart}"
|
|
|
|
if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}armbianEnv.txt; then
|
|
load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}armbianEnv.txt
|
|
env import -t ${load_addr} ${filesize}
|
|
fi
|
|
|
|
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
|
|
if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyMSM0,115200n8 ${consoleargs}"; fi
|
|
if test "${bootlogo}" = "true"; then
|
|
setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
|
|
else
|
|
setenv consoleargs "splash=verbose ${consoleargs}"
|
|
fi
|
|
|
|
# get PARTUUID of partition the boot script was loaded from
|
|
if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:${distro_bootpart} partuuid; fi
|
|
|
|
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} clk_ignore_unused pd_ignore_unused audit=0 deferred_probe_timeout=30 ${extraargs} ${extraboardargs}"
|
|
|
|
if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"; fi
|
|
|
|
load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r} ${prefix}uInitrd
|
|
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}Image
|
|
|
|
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
|
|
fdt addr ${fdt_addr_r}
|
|
fdt resize 65536
|
|
for overlay_file in ${overlays}; do
|
|
if load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}dtb/qcom/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
|
|
echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
|
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
|
fi
|
|
done
|
|
for overlay_file in ${user_overlays}; do
|
|
if load ${devtype} ${devnum}:${distro_bootpart} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
|
|
echo "Applying user provided DT overlay ${overlay_file}.dtbo"
|
|
fdt apply ${load_addr} || setenv overlay_error "true"
|
|
fi
|
|
done
|
|
if test "${overlay_error}" = "true"; then
|
|
echo "Error applying DT overlays, restoring original DT"
|
|
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
|
|
fi
|
|
|
|
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
|
|
|
# Recompile with:
|
|
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
|