| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: include board BSP files in artifact hash | 3 天前 | |
bsp: align sysctl defaults with linux-sysctl-defaults, apply on upgrade Address review feedback on the shipped 50-default.conf so it is a faithful drop-in for the linux-sysctl-defaults package it now Provides: - kernel.sysrq: 16 -> 438 (0x01b6), the value linux-sysctl-defaults ships on both Debian trixie and Ubuntu. 16 (sync-only) would have disabled REISUB, process kill and stack traces over serial -- the main recovery path on headless SBCs. - fs.protected_regular: 1 -> 2, matching the distro default (on trixie, where the real package is Conflicts-removed, 1 was weaker than the distro value). - add vm.max_map_count = 1048576, which the distro file also ships. - rp_filter: drop the net.ipv4.conf.all.rp_filter line. Effective rp_filter is max(all, per-interface), so forcing .all overrode per-interface choices; the distro package only sets .default. - prefix ping_group_range and net.core.default_qdisc with "-" (failure tolerant) so old vendor kernels lacking ping_group_range / sch_fq_codel do not log a sysctl error on every boot. Correct the header comment that conflated this prefix with the newer glob-exclude syntax. Also switch the BSP postinst from `sysctl -p` to `sysctl --system` so the drop-in under /usr/lib/sysctl.d is applied on package upgrade instead of only on the next boot (`-p` reads only /etc/sysctl.conf). Signed-off-by: Igor Pecovnik <igor@armbian.com> | 16 天前 | |
show-extensions: fix hook-doc rendering (heading marker + btrfs docs) Two rendering bugs on the generated Extension Hooks docs page: 1. The docs formatter emitted the one-line summary as `> <first-comment-line>`. When a hook's inline doc opened with a `#`-prefixed line (e.g. btrfs_root_add_subvolumes), that became `> #text` — a level-1 heading inside a blockquote, which rendered huge and broke the page's table of contents for every hook after it. Strip a leading `#` from the summary so it can never become a heading; also guard the body so summary-only hooks emit no trailing blank. 2. The two btrfs_root_add_subvolumes[_fstab] hook docs were raw shell (comment lines + example commands), not markdown, so they rendered as run-together text. Rewrite them as a prose summary + description + a fenced example. Generated docs are prose (with inline code) as intended; hook doc comments are markdown and should be written as such. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 10 天前 | |
rtl8852bs: move the pin to 643a4990 (no_printk log stubs) wifi-rtl8852bs#27 merged: the CONFIG_RTW_DEBUG=n log stubs expand to no_printk() instead of do {} while (0), so locals used only in log calls stay referenced. Armbian config: -Wunused-variable 45 -> 0, warnings 105 -> 49 on 7.2.4. Verified out-of-tree against 7.2.4 rockchip64 with CONFIG_RTW_DEBUG=n (no new warnings) and =y (builds). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> | 1 天前 | |
u-boot: get the initial bare git tree from a premade ORAS gitball - compile_kernel has pulled a premade git tree from ghcr.io for a while; u-boot has the identical worktree architecture but was still cold-cloning mainline on every empty cache. - The producer side (armbian/shallow) now publishes a single tree seeded with mainline u-boot -- 'master' plus all 533 tags, which is what makes the 'tag:vYYYY.MM' boards a cache hit -- and Radxa's next-dev* branches under 'radxa/*'. Measured: 387 MiB, one packfile. This pulls it. - There is no shallow/full decision for u-boot and so no interactive prompt; one complete tree serves every board. Every *other* u-boot fork Armbian builds (TI, SolidRun, NXP, Xilinx, hardkernel, orangepi-xunlong, CoreELEC, ...) keeps fetching into this same shared tree -- not seeded, but landing on top of mainline's history, so those fetches stay small. - The download/extract/marker logic moves to general/git-oras-tree.sh, taking explicit arguments rather than the five outer-scope variables that kept it kernel-only. kernel_prepare_bare_repo_from_oras_gitball becomes a wrapper (keeping its guards, which assert the decide-function ran) and download_git_kernel_gitball_via_oras is gone, single caller. - The helper adds one thing the Kernel version did not have: replacing a bare tree orphans every worktree registered against it, and fetch_from_repo then dies at git.sh:201, "Bare repo worktree gitdir not found". So the worktree directory's *contents* are purged alongside. Contents only -- these are Docker mountpoints and removing the directory itself is EBUSY in-container. This also fixes the same latent failure on the Kernel path. - `GIT_ORAS_TARBALLS_SHALLOW_BASE_REF` (kernel and u-boot alike) resolves the long-standing "@TODO allow changing this" on base_oras_ref. It selects a mirror, not content. Use if you need to work on the tarballs themselves or use a separate source. - Assisted-by: Claude Opus 5 <noreply@anthropic.com> | 2 天前 | |
oci: link pushed packages to their GitHub repository GHCR connects a package to a repository automatically only when it is pushed with GITHUB_TOKEN. Armbian's CI pushes with a PAT, because the builtin token cannot write org packages, so none of these packages are linked to anything -- and an unlinked package inherits no repository access permissions, which is why reading them needs a bespoke PAT rather than just being a member of the org. Add org.opencontainers.image.source alongside the description annotation that is already set, derived from the OCI coordinates: ghcr.io/armbian/os/kernel-meson64-current:VER -> https://github.com/armbian/os Only for ghcr.io (the link is a GHCR feature) and only when a repo namespace is actually present -- a flat ghcr.io/<owner>/<package> is skipped rather than pointed at a repository that does not exist. OCI_SOURCE_URL overrides, or set it empty to skip. This does NOT make packages public. GitHub publishes every new package as private and exposes no API to change that; visibility is a web-UI action and is one-way. This fixes the permissions half only. armbian/ci#64 reports the private ones so the manual flip stays visible. Verified against every coordinate shape in use: armbian/os/* and rpardini/armbian-git-shallow/* derive correctly, armbian/cache-kernel/* resolves to a repository that exists, and the legacy flat ghcr.io/armbian/<package>, docker.io, and a registry with a port are all skipped. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 1 天前 | |
docker: drop the commented-out base image alternatives DOCKER_ARMBIAN_BASE_IMAGE is overridable, so the list of past defaults carried no information the variable does not already give. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 20 天前 | |
show-extensions: fix hook-doc rendering (heading marker + btrfs docs) Two rendering bugs on the generated Extension Hooks docs page: 1. The docs formatter emitted the one-line summary as `> <first-comment-line>`. When a hook's inline doc opened with a `#`-prefixed line (e.g. btrfs_root_add_subvolumes), that became `> #text` — a level-1 heading inside a blockquote, which rendered huge and broke the page's table of contents for every hook after it. Strip a leading `#` from the summary so it can never become a heading; also guard the body so summary-only hooks emit no trailing blank. 2. The two btrfs_root_add_subvolumes[_fstab] hook docs were raw shell (comment lines + example commands), not markdown, so they rendered as run-together text. Rewrite them as a prose summary + description + a fenced example. Generated docs are prose (with inline code) as intended; hook doc comments are markdown and should be written as such. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 10 天前 | |
rootfs: harden chroot apt against transient fetch failures A DNS/proxy outage made every `apt-get update` index fetch fail ("Temporary failure resolving deb.debian.org", via the acng proxy), but the build sailed past the failed update and only blew up later at install with a misleading "E: Unable to locate package mesa-utils ..." (gnome rootfs, trixie). Add two options to every chroot apt invocation (chroot_sdcard_apt_get): - Acquire::Retries=3 - retry transient download/DNS blips instead of dying on the first miss (apt has no retry otherwise). - APT::Update::Error-Mode=any - make `apt-get update` fail hard when any index fails, so the build aborts at update with the real cause instead of continuing with empty lists and failing confusingly at install. Command-line -o options only; nothing is written into the image. Signed-off-by: Igor Pecovnik <igor@armbian.com> | 1 个月前 | |
rootfs-image: move `pre_install_distribution_specific` inside `install_distribution_specific()` - so we can get proper logging (`install_distribution_specific()` is run via `do_with_logging`) | 1 个月前 | |
bsp/common: apply the cpufreq boost flag from cpufrequtils OPPs marked turbo-mode stay hidden until the cpufreq boost flag is set, so writing a turbo frequency to scaling_max_freq is clamped without an error. Raise the flag from a new BOOST key before the governor and the limits are applied. It defaults to false, so no board changes behaviour unless it opts in. Signed-off-by: SuperKali <hello@superkali.me> | 16 天前 |