16881 Commits

Author SHA1 Message Date
Igor Pecovnik
95baded3b2
fix signing issues
Some checks failed
Help forks / 📢 Run repository dispatch on fork (push) Has been cancelled
2026-01-12 08:39:04 +01:00
Igor Pecovnik
997a4e9ea5
Re-start seqential RFC 2026-01-12 00:42:30 +01:00
Igor Pecovnik
d10295ad8c
Create timestamped snapshots
Some checks failed
Help forks / 📢 Run repository dispatch on fork (push) Has been cancelled
2026-01-11 22:31:05 +01:00
Igor Pecovnik
492e431131
Logging 2026-01-11 22:14:16 +01:00
Igor Pecovnik
a6c9b99509
Fix 2026-01-11 22:05:17 +01:00
Igor Pecovnik
e1f55e5d7a
fix 2026-01-11 21:57:31 +01:00
Igor Pecovnik
92052384aa
Drop snapshots 2026-01-11 21:57:31 +01:00
Igor Pecovnik
80ebbe24b6
fix: ensure all components are always published with fresh snapshots
Fixes an issue where subsequent repository runs would fail with 404 errors
for Release files when no new packages were added. The problem was that
snapshots were only created conditionally, leading to missing components
in the published repository.

Changes:
- update_main: always drop and recreate common snapshot (remove check that
  prevented updates if snapshot was already published)
- process_release: always create utils/desktop snapshots even if repos are
  empty, ensuring all components are included in publish
- merge_repos: always create snapshots for all repos and create repos if
  they don't exist, preventing missing components on merge

This ensures the repository structure is complete on every run, regardless
of whether new packages are added.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-01-11 10:39:02 +01:00
Igor Pecovnik
63fe441107
fix: always publish main component even if utils/desktop are empty
This fixes the case where repositories like debs-beta only have packages
in the main/common component (e.g., sid with only kernel packages).
Previously, the merge command would skip publishing if both utils and
desktop repos were empty, resulting in an incomplete repository.

Now we always publish at minimum the main/common component, ensuring all
distributions with any packages get properly published.
2026-01-11 09:30:49 +01:00
Igor Pecovnik
72ec2b171b
feat: implement parallel repository management workflow
This commit implements a complete parallel repository management system
that allows building and publishing Debian repositories in parallel,
significantly reducing build time for multiple distributions.

- `update-main`: Builds common/main component once for all releases
- `update -R <release>`: Builds release-specific components in isolated DBs
- `merge`: Combines common + release-specific components into final repos

- Isolated databases (aptly-isolated-<release>) avoid locking during parallel builds
- Common component built once, not duplicated per release
- Release-specific components (utils, desktop) built independently
- Final merge combines all components with proper GPG signing

- Fixed GPG signing to target top-level Release files (dists/{release}/Release)
- Pool cleanup before publishing avoids "file already exists" errors
- Smart package import skips duplicates during merge
- Proper handling of empty repositories and missing components
- Improved error handling and logging throughout

1. update-main: Build common component (once)
2. update -R <release>: Parallel workers build release-specific components
3. merge: Combine all components and publish with GPG signatures

This enables GitHub Actions to run multiple release builders in parallel,
reducing total repository build time from hours to minutes.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-01-11 00:19:28 +01:00
Igor Pecovnik
d7a4c1b3ab Fix broken patch due to upstream changes, drop edge kernel as its not used 2026-01-08 21:38:09 +01:00
Ricardo Pardini
287931ac6e armbian-kernel: more eBPF-oriented options for userspace tooling 2026-01-08 19:40:54 +01:00
igorpecovnik
35be053fc1 Automatic board configs status synchronise 2026-01-08 19:29:12 +01:00
Ricardo Pardini
1d64ede95c grub: remove invalid hack for hvc0
- hvc0 (virtio console) used to be a challenge, but no longer, for a long time already
2026-01-08 19:28:55 +01:00
Ricardo Pardini
574abb9cad host-release: allow to build on resolute 2026-01-08 19:28:26 +01:00
Igor Pecovnik
4eac206ecf Fix rootfs compilation (dropping deprecated gtk2 engines), broken patch on meson64, series update 2026-01-08 19:27:48 +01:00
Ricardo Pardini
5baaad4e8d extensions/mtkflash: mtk-flash --no-erase-mmc1 landed upstream as --preserve-boot1
- of course, avoid a negation. example of how upstream is always best
2026-01-08 18:55:09 +01:00
EvilOlaf
ee4c79b19a rewrite everything
Some checks failed
Announce merge / announcepush (push) Has been cancelled
Help forks / 📢 Run repository dispatch on fork (push) Has been cancelled
Mirror to Codeberg / codeberg (push) Has been cancelled
Scan security / Scorecards analysis (push) Has been cancelled
Sync board list / Send dispatch (push) Has been cancelled
except patches adding overlays for sunxi and sunxi64
2026-01-08 17:58:43 +01:00
EvilOlaf
45aac305ac fix broken patch 2026-01-08 17:58:43 +01:00
EvilOlaf
e38d028214 sunxi-current: bump to 6.12.64 2026-01-08 17:58:43 +01:00
juanesf
2c025ef929 sun55iw3.conf bump u-boot to v2026.01 (final)
Based on (https://github.com/armbian/build/pull/9179)
2026-01-08 17:58:17 +01:00
EvilOlaf
176f78fdc4 Let's do edge only for now 2026-01-08 15:38:23 +01:00
EvilOlaf
881e231ba5 rewrite all patches 2026-01-08 15:38:23 +01:00
EvilOlaf
ee06d8cdd7 fix borked tz data 2026-01-08 15:38:23 +01:00
EvilOlaf
40173173cf fix broken patch 2026-01-08 15:38:23 +01:00
EvilOlaf
ba7701a991 sunxi: bump edge to 6.18.4 current to 6.12.64 2026-01-08 15:38:23 +01:00
Igor Pecovnik
63cf880b6e Rockchip maint: drop upstreamed patch 2026-01-08 15:36:51 +01:00
Ricardo Pardini
063c641686 genio: bootscript: boot-genio: rework addr's so can boot large initrd's
- desktop images have half the world in their initrd (plymouth?)
- `bdinfo` shows reserved regions, which are hit depending on the size of initrd
- when reserved region is hit, u-boot says `** Reading file would overwrite reserved memory **`
- done by AI after looking at `bdinfo` reserved regions
- hard lesson: all `0x` hex have to be double quoted, otherwise `Wrong image format for "source" command`
- add note about Meco having conjured up `load_addr` (it's `loadaddr`); doesn't hurt
- while at it, remove copypasta/duplicate bootlogo/consoleargs stanza
2026-01-08 12:30:24 +01:00
Ricardo Pardini
230f937d4b extensions/mtkflash: Mediatek mtk-flash direct flashing after build
- similar to `rkdevflash`, but for Mediatek devices
- also simpler; lk.bin & fip.img are produced by image build and directly used
- requires Rust+Cargo, so add those to hostdeps
  - since this is a core extension, those will be included in all Docker images too
  - which was bound to happen anyway since Rust in Linux Kernel is no longer an experiment
- extensions/mtkflash: sha1-based bin path, use fork & add `--no-erase-boot1`
- example invocation:
  - `BOARD=radxa-nio-12l BRANCH=collabora RELEASE=trixie EXT=ufs,mtkflash MTKFLASH_TTYACM_DEVICE=1`
2026-01-08 12:30:24 +01:00
Ricardo Pardini
d3d5bd2134 radxa-nio-12l: u-boot: config: extra CMD options
- `CONFIG_CMD_ITEST`   # itest expects integers on both sides, whereas regular test assumes strings
- `CONFIG_CMD_BOOTZ`   # bootz allows booting zImages
- `CONFIG_CMD_MEMINFO` # meminfo shows memory info in u-boot
- `CONFIG_CMD_SETEXPR` # setexpr allows arithmetic expressions in setenv
2026-01-08 12:30:24 +01:00
Ricardo Pardini
04cb12bfe0 radxa-nio-12l: u-boot: fix u-boot env conflict; include userspace tooling
- u-boot stores env in UFS LUN 1
- use a 2mb offset (different from vendor/Collabora's) to avoid any env conflict
- point fw_printenv/setenv at it at the correct offset and size
2026-01-08 12:30:24 +01:00
Ricardo Pardini
150f2e28b2 radxa-nio-12l: include SRC_CMDLINE for extlinux booting; add explanations
- set SRC_CMDLINE, used in extlinux/EXT=u-boot-menu scenarios
- note about d4/d8/d16 irrelevance now as we have RAM autodetection
- note about where the blobs (libdram/libbase/lk.bin) live in GH: https://github.com/armbian/mtkbin
2026-01-08 12:30:24 +01:00
Ricardo Pardini
431f53df3e genio: u-boot: patch: fdt_addr_r/kernel_addr_r/ramdisk_addr_r for large kernels/initrds
- this patches u-boot default addresses with the same values used in the boot-genio bootscript
- this enables booting extlinux with large kernels and initrd (eg: `EXT=u-boot-menu`)
2026-01-08 12:30:24 +01:00
Ricardo Pardini
324d1ed403 genio: u-boot: patch: UFS 4k UMS fixes + BTRFS fixes/enablement
- backport fixes from upstream u-boot for
  - BTRFS (plus enable BTRFS and BZIP2 support for radxa-nio-12l)
    - tested with `CARD_DEVICE=/dev/mmcblk1 ROOTFS_TYPE=btrfs BTRFS_COMPRESSION=zstd` (no UFS!)
    - also with `EXT=ufs CARD_DEVICE=/dev/sdc ROOTFS_TYPE=btrfs BTRFS_COMPRESSION=zstd` (UFS!)
  - 4k block size UFS for UMS: fixes block size issue (USB issues unhandled)
- Enable "bind" command for the Mediatek-standard USB Gadget Ethernet
2026-01-08 12:30:24 +01:00
Ricardo Pardini
872863b95a genio: u-boot: patch: mt8195: boot order: SD -> UFS -> eMMC -> USB -> Network
- this way, one doesn't need to cripple UFS to be able to boot from SD
- USB didn't get the same treatment as it's slow and **not working**...
  - ...and beyond me to fix; both OTG and Host mode are funky in u-boot...
  - ...but seem to work fine in kernel
- IMPORTANT: keep in mind: "SDcard is NOT UFS (4k block)" and don't fall for traps!
- Network note:
    - `setenv ethaddr xx:xx:xx:xx:xx:xx` & `saveenv` & `reset`
    - required for network booting; mtk doesn't use random/cpu# MAC
    - required for stable MAC in kernel (keep IP from changing, etc)
2026-01-08 12:30:24 +01:00
Ricardo Pardini
a03b88841c genio: u-boot: patch: mt8195: adjust memory size at runtime and fixup fdt
- Use TFA + libdram to obtain and set the actual memory size.
- Overwrite the memory size in the devicetree that is passed to the kernel with the actual size detected.
- All credit to Bartosz Bilas' work for the mt8188/mt8370.
- This doesn't really "use" TF-A/libdram though, those call bl33 with magic arguments which we read here.
- That is implemented by a patch in TF-A for the mt8195 platform.
2026-01-08 12:30:24 +01:00
Ricardo Pardini
5911f02880 genio: mt8195: atf: patch: add TF-A RAM size autodetection pass to bl33
- With this, bl2 will pass down the DRAM size it gets from libdram
  down to bl33 (u-boot proper) via a magic location
- This is a rework of the implementation for another MTK plat (GRINN)
2026-01-08 12:30:24 +01:00
Ricardo Pardini
ca4fe3da9a radxa-nio-12l: enable build u-boot from sources
- using family code
2026-01-08 12:30:24 +01:00
Ricardo Pardini
91b2454496 genio: export (from the image) bins needed for flashing
- so regular armbian/build users can get them in `output/images`
2026-01-08 12:30:24 +01:00
Ricardo Pardini
8c727d0f3a genio: implement complete OPTEE/u-boot/TF-A (x2)/FIP build
- genio: implemented complete bootloader build according to Collabora's scripts
  - main difference from other similar stack is that TF-A builds final FIP, not u-boot
  - thus I first disable ATF build initially, then build it in hook
  - alternatively: we could build our own FIP, but that would diverge too much
  - declare functions inside hook so hashing does all the versioning automatically
- write_uboot_platform() is a no-op; don't write bootloader to image
- ensure bootloader _builds_ across bookworm/trixie/jammy/noble/resolute
  - keep in mind original code is for bookworm (tested to build and work on trixie)
  - need to juggle the `-Wl,` prefix on LDFLAGS
    - this is not mainline ATF and it does "stupid with flags"
- genio: u-boot: always clean optee & first atf build before building
  - so one can switch build host with `DOCKER_ARMBIAN_BASE_IMAGE` (UFS...)
- genio: u-boot: using `armbian/mtkbin` repo
  - outputs fip.img & lk.bin directly to output(/images)
  - disk images do _not_ contain any bootloader
2026-01-08 12:30:24 +01:00
Ricardo Pardini
48237dda3f genio: u-boot: patches: rewrite Collabora patches 2026-01-08 12:30:24 +01:00
Ricardo Pardini
d6b1aedb52 genio: u-boot: patches: cosmetic formatting fixes on top of Collabora
- small hack to get around stupid "From xx" parsing in Armbian patcher
- also: fix attribution in `0023-watchdog-mtk_wdt-Correct-maximum-timeout-from-15-to`
2026-01-08 12:30:24 +01:00
Ricardo Pardini
8794a26af3 genio: u-boot: patches: ATF patches from Collabora (pristine)
- From https://gitlab.collabora.com/mediatek/aiot/boot/-/tree/main/patches/trusted-firmware-a at bc779c20dd5ea72a9f3edd248eb08460e3c837b6
2026-01-08 12:30:24 +01:00
Ricardo Pardini
121c89763a genio: u-boot: patches: vendor u-boot patches from Collabora (pristine)
- from https://gitlab.collabora.com/mediatek/aiot/boot/-/tree/main/patches/u-boot at 2db9a7b3f8c9c2141af6a01dd9372dbba809cf95
- I can see atleast one is a bit malformed so commit separately
2026-01-08 12:30:24 +01:00
Igor Velkov
94dd1fef1f fix for uninitialized variable 2026-01-08 12:29:01 +01:00
Igor Velkov
c580068245 enable btrfs support in uBoot 2026-01-08 12:29:01 +01:00
Igor Velkov
6bc25ea2c2 feeding rabbit 2026-01-08 12:29:01 +01:00
Igor Velkov
c60f78e0ec Helios64: update uBoot to v2026-01-rc5
- Switched to the binman-atf-mainline scenario with the same rkbin DDR blob
    rk3399_ddr_933MHz_v1.25.bin (TPL blob, as in the old working loader). DRAM init is correct, full
    4 GB visible, Linux boots.
  - U-Boot and DTS updated to v2026.01-rc5. Added MDIO/PHY node and phy-handle in rk3399-kobol-
    helios64.dts, fixing “mdio node is missing”. Disabled i2s2 in the U-Boot DT to avoid rockchip-
    i2s ... Could not register PCM.
  - boot_targets in U-Boot config shortened (mmc1, scsi0, usb0, pxe, dhcp) to avoid env_buf ... too
    small; however, the last built binary still shows the warning (needs rebuild with the shortened
    list or enlarging the buffer).
  - Boot flow: bootstd scans SD (mmc0) and eMMC (mmc1); SD boot works even without mmc0 in
    boot_targets.
  - Other changes: defconfig has CONFIG_ROCKCHIP_EXTERNAL_TPL=y to use the external DDR blob.

Boots.
2026-01-08 12:29:01 +01:00
Werner
660c52bc53
rock-3a: unset BOOTFS_TYPE for non-vendor builds (#9068)
* rock-3a: unset `BOOTFS_TYPE` for non-vendor builds

* unset BOOTFS_TYPE at all

following recommendations from Jianfeng and Ricardo
2026-01-08 12:25:00 +01:00
Igor Velkov
9922402de8 !fixup cleanup 2026-01-08 12:24:18 +01:00