Commit Graph

2626 Commits

Author SHA1 Message Date
cantalupo555
504ccc45d2 fix: replace comm with grep to support uutils coreutils
Ubuntu 25.04+ replaced GNU coreutils with uutils coreutils, a Rust-based
reimplementation of Unix core utilities. These are different projects
with the same package name:

- GNU coreutils 9.x (C) - Ubuntu ≤24.04
- uutils coreutils 0.x (Rust) - Ubuntu ≥25.04

The uutils comm doesn't recognize sort output as sorted, causing
"comm: file is not in sorted order" errors.

Replace comm patterns with:
- grep -vxFf for set difference (lines in B but not in A)
- sort | uniq -d for finding duplicates

These alternatives don't depend on comm, ensuring compatibility
with both GNU and uutils coreutils.
2026-01-02 21:52:32 +01:00
Jianfeng Liu
f01745cfa9 allow build on forky host 2026-01-01 11:06:13 +01:00
tabris
eaac082190 kernel configs - enable EROFS as module, ditto overlayfs & F2FS 2025-12-29 09:16:28 +01:00
Nikita Maslo
1e7ef9d064 fix(rootfs): unset GIT_FIXED_WORKDIR after debootstrap/mmdebstrap clone (#9132)
* fix(rootfs): pass GIT_FIXED_WORKDIR inline to fetch_from_repo

Instead of using 'export GIT_FIXED_WORKDIR' and then 'unset' after,
pass the variable inline to the fetch_from_repo call. This ensures
the variable only exists in the context of that specific command
and doesn't leak into subsequent calls.

This follows the same pattern used in uboot-git.sh and kernel-git.sh.
---------

Co-authored-by: Viacheslav Bocharov <adeep@lexina.in>
2025-12-27 08:15:36 +03:00
Igor Pecovnik
4d60ce08f2 chore: update copyright years to 2026
Update all copyright notices in shell scripts from 2025 to 2026.

## Changes

- **Igor Pecovnik**: 2013-2025 → 2013-2026 (129 files)
- **Ricardo Pardini**: 2023-2025 → 2023-2026, 2020-2025 → 2020-2026 (5 files)

## Additional Improvements

Also updated the backtitle in `lib/functions/configuration/interactive.sh`:
- Changed title from "Armbian building script" to "Armbian Linux build framework"
- Removed docs link for cleaner display
- Uses dynamic year calculation with separate declaration (fixes shellcheck SC2155)
2025-12-25 12:03:34 +01:00
Viacheslav Bocharov
492b96aeeb fix(apt-utils): add fallback for Ubuntu LTS releases without -updates suffix in JSON
Problem: armbian-base-files artifact for jammy fails to build because
apt_find_upstream_package_version_and_download_url() looks for 'jammy-updates'
in https://github.armbian.com/base-files.json, but only 'jammy' key exists.

Root cause:
- For Ubuntu LTS (focal, jammy), code sets package_download_release to '${RELEASE}-updates'
- JSON file from github.armbian.com only has base release keys (jammy, noble, etc)
- jq query returns null for 'jammy-updates'
- Artifact excluded from build matrix after 10 retries

Solution: Add fallback logic
- First try with '-updates' suffix (jammy-updates)
- If not found and release ends with '-updates', retry with base release (jammy)
- This allows using base release data when -updates is not available

Impact:
- Fixes jammy base-files artifact build
- Allows jammy images to build (they depend on this artifact)
- Maintains preference for -updates when available
- No impact on other releases (Debian, non-LTS Ubuntu)
2025-12-22 21:26:37 +01:00
Ricardo Pardini
d4f7046c88 compress-checksum: introduce COMPRESS_OUTPUTIMAGE=zst (#9101) 2025-12-19 13:00:45 +01:00
github-actions[bot]
7828271e27 tools: Bump BATCAT_VERSION from 0.26.0 to 0.26.1 (#9083)
Co-authored-by: igorpecovnik <6281704+igorpecovnik@users.noreply.github.com>
2025-12-17 18:34:07 +02:00
Werner
3d46ef80e0 sunxi: bump edge to 6.18 (#9049)
* sunxi-6.18: make the mess even worse

* fixing one of megis patches and add sunxi 32bit to the mess

* rewrite against 6.18

* fix media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch

* fix media-sun6i-csi-implement-vidioc_enum_framesizes.patch

* fix misc-modem-power-Power-manager-for-modems.patch

* Fix usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch, include rewrite

* fix mmc-sunxi-mmc-Remove-runtime-PM.patch, two hunks no longer apply

* re-extract all of megis patches

* remove unneeded branch

* add note to disabled patch

* auto-generated, out of date

* drop megous drm patches in favor of Jernej's work. disable broken patches

* disable patch which breaks compilation for armhf

* disable breaking patch, rewrite everything

* remove patches unrelated to sunxi family

* fix spi dev compatible patch

* fix tsc2007 patch

* drop mainlined patch, adjust x96 mate T95 eth sd card hack

* remove upstreamed patch

* re-enable no longer broken

* another rewrite to align stuff properly

* adjust various comments in series.conf

* recover lost overlays

* uew5622: fix compilation against Linux 6.18

* fix Add-sunxi-addr-driver-Used-to-fix-uwe5622-bluetooth-MAC-address.patch

* adjust patch subject to make sense

* restore fixup creation
restore overlay prefix on opiz2
this needs to be properly sorted at some point

* bump to 6.18.1
sunxi and sunxi64 build just fine

* fix and re-enable drv-mfd-axp20x-add-sysfs-interface.patch

* rewrite patches
2025-12-16 12:35:24 +01:00
Rolf Leggewie
9f08183a9f lib / rootfs-create: make rm command more robust
this fixes the issue raised in armbian/apa#32
2025-12-13 11:57:01 +08:00
SuperKali
9e1d62fbec rtw88: Add kernel 6.18 support and clean up patch logic (#9041)
- Created patch/misc/rtw88/6.18/ directory with upstream driver patches
- Removed obsolete kernel 6.16 reference from patch conditions
- Updated comment to clarify that RF path detection fix is only needed
  for kernel 6.1.x (upstreamed in 6.18+)

This fixes RTL8822CS WiFi initialization failures on kernel 6.18 where
the driver was not being properly patched due to missing version directory.

Fixes SDIO timeout errors during chip initialization.
2025-12-08 23:58:15 +01:00
Rolf Leggewie
f9cf9ae2ca lib / distro-agnostic.sh: drop chmod on /bin/ping
we are way past buster now (if ever this was needed to begin with)
2025-12-07 08:53:57 +01:00
Jesse R Codling
d1fc474d50 Typo fix from @tabrisnet
Co-authored-by: tabrisnet <96966042+tabrisnet@users.noreply.github.com>
2025-12-07 08:49:22 +01:00
Jesse R Codling
9f164a21ce Use docker --version for podman detection 2025-12-07 08:49:22 +01:00
Jesse R Codling
3fb2606d00 Conditionally add volume flags for building with Podman
Use $DOCKER_INFO to check for podman vs dockerd, and conditionally
`exec` and `dev` volume options, which are needed on podman but not
allowed on dockerd.
2025-12-07 08:49:22 +01:00
Jesse R Codling
3aea2de999 Add needed volume mount opts for Docker/Podman
It hasn't been an issue for Docker because their defaults didn't
conflict, but Podman mounts volumes with nodev (and formerly noexec) by
default, which would break the build. Adding `dev` and `exec` to the
volume mount options ensures the needed setting whatever the defaults.
2025-12-07 08:49:22 +01:00
tabris
f53eac4253 framework - enable NTSYNC as a module on most kernels 2025-12-05 19:38:00 +01:00
Igor Pecovnik
43addca1d4 Add compilation of resolve_btfids to the kernel headers postinst script 2025-12-05 19:36:05 +01:00
Igor Pecovnik
43e89b4313 Make pahole as hard dependency on kernel headers 2025-12-05 19:36:05 +01:00
Rolf Leggewie
ca73176bd9 lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: #8966 2025-11-20 19:38:24 +01:00
Igor Pecovnik
b1ee4a5252 Fixing updating submodule 2025-11-18 13:08:18 +01:00
Igor Pecovnik
39d6bc8148 Powere management - make it conditional, enable on UEFI targets, else disabled 2025-11-18 12:01:25 +01:00
Ricardo Pardini
d66aaf8449 jsoninfo: introduce inventory-artifacts cli
- stops after artifacts-reduced and adds kernels.ndjson and uboots.njdson via jq
- if one runs `./compile.sh inventory-artifacts` we shall get:
  - `output/info/kernels.ndjson`: one line for each kernel build
  - `output/info/uboots.ndjson`: one line for each u-boot build
- this is meant as base for other tooling that acts "for each kernel" or "for each u-boot" such as patch/config rewrites, etc
- cli-jsoninfo: better kernels.ndjson; new kernels-duplicate-config.json
  - so we can detect mistakes ref LINUXCONFIG
  - maybe one day the "Rewrite Kernel Config" GHA can re-use kernels.ndjson
- previous commit introduced targets-all-kernels.yaml, so one can run
  - `./compile.sh inventory-artifacts TARGETS_TEMPLATE=targets-all-kernels.yaml`
2025-11-17 12:21:10 +01:00
Ricardo Pardini
f236d317a3 artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables 2025-11-17 12:21:10 +01:00
Tom Urlings
abcb6c947b Enable bootscript templating
- Enable bootscript templating using `envsubst`.
- Add generic bootscript.
- Fix: `test` does not support `==`, but deceptively returns `true` in case you use it.
- De-duplicate kernel commandline console options.
2025-11-17 10:15:23 +01:00