Compare commits

...

1183 Commits

Author SHA1 Message Date
Igor
d24b6df2d7 Change remaining variables of base-files 2023-05-17 13:32:02 +02:00
Ricardo Pardini
288143839f introduce armbian-base-files artifact, which downloads & repacks base-files from upstream distro
- bsp-cli: now depends on `base-files (>= ${REVISION})`, this way upgrading the bsp-cli causes our base-files to be installed
  - bsp-cli no longer does gymnastics with /etc/os-release et al, all done in armbian-base-files now
- general/apt-utils.sh: introduce `apt_find_upstream_package_version_and_download_url()`
- base-files: add release to version, in order to comply with repo restrictions (valid repos can't have two different debs with same name and version, md5 must match)
2023-05-16 20:48:48 +02:00
Ricardo Pardini
e3a4060595 github-actions: more logging for GHA actions outputs 2023-05-16 20:09:47 +02:00
Ricardo Pardini
27a021d193 oci-oras: retry harder, and sleep for more time, if push failed 2023-05-16 20:09:47 +02:00
Ricardo Pardini
f26a41ff6c rootfs/image: introduce new hook custom_apt_repo() (hashed into rootfs version); deploy different repo components/custom repos depending on rootfs or image
- rationale: we don't want an eternal chicken-egg problem with rootfs vs repo.
  - but, desktop rootfs require some parts of repo. case in point: `system-monitoring-center`
    - so only add certain components of repo (-desktop, -utils) to rootfs so that is honored
- introduce `custom_apt_repo()` hook for extensions to add their repos as well
  - same chicken-egg-avoiding is possible via param `CUSTOM_REPO_WHEN`
2023-05-16 20:09:47 +02:00
Ricardo Pardini
9943e9ee66 artifacts(debs): include DEBIAN/md5sums and a correct Installed-Size: field in DEBIAN/control (for _all_ debs) 2023-05-16 20:09:47 +02:00
Ricardo Pardini
b456554610 artifacts(debs): rationalize "bash hash" creation with new calculate_hash_for_bash_deb_artifact() helper 2023-05-16 20:09:47 +02:00
Ricardo Pardini
eff56a7909 pipeline: debs-to-repo (v7, working with reprepro)
- pipeline: artifacts: use better description for artifacts (artifact_name+artifact_version instead of artifact_final_file_basename)
2023-05-16 20:09:47 +02:00
Ricardo Pardini
52fffdda75 kernel-debs: include "Priority: optional" in all kernel debs (all other packages have it...)
- also for `fake_ubuntu_advantage_tools`
  - also include "Section: " missing for advantage
2023-05-16 20:09:47 +02:00
Ricardo Pardini
807be60c6b artifacts-obtain: deb-tar: don't download .tar again if .debs are in-disk; delete .tar after extracting 2023-05-16 20:09:47 +02:00
Ricardo Pardini
ca46f86dec artifacts: download-artifact CLI. makes sure to only used local .deb, or download from OCI, never build 2023-05-16 20:09:47 +02:00
Ricardo Pardini
1fa54e030d artifacts: include the artifact maps info (debs/packages) both as keys and values in the artifact JSON info
- this is valuable for the debs-to-repo process; we can now know which exact .debs are produced, and all the ways we can refer to them
2023-05-16 20:09:47 +02:00
Ricardo Pardini
234232085d docker: remove dead code 2023-05-16 20:09:47 +02:00
tdleiyao
211ce5ede5 rockchip-rk3566:add new board Panther X2 2023-05-16 19:50:14 +02:00
Igor
f1ab301d38 Bump Allwinner and update associated kernel configs 2023-05-16 19:48:13 +02:00
Igor
de226c1a9a Enable "current" kernel branch for Rock3A
Signed-off-by: Igor <igor@armbian.com>
2023-05-16 19:00:02 +02:00
Ricardo Pardini
88cc3a061f drivers: uwe5622 for 6.3.y, by @paolosabatino 2023-05-16 08:55:33 +02:00
Ricardo Pardini
906ca66430 rockchip64/edge/6.3: rebase/rewrite patches against v6.3.1; do archeology for mbox-less patches; materialize overwrites
- materialized overwrites:
  - `add-board-helios64.patch`
  - `add-board-orangepi-r1-plus.patch`
  - `add-driver-for-Motorcomm-YT85xx+PHYs.patch`
  - `add-board-rk3328-roc-pc.patch`
- not touched: wifi patches, those still require work before rebase is consistent.
  - `wifi-4003-uwe5622-adjust-for-rockchip.patch`
    - this patch is done on top of the wifi drivers patches exclusively, and fails to apply out of tree.
    - we should probably consider moving this into the wifi drivers patch harness, not in the rockchip tree.
2023-05-16 08:55:33 +02:00
Igor Velkov
9b68c4e42a Add support for nilfs2 fs based image
Signed-off-by: Igor Velkov <iav@iav.lv>
2023-05-16 08:51:05 +02:00
Ricardo Pardini
78700cf139 logging/retries: curb CI/GHA warning emitted _for each retry_ 2023-05-15 17:43:25 +02:00
Ricardo Pardini
c351936cb0 binfmts: hide output when loading qemu-arm under aarch64 (some are native, some are emulated, all are good, errors can be ignored) 2023-05-15 17:43:25 +02:00
Ricardo Pardini
1f26121528 logging/rockchip64_common: curb warning about BOOT_SOC vs BOOTCONFIG if BOOTCONFIG is empty or 'none'
- we've enough warnings already
2023-05-15 17:43:25 +02:00
Ricardo Pardini
ceea84ff28 logging: curb warning that always came up when SRC_EXTLINUX=yes
- SRC_EXTLINUX is quite prevalent, no use warning, it was more a debugging marker
2023-05-15 17:43:25 +02:00
Ricardo Pardini
f0f9159faa logging: curb CI/GHA special errors for cascading errors during build failure
- otherwise we get 4 errors for each "error" in CI
  - one for the real error
  - one for "wait for cleanups"
  - one for "Docker build failed"
  - one from GHA itself since command failed (we can't get rid of this)
2023-05-15 17:43:25 +02:00
Ricardo Pardini
25929ea6ac apt_purge_unneeded_packages_and_clean_apt_caches(): count files, don't use du: avoid WARNs when not needed; tolerate 1 file
- 'lock' might or not be there, tolerate 1 file (not 0)
2023-05-15 17:43:25 +02:00
Ricardo Pardini
99e065381a squash more warnings:
- `odroidxu4`'s firmware hook for vendor kernel. such is life, no use warning.
- `sun50iw9`: vendor kernel with extension, proven working, stop warning
- old kernels don't have working headers, it's a fact of life, remove warning
2023-05-15 17:43:25 +02:00
Ricardo Pardini
7025418c8b mt7623: remove packages/extras-buildpkgs/mmc-utils/debian/rules install that does not exist anymore (fixes bananapir2)
- remove ancient `family_tweaks` completely
2023-05-15 17:43:25 +02:00
Ricardo Pardini
d164f6850b rootfs/aggregation/helios64: fix: include PACKAGE_LIST_BOARD_REMOVE (and FAMILY version) into rootfs' artifact_input_variables
- `PACKAGE_LIST_BOARD_REMOVE` is used only in `helios64` board
- the fact is `PACKAGE_LIST_BOARD_REMOVE` removes the packages _from the rootfs_ and not _from the image_
  - this only accounts for that fact, but in the future we should actually change how this works
2023-05-15 17:43:25 +02:00
Igor
35d5ae75ff Add to EDGE to and enable EDGE kernel in board config
Tested for building.
2023-05-15 17:33:03 +02:00
Bochun Bai
9c4f0524e0 add dts patch for kernel 6.1 2023-05-15 17:33:03 +02:00
Bochun Bai
3cb92f6204 add support for NanoPi R4SE 2023-05-15 17:33:03 +02:00
amazingfate
df3c7eb461 use the same patch dir for u-boot from radxa 2023-05-15 17:12:20 +02:00
Igor
8ac568102e Switch Rockchip CURRENT to 6.1.y 2023-05-15 17:12:06 +02:00
Igor
615c7c3e71 Update boot loader on Orangepipluse 2e
Current is a bit unstable, so this can't hurt. Survived several reboots.
2023-05-14 21:29:33 +02:00
Ricardo Pardini
295f95d9f6 rpi4b/legacy: update legacy 5.15 kernel config, no changes 2023-05-14 21:28:58 +02:00
Igor
66c2e769ae Update. Now both boots 2023-05-14 21:28:58 +02:00
Igor
215e3ebd27 Update edge too 2023-05-14 21:28:58 +02:00
Igor
f0236e98f6 Update RPI4 kernel config 2023-05-14 21:28:58 +02:00
Werner
7c24318a28 Create sun8i-v3s.txt 2023-05-09 10:05:58 +02:00
Werner
e62f03dd10 Update sun8i-v3s.conf 2023-05-09 10:05:58 +02:00
hzyitc
76378d313b ISSUE_TEMPLATE: bugreport: Require log URL instand of some parts
The full log make debug easier.
2023-05-09 10:05:46 +02:00
Pander
11c967322d installer prompt fix 2023-05-09 10:05:23 +02:00
Ricardo Pardini
e49d91ec40 popular demand: bring back KERNEL_CONFIGURE=yes *during image build*
- partially revert 6ef394d95d (thus bring back the TUI/dialog for selecting KERNEL_CONFIGURE=yes/no)
- partially revert d890b418c7 (thus bring back the capacity to config & build image in one go)
- stop after configuring kernel, but only if command is `kernel-config`, not regular image-build KERNEL_CONFIGURE=yes
2023-05-09 10:05:09 +02:00
Ricardo Pardini
83e35b1473 binfmts: don't raise warning if qemu-arm failed to load under aarch64 (some are native, some are emulated, all are good)
- reported by @igorpecovnik on Discord, during massive CI build, when armhf builds landed on arm64 builders
2023-05-09 10:04:57 +02:00
Ricardo Pardini
8f14f33f78 logging: squash undue warnings rootfs/aptcache
- rootfs is built with BOARD= so just live with it (idea about this warn was that families might hook rootfs build process)
- count, instead of du, apt caches. seems some empty dirs are reported as "1Mb" by du?
2023-05-09 10:04:57 +02:00
Ricardo Pardini
5316c6685b host-utils: more logging for when junk is found in image apt caches 2023-05-09 10:04:57 +02:00
Ricardo Pardini
b18cd8aaf4 logging: curb some warnings into info's 2023-05-09 10:04:57 +02:00
Ricardo Pardini
ab696d0776 rootfs: bump non-desktop tmpfs_estimated_size from 2000mb to 2300mb (determined empirically, after building all images) 2023-05-09 10:04:57 +02:00
Ricardo Pardini
b7c659c0a9 pipeline: gha: fix IMAGES_ONLY_OUTDATED_ARTIFACTS and SKIP_IMAGES by exporting them so Python can see; tune logging 2023-05-09 10:04:57 +02:00
Ricardo Pardini
637c4fec01 include (clean/real) apt lists in built images; update xapian index during image build, not rootfs; don't leave junk in the rootfs cache
- revert #5139 Revert "Apt lists is needed for synpatic index generation"
  This reverts commit 63e9bd3baa
  - this actually only left junk in rootfs cache for the future to find
2023-05-09 10:04:50 +02:00
Igor
3b6598c3c2 Enable BOOT_SCENARIO="tpl-spl-blob" also on Kedge 2023-05-09 10:04:41 +02:00
Paolo Sabatino
5342449e6b rk322x: add emmc and sdmmc pwrseq 2023-05-08 11:30:19 +02:00
Paolo Sabatino
3b3e3405bc rk3399: minor rework of patches triggering warnings 2023-05-08 11:21:55 +02:00
Ricardo Pardini
a872fe8773 config-prepare: config_pre_main(): try to be more helpful when BRANCH is unset or wrong instead of just "bad KERNEL_MAJOR_MINOR" 2023-05-08 11:21:47 +02:00
Ricardo Pardini
6d3364673a rockchip64_common.inc: fix escaping for test in subshell
- this emits errors early if BRANCH is not set
2023-05-08 11:21:47 +02:00
amazingfate
495d35be49 fix unidiff warning from patches of rockchip64-6.3 2023-05-06 12:55:10 +02:00
amazingfate
85bab47bba bump rockchip64 edge to v6.3 2023-05-06 12:55:10 +02:00
amazingfate
0b5dc0c921 fix uwe5622 for kernel v6.3 2023-05-06 12:55:10 +02:00
Igor
5ce81c6bb8 Fix rockpi-n10 and station-p1 uboot spi image creating 2023-05-06 10:54:55 +02:00
Igor
63e9bd3baa Apt lists is needed for synpatic index generation 2023-05-05 19:37:19 +02:00
amazingfate
8a6d76831a fix rock4 boards uboot spi image creating 2023-05-05 19:36:47 +02:00
Igor
fb328bf4da Move RISCV uefi status to WIP as this is closer to reality 2023-05-05 16:41:52 +02:00
Igor
e62ae0fcd0 Enable SECCOMP on Visionfive2 kernel config
This will fix chrony

https://forum.armbian.com/topic/28142-visionfive-2-chrony-doesnt-run-kernel-missing-seccomp
2023-05-05 12:34:52 +02:00
Michał Dziekoński
7167d5c420 sunxi-6.2 h616: Fix thermal zones (add missing trips) 2023-05-05 12:27:14 +02:00
Michał Dziekoński
613234a75c sunxi-6.1 h616: Fix thermal zones (add missing trips) 2023-05-05 12:27:14 +02:00
Julian Sikorski
f543927a46 Update odroidxu4-current to 5.4.242 2023-05-05 12:26:58 +02:00
amazingfate
5dee9ee935 remove twice declared uboot make targets for rkspi image 2023-05-05 12:25:07 +02:00
amazingfate
cf35a151b3 disable spi flash support on radxa e25 2023-05-05 12:24:51 +02:00
igorpecovnik
730c34f677 Updating text 2023-05-05 12:24:19 +02:00
hzy
2e41d350e8 meson: edge: bump to linux-6.3.y 2023-05-05 12:23:46 +02:00
Igor
97be075d56 Limit execution to main branch only 2023-05-04 16:44:44 +02:00
Ricardo Pardini
de8bbcec11 pipeline: correctly quote params passed over pure strings (eg in the GHA JSON matrixes) so values with spaces are not mangled 2023-05-04 16:08:11 +02:00
Ricardo Pardini
1b36bb63d7 bash_declare_parser: parse space-separated single-quoted array values correctly ('THIS=has space' is a single token, not two) 2023-05-04 16:08:11 +02:00
Ricardo Pardini
875960ddb7 aggregation: armbian_utils.parse_env_for_tokens() now actually does what it said on the box "split by whitespace, line breaks, commas, and semicolons"; add appgroups summary 2023-05-04 16:08:11 +02:00
Ricardo Pardini
1ad9f7cbd2 artifact-rootfs: add desktop info (environment, config_name, appgrous) to artifact_version_reason (so we can debug when I mess up later) 2023-05-04 16:08:11 +02:00
Ricardo Pardini
7c0fb70a2b configdump: alias config-dump, config-dump-json and new config-dump-no-json (bash declare format) 2023-05-04 16:08:11 +02:00
Ricardo Pardini
0ff694cfbd produce_repeat_args_array: @mhoffrog was right, we need to quote repeat params; (here I'm being stubborn and only quoting the ones that have spaces in them) 2023-05-04 16:08:11 +02:00
Pander
9ed24a6e86 extension fake-vcgencmd 2023-05-03 15:10:18 +02:00
Ricardo Pardini
ad05ef1d6c de-EOS prematurely-EOS'ed boards (I hope) 2023-05-03 15:09:56 +02:00
Ricardo Pardini
73e9c89807 docker: fix: always mount .docker/config.json if it exists (in GHA) 2023-05-03 15:09:56 +02:00
Ricardo Pardini
6ef394d95d kernel: get better rid of KERNEL_CONFIGURE, remove UI asking for it, it's now a separate command kernel-config and wouldn't work anyway 2023-05-03 15:09:56 +02:00
Igor
bc5329ec84 Disable pinning policy but while leave example
It should not be needed anymore since we re-pack those packages
https://github.com/armbian/scripts/pull/44/files
2023-05-03 15:09:36 +02:00
AGM1968
250a9c2cc0 h616 Cpu frequency scaling (#5123)
* Add-h616-efuse_xlate-cpu-freq-scaling

* series_additions_h616-cpu-freq-scaling

* series_armbian_changes_h616-cpu-freq-scaling

---------

Co-authored-by: AGM1968 <AGM1968@users.noreply.githib.com>
2023-05-03 09:35:53 +02:00
Ricardo Pardini
724a67d3e5 pipeline: cli: add proper gha- prefix to CLI commands that have something to do with GitHub Actions (thus gha-matrix now, and the new gha-template)
- stop at the correct places for `inventory` and `targets` non-GHA-specific commands
- handle `gha-template` first (and return), since it does not really depend on any info/targets/etc
  - batcat the output for show-off
2023-05-03 07:49:53 +02:00
Ricardo Pardini
23a2b34847 pipeline: add output-gha-workflow-template.py utility, for rendering GHA workflow YAML templates with chunks
- python-tools: add Jinja2. Incredible how we made it this far without it.
- output-gha-workflow-template: a double-templater, first runs jinja with a custom syntax, then "moar magic" to be useful for GHA
2023-05-03 07:49:53 +02:00
Ricardo Pardini
0aac5a4945 pipeline: targets-compositor: whole target can be enabled: no to quickly disable it (as if it wasn't there) 2023-05-03 07:49:53 +02:00
Ricardo Pardini
46cd0a2cfc pipeline: output-gha-matrix: directly GHA-output images-chunk-json-2, images-chunk-not-empty-2, images-chunk-size-2 and artifacts-xxx with no fake entry
- as alternative to the full output, this allows us to skip chunkjobs when they're empty, and hopefully makes GHA-JSON-parsing 10x faster
2023-05-03 07:49:53 +02:00
Ricardo Pardini
d6bdf4221e pipeline: output-gha-matrix: new input.pipeline.gha.runners in the targets.yaml for mapping GHA's runs_on based on name and arch 2023-05-03 07:49:53 +02:00
Ricardo Pardini
4bf98ebfab artifact kernel/uboot: add ARCH to artifact_input_variables; used for (maybe) mapping to runner tags in JSON pipeline 2023-05-03 07:49:53 +02:00
igorpecovnik
ba1a84a5e8 Adjusting ORAS cache location, runners (#5129)
* Move packages to new location
* Adjust build runners
* Switch to OS

Signed-off-by: Igor <igor@armbian.com>
---------

Signed-off-by: Igor <igor@armbian.com>
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
2023-05-02 11:08:34 +02:00
Vyacheslav Bocharov
64f434ab33 Revert "fix rtl88x2cs compilation for kernel 6.3" as fixed in rtl88x2cs repository.
This reverts commit dc9f751012.
2023-05-02 12:04:51 +03:00
Ricardo Pardini
3767729dc5 rootfs: add artifact name prefix and EXTRA_ROOTFS_NAME suffix (for extensions), yyyymm one-per-month auto-version in place of REVISION for artifact version
- rootfs is not a deb package, and thus not subject to the same strict ordering rules of `artifact_prefix_version`
  - replace with `yyyymm` (`202305`) in version so we get one-per-month automatically
2023-05-01 22:47:12 +02:00
Ricardo Pardini
f992dcd466 git-ref2info: retries for getting Makefile body (https://raw.githubusercontent.com has been failing a lot) 2023-05-01 22:47:03 +02:00
Ricardo Pardini
d890b418c7 kernel/uboot/atf: introduce kernel-patch, uboot-patch, atf-patch, uboot-config, kernel-config CLI commands; enhanced manual patching; block deprecated ways
- all interactive commands now **don't build the artifact** anymore; just patches/.configs are produced and then build ends
  - user is required to put the produced patches in the right place and build again, for full consistency
- split ATF and U-BOOT manual patching process; use CLI command `atf-patch` to patch ATF, and `uboot-patch` to patch u-boot
- non-interactive artifact builds are now 100% sans-stdin
- introduce `uboot-config` CLI command; still experimental, only produces a defconfig and not a patch
- reworked `userpatch_create()` to be (hopefully) more useful:
  - detects a previous patch and offers to apply it before continuing
  - enters a loop showing the diff, and only proceeds when user indicates he's happy with the patch
  - produces `mbox`-formatted patches via `format-patch` and standard Armbian parameters
  - uses MAINTAINER and MAINTAINERMAIL instead of git configuration (so it works in containers)
- don't allow image builds with any patching or configuring _at all_ (it has been deprecated with a warning for months already, and results are inconsistent)
2023-05-01 22:46:55 +02:00
Ricardo Pardini
f860106a2a jetson-nano legacy: give up on this legacy and remove it; fixes #5117 2023-05-01 22:46:43 +02:00
Ricardo Pardini
145ae8472c jetson-nano legacy: try, and fail, to fix this legacy; (does NOT) fixes #5117
- `jetson-nano` `legacy`: kernel config: `CONFIG_SECTION_MISMATCH_WARN_ONLY=y`
- `jetson-nano` `legacy`: add `-mno-outline-atomics` to fix linking
- `jetson-nano` `legacy`: add `xxd` host-dependency
- `jetson-nano` `legacy`: downgrade _a lot_ of gcc errors to allow this legacy to build
2023-05-01 22:46:43 +02:00
Ricardo Pardini
f77edd0591 rtl8822bs: fix: remove binaries (firmware?) being added to kernel driver source and breaking patching; related to #5117 2023-05-01 22:46:43 +02:00
Ricardo Pardini
e74ab59f48 kernel-make: introduce KERNEL_EXTRA_CFLAGS; fill it to add to what's passed to KCFLAGS; related to #5117 2023-05-01 22:46:43 +02:00
Ricardo Pardini
ab0eb4936d macchiatobin-doubleshot: fix u-boot/atf build: export SCP_BL2 had been wrongly converted to declare -g SCP_BL2 when it is in fact required; fixes #5116 2023-05-01 22:46:43 +02:00
Ricardo Pardini
30737fa6f4 rockchip: completely remove legacy branch; fixes #5118
- there's absolutely no point in trying to keep this alive, current/edge are good enough, legacy's abandoned for years and broken
2023-05-01 22:46:43 +02:00
Ricardo Pardini
a84d4f079e rk3399-4.4: remove mbox-confusing long explanation from ancient patch in ancient kernel; possibly fixes #5119 2023-05-01 22:46:43 +02:00
Ricardo Pardini
369eb80f9c driver_uwe5622_allwinner: only apply "pre-6.1" park-link patch if kernel >= 5 (eg: not for rockchip64-legacy); possibly fixes #5120 2023-05-01 22:46:43 +02:00
Ricardo Pardini
84164c4012 rockchip64_common: add explicit make target u-boot.dtb before u-boot.itb in the target map for SPI; fixes #5114
- when `BOOT_SUPPORT_SPI=yes` (and not using the rkspi_loader)
- it seems the makefile target u-boot.itb does not correctly depend on the u-boot.dtb target, and works "by accident" on multicore machines, which are faster and build it fast enough in parallel. this adds u-boot.dtb to the target map, so make's hand is forced to do the right thing.
2023-05-01 22:46:43 +02:00
Ricardo Pardini
91bb00bfa2 artifact-uboot: fix: include UBOOT_TARGET_MAP in variables hash of version 2023-05-01 22:46:43 +02:00
Ricardo Pardini
c692676da7 kernel-debs: postinst/etc: fix: unify is_boot_dev_vfat() function; make work during image build too via env var
- determinining if `/boot` is vfat is more complex than it looks;
  - use a common function to unify across all scripts
- during image build, the kernel install is always done with a non-fat, non-mounted /boot
  - use a special variable passed through the env so unified function can know ahead of time
  - introduce `extra_apt_envs` param to `chroot_sdcard_apt_get()`; array with extra environment vars
- if vfat /boot:
  - `linux-update-symlinks` is not called (Debian would just choke on this)
  - don't even try to symlink Armbian stuff, move instead
- more/better logging board-side (unfortunately mixed in all the set -x debugs)
2023-05-01 22:46:43 +02:00
Ricardo Pardini
f8ddf7f9e2 🔥 JSON info pipeline: v18
- pipeline: add `pipeline` context object to targets; use it to filter artifacts and images to build; warn about oci-name with multiple oci-tags
- pipeline: better error messages when info's fail; show some (out-of-order) progress messages during parallel info gathering
- pipeline: targets-compositor: add `not-eos` inventory
- TARGETS_FILENAME, log all OCI lookups
- SKIP_IMAGES
- IMAGES_ONLY_OUTDATED_ARTIFACTS
- no dash in chunk id in JSON
- pipeline: very initial chunking, using the same outputs
- pipeline: template targets, `items-from-inventory:` inventory expansion, CHECK_OCI=yes, CLEAN_MATRIX=yes, CLEAN_INFO=yes, many fixes
- cli: `inventory` / `targets` / `matrix` / `workflow`
- pipeline: workflow beginnings
- pipeline: general log cleanup + OCI stats / better miss handling
- pipeline: fixes/reorg
- pipeline: catch & log JSON parsing errors
- pipeline: gha matrix: use IMAGE_FILE_ID as job description
- pipeline (delusion): gha workflow output, based on old matrix code
- pipeline: better parsing and reporting of stderr log lines (under `ANSI_COLOR=none`)
- pipeline: mapper-oci-uptodate: use separate positive/negative cache dirs (GHA will only cache positives); cache negs for 5 minutes locally
- pipeline: output-gha-matrix artifacts + images
  - pipeline: output-gha-matrix artifacts + images: "really" and fake 1-item matrix if empty
- pipeline: move files into subdir; update copyright & cleanup
- pipeline: refactor bash jsoninfo driver a bit
- pipeline: outdated-artifact-image-reducer
- pipeline: introduce `target_id` at the compositor, aggregate it at the reducer, carry it over in the artifact info mapper
- pipeline: mapper-oci-uptodate
- pipeline: info-gatherer-artifact, with PRE_PREPARED_HOST
- pipeline: refactor/rename info-gatherer-image.py
- pipeline: beginnings
2023-05-01 22:46:25 +02:00
Paolo Sabatino
9c6829bccb rk322x: patch legacy kernel makefile to compile with recent gcc 2023-04-30 15:04:08 +02:00
Paolo Sabatino
51b884a441 rk322x: fix patches for rk322x legacy kernel 4.4 2023-04-30 15:04:08 +02:00
Paolo Sabatino
7a5cd0b246 rockchip: fix dtbs_install step for overlays 2023-04-29 07:46:18 +02:00
雷耀
873e719a6c treat rk3566 as rk3568 to make "mkimage" work; introduce BOOT_SOC_MKIMAGE 2023-04-28 21:33:12 +02:00
Ricardo Pardini
64f7ff599a uefi/edge: bump to 6.3 2023-04-28 21:32:52 +02:00
Ricardo Pardini
ba413c9b25 bcm2711/grub: add busybox (for initrd grep/sed) so initramfs-growroot works again on Debian
- bcm2711: bomb early when `RELEASE` is set and not supported
2023-04-28 21:32:52 +02:00
Ricardo Pardini
5f2a1af219 bcm2711/edge: bump to 6.3 (rpi4b, RPi Foundation Kernel) 2023-04-28 21:32:52 +02:00
Ricardo Pardini
506189dd8b rockchip-rk3588/edge: bump to 6.3, drop 6.2 patches 2023-04-28 21:32:52 +02:00
Ricardo Pardini
324953f5d7 rk3568-odroid/edge: bump to 6.3 (odroidm1) 2023-04-28 21:32:52 +02:00
Ricardo Pardini
f25fb7c53c virtual-qemu: move to eos (replaced by qemu-uboot-x86 and qemu-uboot-arm64) 2023-04-28 21:32:52 +02:00
Ricardo Pardini
d9f2ec3255 qemu-uboot-arm64/qemu-uboot-x86: split more x86/arm64 differences, add some docs, bump to u-boot 23.04 +update-patches; add arm64 bootscript 2023-04-28 21:32:52 +02:00
Ricardo Pardini
5ad3caefee extensions: introduce u-boot-menu extension, for use with extlinux
- this is using the default Debian/Ubuntu package, we probably should replace that with our own scripts
2023-04-28 21:32:52 +02:00
Ricardo Pardini
3143db5df4 kernel-debs: call linux-update-symlinks in postinst; expected of Debian-compatible kernels
- this handles /vmlinuz etc symlinks (doesn't know about uInitrd, etc)
2023-04-28 21:32:52 +02:00
Ricardo Pardini
2d2fec85d8 initramfs post-update 99-uboot: add verbose logging, no actual changes 2023-04-28 21:32:52 +02:00
Ricardo Pardini
6417a22151 sun50iw9: don't inadvertently override pre-existing hook function name - fixes #5099 2023-04-28 21:32:52 +02:00
Ricardo Pardini
a1788bb95c imx7d (EOS): codeaurora.org is no more, move to nxp-imx's repos for both kernel and u-boot 2023-04-28 21:32:52 +02:00
Ricardo Pardini
01c49e0cf1 grub: keep u-boot stuff if UEFI_GRUB=yes 2023-04-28 21:32:52 +02:00
Ricardo Pardini
59d6690a11 git-ref2info: many fixes for nonstandard repos; try a few different dereference and refs/ combinations in a certain order; remove codeaurora repo handling
- git-ref2info: when resolving SHA1's for 'xxx' tag or branch, try first `refs/heads/xxx`, then just 'xxx'; validate SHA1 with 40-char regexp
  - this works-around Gerrit-style repositories that have a 'refs/for/xxx' ref that gets in the way
  - case in point: https://github.com/hardkernel/u-boot/tree/odroidc-v2011.03 (has both refs/heads/odroidc-v2011.03 and refs/for/odroidc-v2011.03)
- git-ref2info: when processing tags for a SHA1, try both dereference and non-dereferenced, in that order, to get a SHA1
  - this solves old problem reported in #4916: GitHub incorrectly processes dereference requests for tags that are not actually annotated
  - case in point: https://github.com/ayufan-rock64/linux-kernel/releases/tag/4.4.202-1237-rockchip-ayufan
- `codeaurora` is no more, https://bye.codeaurora.org/
2023-04-28 21:32:52 +02:00
Ricardo Pardini
dc9f751012 fix rtl88x2cs compilation for kernel 6.3 2023-04-28 21:32:29 +02:00
Pander
9e5c2ab183 revert vcgencmd addition 2023-04-28 21:04:35 +02:00
Pander
62de7e3523 upgrade vcgencmd without tmp vulnerability and inclusion for bananapim2ultra 2023-04-28 21:04:35 +02:00
Paolo Sabatino
da0ab48b79 rockchip: bump edge kernel to 6.3 2023-04-27 21:31:27 +02:00
Paolo Sabatino
98b6aec554 rk322x: bump edge kernel to 6.3 2023-04-27 21:30:02 +02:00
Paolo Sabatino
0d5fe62403 fix rtl8723cs compilation for kernel 6.3 2023-04-27 21:29:42 +02:00
Paolo Sabatino
8c4a35bfb0 fix rtl88x2bu compilation on kernel 6.3 2023-04-27 21:29:22 +02:00
Paolo Sabatino
f2d9756bb0 fix rtl8812au compilation for kernel 6.3 2023-04-27 21:29:02 +02:00
Paolo Sabatino
c9da5ca219 fix patch 2023-04-27 21:28:10 +02:00
Paolo Sabatino
be0ecb1f16 fix rtl8723du compilation on kernel 6.3 2023-04-27 21:28:10 +02:00
Paolo Sabatino
3e28c86a05 fix rtl8811cu compilation for kernel 6.3 2023-04-27 21:27:49 +02:00
Igor Pecovnik
7c9e85ec25 Bump Allwinner kernels 2023-04-27 07:43:10 +02:00
Igor
94086ff24a Moving to platinum support with cm4
Signed-off-by: Igor <igor@armbian.com>
2023-04-26 11:56:32 +02:00
Igor
37ba149103 Move rock5 to supported 2023-04-26 11:56:32 +02:00
Igor
e9e4d4501c Change two olimex boards to csc, add previously removed radxa zero2 2023-04-26 11:56:32 +02:00
Igor
50e28f4753 Move Radxa zero2 to wip as its not sold yet 2023-04-26 11:56:32 +02:00
Rafal-Hacus
3ed29cdd4e Updated the file extention to reflect on the boards status 2023-04-26 11:56:32 +02:00
Pander
420f16c7ea Installing fake_vcgencmd for Pine64 (#5095) 2023-04-24 16:50:30 +02:00
monkaBlyat
22cab870c8 Disable config_ion for better compatibility with modern android containers like redroid 2023-04-24 14:29:27 +02:00
Ricardo Pardini
b031c686f9 rockchip-rk3588: set ROCKUSB_BLOB for RockUSB Maskrom -> Loader mode 2023-04-24 14:23:21 +02:00
Ricardo Pardini
b3f61a1f7a rockchip-rk3588: add new board mekotronics-r58-minipc.wip (Mekotronics R58 MiniPC, and variants) 2023-04-24 14:23:21 +02:00
Ricardo Pardini
d7a6f80c81 rockchip-rk3588: add new board mekotronics-r58x.wip (Mekotronics R58X) 2023-04-24 14:23:21 +02:00
Ricardo Pardini
e37adb5c8f rockchip-rk3588: add new board mekotronics-r58x-4g.wip (Mekotronics R58X-4G); add u-boot patches 2023-04-24 14:23:21 +02:00
Pander
0d72163868 Fixed execution rights docker.sh 2023-04-22 20:08:26 +02:00
Pander
3c09c2ffbe reduced PNG file size with optipng 2023-04-22 20:08:15 +02:00
Paolo Sabatino
c7740059da rk3328: add patch to enabled pcm5102 DAC on I2S1 bus 2023-04-22 20:08:02 +02:00
Pander
26fb31cfbf require Enter for all promts at first login 2023-04-22 20:07:50 +02:00
Igor
4789113c78 Be more specific which packages to pin as otherwise they are downgraded upon image creation 2023-04-22 20:07:37 +02:00
Igor
9467736a64 Remove doubled swap creation 2023-04-22 10:05:10 +02:00
amazingfate
4266d0bdca rockchip-rk3588: add new board hinlink-h88k 2023-04-22 10:04:58 +02:00
Alban Browaeys
93fb7498c0 Fix helios64 vdd-log supply
vdd-log supply is pwm-supply, not vin-supply.
Fixes vdd-log supply ending up the dummy regulator.

[    1.783479] pwm-regulator vdd-log: Looking up pwm-supply from device tree
[    1.783505] pwm-regulator vdd-log: Looking up pwm-supply property in node /vdd-log failed
[    1.783556] vdd_log: supplied by regulator-dummy

Per https://lore.kernel.org/all/20211227234529.1970281-2-heiko@sntech.de/
there will be no functional change as the supplying regulator is an always-on
fixed-regulator.
2023-04-22 09:57:11 +02:00
Brent Roman
ddfdf75a17 restore RK3308 audio mistakenly removed by 588c2ec17e 2023-04-22 09:56:46 +02:00
Ricardo Pardini
3d2575639d logging: include Repeat Build Args in markdown/ANSI logs 2023-04-21 14:26:33 +02:00
Ricardo Pardini
27d9fdf4bf interactive: sort the params included in Repeat Build Options; don't quote values 2023-04-21 14:26:33 +02:00
Ricardo Pardini
3ffbdfc97c interactive: hide auto-relaunched params from Repeat Build Options 2023-04-21 14:26:33 +02:00
Ricardo Pardini
d0716b65c0 docker/sudo: better control/info over CLI relaunch args; introduce CLI relaunch envs
- allow adding re-launch environments by populating `ARMBIAN_CLI_RELAUNCH_PARAMS` dict
- similar to `ARMBIAN_CLI_RELAUNCH_PARAMS`
- rename/consolidate `()`'s output globals:
  - `ARMBIAN_CLI_FINAL_RELAUNCH_ARGS` (rename)
  - `ARMBIAN_CLI_FINAL_RELAUNCH_ENVS` (new)
    - includes `ARMBIAN_HIDE_REPEAT_PARAMS` automatically
- `sudo`: include envs when relaunching, use bash explicitly
- `docker`: better logging
- `docker`: include envs when relaunching via `--env` args
2023-04-21 14:26:33 +02:00
Ricardo Pardini
9a073d06fb interactive: desktop: use set_interactive_config_value() so user-selected desktop options appear in repeat build args 2023-04-21 14:26:33 +02:00
Markus Hoffrogge
d1252fc0ee interactive: better Repeat Build Options [by @mhoffrog, squashed, rebased]
Add interactive configurations to Repeat Build Options

Simplify function produce_repeat_args_array()

- make use of $ARMBIAN_NON_PARAM_ARGS and $ARMBIAN_PARSED_CMDLINE_PARAMS (associated array)
- quote parameter values to be on the safe side

Move "Repeat Build Options" logs to start-end.sh

- cli-build.sh, start-end.sh:
  - move function function produce_repeat_args_array() to start-end.sh
  - add $WHAT as first arg to produce_repeat_args_array() if
    $WHAT is not empty
  - move early display log of "Repeat Build Options" to
    function main_default_start_build()
  - move last log of "Repeat Build Options" to
    function main_default_end_build()
  - add last log of "Repeat Build Options" to
    LOG_SECTION="repeat_build_options"
2023-04-21 14:26:33 +02:00
Igor Pečovnik
c837ed2c2e Limit execution to branch main 2023-04-21 14:23:13 +02:00
Igor
8a5f07cfba Add Action to execute remote workflow on config changes 2023-04-21 14:23:13 +02:00
amazingfate
97a2e41f62 use common sed for GITHUB_SOURCE replace 2023-04-21 14:21:28 +02:00
Julian Sikorski
014bc261dd Update odroidxu4-current to 5.4.241 2023-04-20 22:31:39 +02:00
Igor
9cdb042199 Bump sunxi to latest version 2023-04-20 16:26:41 +02:00
amazingfate
f81ef8ed21 fix dp alt mode error log message typo 2023-04-20 09:21:55 +02:00
Igor
bc9eb5f14d Fix invalid packages install within families 2023-04-20 09:21:16 +02:00
Igor
0590a70597 Change custom Ubuntu mirror logic
Signed-off-by: Igor <igor@armbian.com>
2023-04-19 20:25:03 +02:00
Ricardo Pardini
2b28f29ebe rootfs/image: avoid apt junk leftover by debootstrap; add warnings and debugs over target cache and general rootfs sizes
- rootfs: rootfs-create: show a summary of the 20 biggest dirs, right before tarring the rootfs (for debugging)
- rootfs: rootfs-create: show usage of caches between first and second stages
- rootfs: rootfs-create: cleanup junk left by `debootstrap` after second stage
- rootfs: rootfs-create: _always_ clean apt stuff at the end
- rename `apt_purge_unneeded_packages()` to `apt_purge_unneeded_packages_and_clean_apt_caches()` for clarity
- image: `apt_purge_unneeded_packages_and_clean_apt_caches()`: warn if apt caches not empty; clean them off, always.
- host-utils: `local_apt_deb_cache_prepare()`: also test the target, warn if not empty
- extension: cleanup-space-final-image: do NOT clean apt stuff. done in core now
- the metric shit-ton of debugs added should help the next person who faces this in the future
2023-04-18 16:27:06 +02:00
Werner
0b90ebc54a Use native xz 2023-04-18 09:29:17 +02:00
Werner
945bb6dff9 Use native xz 2023-04-18 09:29:17 +02:00
amazingfate
115cb80a04 add dockerproxy to accelerate ghcr.io 2023-04-18 09:28:25 +02:00
Ricardo Pardini
321a0cd257 revert: run kernel make through pipetty for _moar colors_ (breaks make menuconfig) 2023-04-18 09:27:38 +02:00
Ricardo Pardini
b73ced7dc0 artifacts: add git SHA1 sanity checking 2023-04-18 09:27:38 +02:00
Ricardo Pardini
8cd830d6e1 memoize-cached: add flock locking to run_memoized() to avoid error when run in parallel 2023-04-18 09:27:38 +02:00
Ricardo Pardini
22059c2669 lib: shellfmt & fix gen-library to match 2023-04-18 09:27:38 +02:00
Ricardo Pardini
ded6d1e319 artifact: rootfs: fix artifact_rootfs_config_dump() with added rootfs pkgs 2023-04-18 09:27:38 +02:00
Igor Pečovnik
bf77c5e8a3 Fix after copy paste 2023-04-18 09:27:09 +02:00
Igor
03a8e8607d Rebuild board selection for generating official images 2023-04-18 09:27:09 +02:00
Werner
283258c8ab sunxi: add support for Wireguard (#5069)
Probably went missing at some point.
2023-04-18 09:04:36 +02:00
Igor
a6897e85a0 Revert "remove apt cache in the rootfs"
This reverts commit 790e673096.
2023-04-17 16:42:36 +02:00
Matthijs Kooijman
da626d1502 armbian-audio-config: Fix muting and controls with spaces
In commit 0aa61abe7 (armbian-audio-config: Massively speed up script)
this script was changed to not call amixer for each control, but just
once for each card, feeding commands for many controls in one invocation
with the `--stdin` option.

In that commit, two errors were introduced:
 - Controls that were intended to be muted were turned on instead. This
   affects the "CD", "Mic" and "Internal Speaker" controls.

   This occured because there is a helper shell function whose arguments
   were renumbered, but the last argument kept the old numbering,
   keeping it always at the default value of "on", even when it should
   have been "mute".

 - Controls with a space in their name would be ignored. In the original
   script, arguments (including these names) were quoted and passed
   separately to the `amixer` command. Now, they are quoted when passed
   to `echo`, but that produces an unstructured line with the quoting
   removed that can no longer be correctly parsed by amixer for names
   with spaces.

This commit fixes both problems be correctly numbering the arguments and
adding an additional layer of quoting.
2023-04-17 13:43:30 +02:00
amazingfate
a0f59bf914 use ghproxy to accelerate memoized_git_ref_to_info 2023-04-17 13:42:53 +02:00
amazingfate
409ce6f362 add ghproxy to GITHUB_MIRROR 2023-04-17 13:42:53 +02:00
amazingfate
790e673096 remove apt cache in the rootfs 2023-04-17 13:42:00 +02:00
Muhammed Efe Çetin
fd6a6dec66 Add support for NanoPi R6S 2023-04-16 16:13:09 +02:00
Igor
730ac1f8ba Create apt priority configuration 2023-04-15 22:48:38 +02:00
Radoslav
88fe8bae61 h3 thermal sensor values fix 2023-04-15 22:47:26 +02:00
Radoslav
55d16b3d26 h3-dth 2023-04-15 22:47:26 +02:00
Radoslav
41260ac309 h3-tve (arm-dts-sun8i-h3-orangepizero-add_tve.patch) 2023-04-15 22:47:26 +02:00
Radoslav
24dcf942f5 OrangePi Zero TV Output kernel patch 2023-04-15 22:47:26 +02:00
Ricardo Pardini
9218401cd8 kernel: fix for 6.3+ linux-headers pkg due to upstream dir change
- extra: run kernel make through `pipetty` for _moar colors_
2023-04-15 22:44:43 +02:00
Ricardo Pardini
a140bf1339 extensions: add v4l2loopback-dkms, very similar to the zfs extension
- Raison d'être: prove `linux-headers` work, at least, minimally
2023-04-15 22:43:33 +02:00
Ricardo Pardini
14286c018c extensions: rkdevflash: switch to using Radxa's fork of rkdeveloptool, which has compile fixes 2023-04-15 22:43:19 +02:00
Ricardo Pardini
f8402a59da extensions: rkdevflash: simplify usage of rkdeveloptool (on Linux only, not Docker) to flash Rockchip images to eMMC 2023-04-15 22:43:19 +02:00
Ricardo Pardini
7ea8e040d0 cli: flash: introduce flash CLI command; introduce hook post_build_image_write 2023-04-15 22:43:06 +02:00
Ricardo Pardini
d59271f903 config: refactor calculate_image_version() out of create_image_from_sdcard_rootfs(), make more flexible, predict IMAGE_FILE_ID during config
- default `IMAGE_INSTALLED_KERNEL_VERSION="generic"` instead of `"linux"`
2023-04-15 22:43:06 +02:00
Ricardo Pardini
664b482b31 artifact: rootfs: fix artifact_rootfs_config_dump() to include all inputs to aggregation
- @TODO: still missing, actually have an EXTRA_ROOTFS_SUFFIX or such, otherwise extensions just pollute the version-space
2023-04-15 22:43:06 +02:00
Ricardo Pardini
953ab276d0 logging: better logging when ANSI_COLOR=none (eg, during info collection) 2023-04-15 22:43:06 +02:00
Ricardo Pardini
ac25ac18be config/extensions: consolidate EXTRA_IMAGE_SUFFIXES array as _the way_ to add to image filename, during configuration
- can add to `EXTRA_IMAGE_SUFFIXES` array during `user_config` or `extension_prepare_config`
- in the end goes into a `EXTRA_IMAGE_SUFFIX` global readonly
- this  simplifies extension code
- we still can't "predict" image names during configuration since it includes the kernel version (6.2.11/generic) which only comes later
2023-04-15 22:43:06 +02:00
Ricardo Pardini
18fa65e6dd artifacts armbian-desktop/armbian-bsp-desktop: fix artifact_base_dir to include ${RELEASE}/ -- otherwise local & remote paths don't match 2023-04-15 22:43:06 +02:00
Ricardo Pardini
d13e3cbff5 artifacts-obtain: add sanity check, after getting remotely, make sure it is indeed available locally 2023-04-15 22:43:06 +02:00
Ricardo Pardini
eb1fe6d7ba artifacts: introduce PRE_PREPARED_HOST=yes: allow running pre-prepared host CLI's for artifacts that require aggregation 2023-04-15 22:43:06 +02:00
Ricardo Pardini
538b8c2b79 artifacts/cli: introduce CLI command artifact-config-dump-json (alias to artifact, but sets CONFIG_DEFS_ONLY=yes)
- if CONFIG_DEFS_ONLY during `obtain_complete_artifact()`, just dump JSON to stdout after calculating version/coordinates
- don't prepare ORAS tooling if CONFIG_DEFS_ONLY
- don't run in standard build (and thus don't prepare_host()) if under CONFIG_DEFS_ONLY
- if CONFIG_DEFS_ONLY, don't run `check_basic_host()`
2023-04-15 22:43:06 +02:00
Ricardo Pardini
439882ce7a extensions/grub: use array for pkg list
- also for the media-sbc clone
2023-04-15 22:43:06 +02:00
Ricardo Pardini
e631e0fc97 patching: python: useful debug log with value of BASE_GIT_TAG 2023-04-15 22:43:06 +02:00
Ricardo Pardini
f6f621b9a1 extensions: don't export, declare -g 2023-04-15 22:43:06 +02:00
Ricardo Pardini
0d276c93e9 bsp-cli/distro-agnostic: introduce KEEP_ORIGINAL_OS_RELEASE=yes so Debian/Ubuntu PRETTY_NAME is left unchanged in /etc/os-release
- useful when downstream software wants exact Debian OS
2023-04-15 22:43:06 +02:00
Ricardo Pardini
c30a907e47 python2: lunar also doesn't have python2 anymore (joins sid and bookworm) 2023-04-15 22:43:06 +02:00
Igor
40fa40ebaa Remove optimisation as it breaks on Debian Bookworm
Minimal images doesn't have any of this anyway ...
2023-04-14 00:39:09 +02:00
Igor
046ba3a121 Starfive kernel has some patch issues ... fixing it to last known working kernel. 2023-04-13 20:46:04 +02:00
Igor
10315c4f74 Bump sunxi and disable broken mvebu patch @heisath 2023-04-13 20:46:04 +02:00
Igor
2ab6272ce4 Add xauth package that should fix RDP related issues 2023-04-13 11:36:16 +02:00
hzy
53b8a4b173 meson: Enable more SDIO and USB Wifi support 2023-04-12 14:59:52 +02:00
hzy
ac5a84b5f6 meson: Refresh config 2023-04-12 14:59:52 +02:00
hzy
8e9548c3a4 meson: Enable some net modules 2023-04-12 14:59:52 +02:00
Thomas McKahan
7a075070a3 enable mipi-dsi on Rockchip 2023-04-12 14:59:39 +02:00
Pander
9f0f296f45 enabled kernel modules pine64 for CSI and camera drivers 2023-04-08 14:35:35 +02:00
amazingfate
43b8bed616 appgroup/office: add libreoffice-gtk3 for ime support 2023-04-08 14:35:15 +02:00
Igor
21ee606778 Changing status 2023-04-08 14:34:26 +02:00
Ricardo Pardini
3ec50ea03c orangepizero2/sun50iw9/legacy: actually use NAME_KERNEL=uImage 2023-04-08 14:33:39 +02:00
Ricardo Pardini
90c5a2743a kernel: introduce new hook pre_package_kernel_image; show vmlinuz file magic before/after hook; add -HK hook hash to kernel artifact version 2023-04-08 14:33:39 +02:00
Ricardo Pardini
871415b7b3 arch configs (all): default, but do not overwrite, KERNEL_IMAGE_TYPE/KERNEL_INSTALL_TYPE/etc: allow board/family to set 2023-04-08 14:33:39 +02:00
Ricardo Pardini
1e61b60cf8 orangepizero2/sun50iw9/legacy: implement pre_package_kernel_image hook to convert vmlinuz to uImage manually; fix legacy u-boot build
- sourceaddr `0x40008000` was found in Xunlong's legacy kernel source squashed into a huge commit. Thanks, Xunlong!
- bring `busybox` dependency with inline hook for legacy u-boot "unix2dos" which is essential
2023-04-08 14:33:39 +02:00
Igor
7505671c80 Bugfix: storing revision and not artefact cache version in release file 2023-04-07 19:26:45 +02:00
Ricardo Pardini
bdab9c1cd7 sun50iw9/legacy: armbian-next'ify, add logging, avoid changing global PATH, use host dtc utility, make write_uboot_platform() verbose 2023-04-07 13:00:09 +02:00
Ricardo Pardini
6f57ba64b6 sunxi-tools: bring in gcc-arm-linux-gnueabi hostdep required for building sunxi's boot stages 2023-04-07 13:00:09 +02:00
Igor
00793be73e Bump sunxi 2023-04-06 14:09:45 +02:00
Igor
839e4940ab Bump Allwinner
Signed-off-by: Igor <igor@armbian.com>
2023-04-06 09:55:15 +02:00
Igor
e1fc9b0a4e Changing status 2023-04-06 09:55:15 +02:00
Igor
d1128a6515 Enable CONFIG_EXFAT_FS on remaining kernels 2023-04-06 09:52:59 +02:00
Ricardo Pardini
369e69a553 artifact-armbian-bsp-cli: hash more variables included in /etc/armbian-release 2023-04-04 09:12:48 +02:00
hzy
9341455567 meson: onecloud: Enable USB0 OTG mode 2023-04-03 21:21:17 +02:00
hzy
1dfc55d74f meson: onecloud: Correct eMMC node 2023-04-03 21:21:17 +02:00
hzy
ae4a1747c1 meson: onecloud: Update GPIO descriptions 2023-04-03 21:21:17 +02:00
hzy
30566d6f96 meson: onecloud: Bugfix: Slow ethernet uplink
Not sure why but PHY's TX delay doesn't work, which cause TX
retransmission and slow uplink. So let's use MAC's TX delay.
2023-04-03 21:21:17 +02:00
hzy
689e7d2a61 meson: onecloud: Resort DTS node 2023-04-03 21:21:17 +02:00
Ricardo Pardini
6b1055dc9d uboot: WiP: introduce UBOOT_CONFIGURE=yes -- saves defconfig to output/ folder, nothing else (no patches, etc) 2023-04-03 21:21:03 +02:00
Ricardo Pardini
9b229f25ad artifact-uboot: add hashes for extension and old-timey -Hooks and -Variables hash (BOOTDELAY et al)
- helper for hashing old-timey hooks: `calculate_hash_for_function_bodies()` in `hash-files.sh` cos I'm lazy
2023-04-03 21:21:03 +02:00
dependabot[bot]
ea4e75a79b build(deps): bump ossf/scorecard-action from 2.1.2 to 2.1.3
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/v2.1.2...v2.1.3)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 21:20:48 +02:00
Paolo Sabatino
4d80872e49 rk322x: fix emmc/sdio clock selection 2023-04-03 21:01:38 +02:00
Ricardo Pardini
c4d91fd66f rockchip64_common: refactor: extract BOOT_SPI_RKSPI_LOADER=yes into rock-3a, rock-5b, and orangepi5 (no more such rockchip-rk3588 references in common code) 2023-04-03 11:14:44 +02:00
Julian Sikorski
7ab8245a77 Update odroidxu4-current to 5.4.239 2023-04-01 20:51:31 +02:00
Igor
e986b8c0ee Move lsof package to minimal images as its needed for armbian-install 2023-04-01 20:50:51 +02:00
Igor
e33842ef2c Remove broken font from Ubuntu Lunar
[🐳|🌱] Installing 128 desktop packages [ lunar xfce ]
  [🐳|🔨]   E: Unable to locate package libfontembed1
  [🐳|🔨]   Reading package lists...
  [🐳|🔨]   Building dependency tree...
  [🐳|🔨]   Reading state information...
  [🐳|🔨]   E: Unable to locate package libfontembed1
2023-03-31 13:56:04 +02:00
Igor
b2be0e5a45 Enable non-free-firmware repository for Debian Sid
Addressing:

  [🐳|💥] Error context msg [ Installation of Armbian main packages for sid 3dsupport xfce no failed ]
  Error:  Error context msg Installation of Armbian main packages for sid 3dsupport xfce no failed
  [🐳|🔨]   Reading package lists...
  [🐳|🔨]   Building dependency tree...
  [🐳|🔨]   E: Unable to locate package firmware-sof-signed
2023-03-31 13:21:35 +02:00
Ricardo Pardini
fbc324ec06 artifact-kernel: fix: add -Variables version hashing, including KERNEL_INSTALL_TYPE, KERNEL_IMAGE_TYPE and SRC_LOADADDR amongst others 2023-03-31 12:29:53 +02:00
Ricardo Pardini
6ce9f48885 fix: (uImage change, after #5018): config: fix: replace undue export statements with declare -g; shellfmt 2023-03-31 12:29:53 +02:00
Igor
e599976a35 Bump Allwinner kernels to latest version 2023-03-31 09:45:48 +02:00
Ricardo Pardini
c6e68bf577 meson64: only gxbb and gxl require fetching repo odroidc2-blobs, split hook 2023-03-31 09:37:37 +02:00
Ricardo Pardini
667ac5afb7 odroidn2: bump to 2022.10 u-boot with boot order patch and nothing else; remove old legacy uboot crap (odroidn2 hasn't even had a legacy BRANCH for a while) 2023-03-31 09:37:37 +02:00
Ricardo Pardini
62f5fe1596 config: fix: replace undue export statements with declare -g; shellfmt 2023-03-31 09:37:37 +02:00
Igor Pečovnik
f51a99f1fa distro-agnostic.sh: fix, install armbian-zsh correctly (not armbian-config twice) 2023-03-31 09:12:44 +02:00
Igor Pecovnik
bf801d194b distro-agnostic.sh: bring back BSPFREEZE=yes which now works (somewhat) 2023-03-31 09:12:44 +02:00
Ricardo Pardini
ad56df54ba artifact-armbian-bsp-cli: correctly hash the *sources* of family_tweaks_bsp old-timey hook and post_family_tweaks_bsp extension hooks 2023-03-31 09:12:44 +02:00
Ricardo Pardini
d2bb1f893a extensions: many fixes; allow for dumping the source of hooks, via dump_extension_method_sources_functions() and dump_extension_method_sources_body()
- fix: indent of generated sources
- fix: no reason to source the generated file in a loop. do it once. 20x faster?
- `dump_extension_method_sources_functions "name_of_hook"`: get function definitions (inside braces)
- `dump_extension_method_sources_body "name_of_hook"`: get the function bodies (sans-braces)
2023-03-31 09:12:44 +02:00
Ricardo Pardini
61d85648ea cleaning: stop lying about CLEAN_LEVEL=debs -- now it simply deletes every .deb in the folder (same as =alldebs) 2023-03-31 09:12:44 +02:00
Ricardo Pardini
55af87be8b lib: update library-functions.sh (via bash lib/tools/gen-library.sh) 2023-03-31 09:12:44 +02:00
Ricardo Pardini
f969a5e30f lib: completely remove CHOSEN_xxx, BSP_xxx_NAME, BSPFREEZE=yes 2023-03-31 09:12:44 +02:00
Ricardo Pardini
ed0b406265 lib: fix: replace undue export statements with declare -g 2023-03-31 09:12:44 +02:00
Ricardo Pardini
77921725fb lib: run shellfmt; remove commented-out; no actual changes 2023-03-31 09:12:44 +02:00
Ricardo Pardini
f75b9c110f aggregation: fix: don't eat value if empty during bash_string_multiline(); write end-of-file comment; show aggregation bash results if debugging 2023-03-31 09:12:44 +02:00
Ricardo Pardini
fe7a24885b docker: introduce DOCKER_SKIP_UPDATE=yes to skip updating prebuilt Docker image, only when using 2023-03-31 09:12:44 +02:00
Ricardo Pardini
40c5df55ab docker: introduce ${DOCKER_ARMBIAN_BASE_COORDINATE_PREFIX:-"ghcr.io/armbian/docker-armbian-build:armbian-"} for easy override 2023-03-31 09:12:44 +02:00
Ricardo Pardini
7d90b10f79 configdump: better logging; insert (still unsupported) array/dict raw value and 2do markers into produced dump JSON 2023-03-31 09:12:44 +02:00
Ricardo Pardini
f12015954a distro-agnostic: emit 'info' message before setting root password, otherwise logs are confusing 2023-03-31 09:12:44 +02:00
Ricardo Pardini
d868d76182 artifacts: bsp-cli, bsp-desktop, desktop: rework, with @igorpec
- bsp-cli: does not require aggregation
- bsp-desktop / desktop: requires aggregation
- 'desktop' packaged moved out of 'bsp' folder, it is NOT a bsp
- make consistent naming/folders
- extract .sh generation workflow into 'declare -f' magic functions
- `SHOW_DEBIAN=yes` to bump most of `DEBIAN/xxx` stuff to screen
- artifact armbian-bsp-desktop: use aggregation, require certain vars, CLI forces `BUILD_DESKTOP=yes`; requires BOARD
- artifact armbian-desktop: use aggregation, require certain vars, CLI forces `BUILD_DESKTOP=yes`, not require `BOARD` anymore
- cli: commands: fix artifact aliases, reorder
- desktop/bsp-desktop: add `config_dump` method; fix `artifact_map_debs` ref subdir and name
- artifact bsps: require aggregation to build, not to list what needs to be built
- distro-agnostic: fix install of `armbian-bsp-cli` (not `armbian-bsp`)
- armbian-bsp-cli: add `_config_dump` method, use configuration with aggregation, add required vars check
- distro-specific: fix installation of `fake-ubuntu-advantage-tools`
2023-03-31 09:12:44 +02:00
Ricardo Pardini
55ba084acc configdump: include rudimentary artifact dependency information for config-dump-json (artifact implementations)
- include rudimentary artifact dependency information for config-dump-json: fixes/refactor/cleanup
- artifact-rootfs.sh: include rudimentary artifact dependency information for config-dump-json
- artifact-armbian-(config/plymouth-theme/zsh).sh: include rudimentary artifact dependency information for config-dump-json
- artifact-fake-ubuntu-advantage-tools.sh: include rudimentary artifact dependency information for config-dump-json
2023-03-31 09:12:44 +02:00
Ricardo Pardini
42fc56697b configdump/json-info-boards: revamp, all-JSON now; use_board=yes skip_kernel=no for config; refactor & use new Python bash-declare-to-JSON utility
- use new capture'd vars scheme
- so `./compile.sh BOARD=xxx BRANCH=yyyy config-dump-json | jq .` now works and is consistent/newline tolerant
- introduce internal `skip_host_config=yes` for `prep_conf_main_minimal_ni()` to skip calling `check_basic_host()`
2023-03-31 09:12:44 +02:00
Ricardo Pardini
fc14d62c52 capture: set globals CAPTURED_VARS_NAMES and CAPTURED_VARS_ARRAY (instead of CAPTURED_VARS_ARRAY that was space-delimited); filter and sort last-minute 2023-03-31 09:12:44 +02:00
Ricardo Pardini
fb4477afb8 oras: add --insecure to further retries if we get a failure on first try, to workaround GitHub's March/2023 mess with certificates 2023-03-31 09:12:44 +02:00
Ricardo Pardini
9a74b838ce runners: introduce internal skip_error_info=yes for run_host_command_logged()
- doesn't show nor clear vars `if_error_find_files_sdcard` and `if_error_detail_message`
- used by `chroot_sdcard_apt_get()` which uses `run_host_command_logged()` multiple times, and the first would clear the important/last one
2023-03-31 09:12:44 +02:00
Ricardo Pardini
a77d5f3c70 fix: declare some variables that were leaking into global namespace for no reason
- especially `for VAR in ...` and VAR leaks sans the declare
- rename `fragment_manager_cleanup_file` to `extension_manager_cleanup_file`
2023-03-31 09:12:44 +02:00
Ricardo Pardini
02c561ce0e bat-cat: introduce tooling support for bat (colorized/smart cat), including DEBIAN/xxx syntaxes; cached in Docker image 2023-03-31 09:12:44 +02:00
Ricardo Pardini
b820a4d68f tools: oci-oras/shellcheck: fix, test if binary already in place before considering copying it, but only after BIN is actually defined 2023-03-31 09:12:44 +02:00
Ricardo Pardini
b59447c96e apt-install: install_deb_chroot(): useful logging, when trying to install invalid stuff 2023-03-31 09:12:44 +02:00
Igor
00f849ac71 [AR-1620 + AR-1639 squashed]:: @igorpec's armbian-config/zsh/bsp/desktop/ubuntu-advantage artifacts 2023-03-31 09:12:44 +02:00
Matthijs Kooijman
54636219cc Include alsa-utils in minimal cli builds
This ensures that the armbian-audio-config script actually works in
minimal builds too.

This fixes #5012 (AR-1644)
2023-03-29 23:22:19 +02:00
hzy
2a9279c27d armbian-firstlogin: Make sure that the first charactor of username isn't number 2023-03-29 23:22:04 +02:00
hzy
76ce4c3a3d Fix uImage build 2023-03-30 03:41:28 +08:00
Igor
577d0eaa28 Update sunxi and kernel configs 2023-03-28 15:56:14 +02:00
Igor Pečovnik
765ff69c6e Update README.md 2023-03-28 10:51:41 +02:00
CueMaxX
6aad142ac8 Update boot-sunxi.cmd
'setenv console "display"' in boot-sunxi.cmd & in armbianEnv.txt had the same effect as 'setenv console "both"'.
That was due to a false if-statement in boot-sunxi.cmd:41
Fixed that, so 'setenv console "display"' will not co-enable the serial console anymore.
2023-03-28 10:51:41 +02:00
Werner
80a5607bf5 Add deprecation note (#4845) 2023-03-28 10:51:41 +02:00
Igor
5de120edfe Allow numbers in username 2023-03-27 23:24:35 +02:00
hzy
b850beb50a meson8b: Reorganize patches
Move all patches out from board-special patch folders which is not
supportted now.
2023-03-26 20:54:56 +02:00
hzy
26b8642804 Bugfix: Allow to set empty cmdline params
Fix the following error:
  [🌱] Skip     cmdline param [ 'DESKTOP_APPGROUPS_SELECTED': already set to '(empty)' early ]
2023-03-26 20:54:39 +02:00
Paolo Sabatino
5930e5e536 rk322x: move edge kernel to 6.2 2023-03-24 23:14:09 +01:00
Paolo Sabatino
97c3448983 rockchip: put all rockchip 32 bit into uboot/v2022.04 directory 2023-03-24 23:13:42 +01:00
Paolo Sabatino
191f4c8b67 rk322x: fix old emmc detection on rk322x 2023-03-24 23:13:18 +01:00
Paolo Sabatino
3f704692a7 rockchip: bump edge kernel to 6.2 2023-03-24 23:12:56 +01:00
Julian Sikorski
879805a520 Update odroidxu4-current to 5.4.238 2023-03-22 21:27:16 +01:00
Igor
a01f764195 If OCI_TARGET_BASE is not set, then this override doesn't work 2023-03-22 10:35:36 +01:00
Muhammed Efe Çetin
6bd665eaf4 Naming Audios on OPi5 2023-03-22 07:47:11 +01:00
Markus Hoffrogge
4271d7a17f Fix sunxi uboot redefined warnings on "CONFIG_VIDEO_*"
- wrap CONFIG_VIDEO definitions with if !defined pattern
2023-03-22 07:46:37 +01:00
amazingfate
07f4f48727 naming audio output names of rock5b 2023-03-22 07:46:25 +01:00
Markus Hoffrogge
cca7fe1ff3 Log build runtime in minutes with seconds 2023-03-22 07:44:06 +01:00
Tony
915bd66187 [ rockchip64] second round config migration (#4982)
* [ rockchip64] second round config migration

Recommend all @armbian/boards-rockchip  maintainers double check the resulting configurations, as stated in the PR the level of confusion in the family config logic likely means some boards have unnecessary extra stuff.
2023-03-21 10:40:22 -04:00
Lane Jennison
7be216f4b5 defconfig didnt work use full kernel 2023-03-21 01:04:01 -03:00
Lane Jennison
7869b5488d enable btrfs on midstream kernel 2023-03-21 01:04:01 -03:00
Ricardo Pardini
a13383143c lib/tools/shellcheck.sh: add (very low-bar "error") checks to config/sources and config/boards (keeping lib/ code in custom "critical" level) 2023-03-20 17:54:25 -03:00
Thomas McKahan
6d182e4aaf accidentally wiped out a "fi"
during whitespace cleanup.
2023-03-20 12:22:01 -03:00
Igor
518ccf90cd Add dialog package
Armbian install fails to start on minimal images
2023-03-20 11:35:17 -03:00
Igor
8a27b4a6da Re-enable CONFIG_ARCH_BCM2835 2023-03-20 11:34:25 -03:00
Tony
ee76ad99b0 [ Rockchip64 ]Move board specific configs (#4974) 2023-03-20 10:19:57 -04:00
Igor
7a6dca2f90 Add switch 2023-03-20 13:50:33 +01:00
Markus Hoffrogge
142dec4618 Fix $sduuid being overlapped by a probable emmc device existing
- if $emmccheck is not empty, then exclude this
  from the lookups for $sdblkid
- simplified $sduuid assignment within a single line

closes AR-1611
2023-03-20 13:31:06 +01:00
Markus Hoffrogge
0bd6fea636 Fix $sduuid to be of format UUID=uuid
- this issue was introduced by commit 7e9ebe1
- the variable sduuid is supposed to start with "UUID="
- fixed now by prepending UUID= to $sduuid, if the "raw" $sduuid is not empty

closes AR-1611
2023-03-20 13:31:06 +01:00
Igor
87b8ad6ae7 Bump sunxi to latest versions 2023-03-20 13:30:48 +01:00
SteeManMI
6dc26119c3 Cleanup: Removed two dead links (softlinks whose target doesn't exist) (#4972)
Changes to be committed:
	deleted:    config/desktop/buster/appgroups/programming/sources
	deleted:    patch/kernel/archive/sunxi-5.11/sunxi-5.12
2023-03-20 08:02:20 -04:00
SteeManMI
7b99735c44 Fix patch failures on meson64-current (6.1) (#4973)
Changes to be committed:
	deleted:    patch/kernel/archive/meson64-6.1/board-bananapim5-002-switch-VDDIO_C-pin-to-OP.patch
		- Patch upstreamed in 6.1.16:
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts?h=v6.1.20&id=58dccc65221c6465a35cb6bb2ff41f2b75b367f0
	modified:   patch/kernel/archive/meson64-6.1/board-bananapim5-003-convert-dts-to-dtsi.patcha
		- Fixed patch due to upstream change in 6.1.16:
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts?h=v6.1.20&id=e35feeb3fdbe3eeffae5e75123fa44523b5076b8
	deleted:    patch/kernel/archive/meson64-6.1/board-radxa-zero-dts-otg-fix.patch
		- Patch upstreamed in 6.1.16:
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts?h=v6.1.20&id=b556778f76f975ccf7f008729b5bc2531c58ea95
	deleted:    patch/kernel/archive/meson64-6.1/general-arm64-dts-amlogic-Make-mmc-host-controller-interrupt.patch
		- Patch upstreamed in 6.1.12:
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.20&id=274d9a28527d64a95107a1e62c71632065f0924f
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.20&id=222b1070b0fa12be25f9503a503724a899c6326b
			https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.20&id=a01ad536becb5d4c001a7d50dc1ca9fa14ef75a8
	modified:   patch/kernel/archive/meson64-6.1/general-meson-mmc-1-arm64-amlogic-mmc-meson-gx-Add-core-tx-rx-eMMC-SD-SD.patch
		- Fixed patch due to upstream change in 6.1.13 by copying the 6.2 version which was already rebased
2023-03-20 07:59:11 -04:00
SteeManMI
010077305c aml-s9xx-box: Move board specific bsp file handling to the board (#4971)
config file from from the family config file

 Changes to be committed:
	modified:   config/boards/aml-s9xx-box.tvb
	modified:   config/sources/families/meson-gxl.conf
2023-03-19 19:13:05 -04:00
Tony
d4a5b9c799 Move Jetson and Pinebook Pro board tweaks to board conf file (#4968)
* Move Jetson board tweaks to board conf file

* Move Pinebook Pro BSP and board tweaks
to PBP config file, decluttering family config
2023-03-19 18:26:18 -04:00
Ricardo Pardini
c146fdf28b kernel-headers: don't try to build objtool if not amd64 target (for real this time) 2023-03-18 21:45:49 +01:00
Paolo Sabatino
989b49ff6b rockchip: enable rtl8723ds kernel module 2023-03-18 21:40:32 +01:00
Igor
d4a7a1c816 Revert "Update export-logs.sh to use primary Armbian paste server (#4936)"
This reverts commit bc62c8cd42.
2023-03-18 21:39:02 +01:00
Ricardo Pardini
994b80a1a1 kernel: postinst: use --nofsroot option to findmnt when finding /boot's filesystem type
- otherwise we might get `/dev/mmcblk2p1[/boot]` when `/boot` is bind-mounted
- `--nofsroot: don't print [/dir] for bind or btrfs mounts`
2023-03-18 07:09:40 -03:00
amazingfate
c21aef6e20 update rk35xx legacy kernel source to github 2023-03-17 08:33:42 +01:00
Ricardo Pardini
4509e3fcf2 kernel-headers: don't try to build objtool if not amd64 target 2023-03-17 08:32:11 +01:00
Ricardo Pardini
8493d91b61 check early (before running any CLI command) for old LIB_TAG usage 2023-03-17 08:32:11 +01:00
Ricardo Pardini
2f4f117000 prepare ORAS tooling early, so we don't get spurious failures "only on first build" 2023-03-17 08:32:11 +01:00
Ricardo Pardini
4e6fd3a507 warn about KERNEL_CONFIGURE=yes being deprecated during image build; instructions on how to do it properly 2023-03-17 08:32:11 +01:00
Ricardo Pardini
630ee512cb stop the build if LIB_TAG is set at all; some users expect it to work while it doesn't 2023-03-17 08:32:11 +01:00
Ricardo Pardini
6b965c605c completely remove any traces of KERNEL_ONLY and exit with error if set 2023-03-17 08:32:11 +01:00
Ricardo Pardini
6d1c5fb8b7 artifact: kernel: use C999999 for .config hash is KERNEL_CONFIGURE=yes; force ignore cache if so 2023-03-17 08:32:11 +01:00
Ricardo Pardini
c8412c8791 compress-checksum: don't compress files ending in .txt, thanks 2023-03-17 08:32:11 +01:00
Ricardo Pardini
91b7b35fa3 rootfs-to-image/distro-agnostic: introduce IMAGE_VERSION, can be used to override VERSION file ($REVISION) just for image filename/issue/os-release 2023-03-17 08:32:11 +01:00
Ricardo Pardini
b16ffd62da odroidxu4/current: set KERNEL_SKIP_MAKEFILE_VERSION=yes 2023-03-17 08:32:11 +01:00
Ricardo Pardini
bf325a4565 artifact: kernel: introduce KERNEL_SKIP_MAKEFILE_VERSION=yes -- for families that patch their kernel's Makefile version; in that case only SHA1 is present in version
- better to withold the info, than to offer wrong info
- eg: `odroidxu4`/`current`
2023-03-17 08:32:11 +01:00
Ricardo Pardini
ff657fcf90 artifacts (all): require prefixing of artifact_version with artifact_prefix_version (which is ${REVISION}--) 2023-03-17 08:32:11 +01:00
Ricardo Pardini
4a1eec83e7 rockchip-rk3588: edge: fix, I messed up move from 6.2-rc7 to 6.2.y 🤦 2023-03-17 08:32:11 +01:00
Ricardo Pardini
032025877c kinetic: desktop: browsers appgroup: remove firefox-esr -- thanks, Ubuntu :-( 2023-03-17 08:32:11 +01:00
Ricardo Pardini
9931350483 docker: fix: pass down OCI_TARGET_BASE to Docker instance automatically 2023-03-17 08:32:11 +01:00
Ricardo Pardini
736fe7ecf4 don't use "bright black" ANSI for logging unless we're running under a known-good terminal (eg, iTerm2)
- giving up on the "bright black" == "gray" thing. There's enough bad default themes out there, and not the first time people (rightfully) complained...
2023-03-17 08:32:11 +01:00
CXM
36de9b7d08 chore: add star history in README.md (#4851)
* chore: add star history in README.md

* Improve project structure list and put it behind collapsable object

---------

Co-authored-by: Igor <igor@armbian.com>
2023-03-15 16:23:54 +01:00
Igor Pečovnik
1fcdf63c4e Look only for bash shebang (#4928)
* Look only for bash shebang

We have some Python scripts now so we need to move that out

* Extend script to cover ignored files and use internal tool for checking the rest

Signed-off-by: Igor <igor@armbian.com>

---------

Signed-off-by: Igor <igor@armbian.com>
2023-03-15 16:22:14 +01:00
Jianfeng Liu
ff38c51de7 add ca-certificates to debootstrap (#4949)
* add ca-certificates to debootstrap

* Remove ca-certificates from main as its present in deboostrap anyway

---------

Co-authored-by: Igor <igor@armbian.com>
2023-03-15 16:21:31 +01:00
SteeManMI
4948417152 Update u-boot-s905x-s912 binary to a new build (#4947)
Previously, the u-boot binary files used to chainload u-boot for the
amlogic tv boxes were the ones produced by balbes150 in his old
tv box builds.  There was no source code for them.
This commit is the first to convert from those old binary files
to newly built ones along with a u-boot patch file and instructions
on how to build/rebuild them.  Eventually this needs to be incorporated into
the build framework to automate it.  But for now one step at a time.

 Changes to be committed:
	new file:   packages/bsp/aml-s9xx-box/boot/build-u-boot/readme.txt
	new file:   packages/bsp/aml-s9xx-box/boot/build-u-boot/u-boot-s905x-s912.patch
	deleted:    packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt
	modified:   packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912

Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-15 08:30:28 -04:00
5b8d86ae5f Enable kernel Ion system for running Android (#4948)
Signed-off-by: Zhang Rui <rui.crater@gmail.com>
2023-03-14 08:47:01 +01:00
Ricardo Pardini
58f46aa5ed meson64: edge: 6.2: fixes & rebase & naming convention, after #4941 (#4942)
* meson64: edge: drop upstreamed patches (odroidhc4 cooling map + radxa zero otg fix)

* meson64: edge: v6.2.y: adapt Neil's new BPI-CM4 patches to Armbian naming non-convention (for ordering)

* meson64: edge: v6.2.y: fix patches sensitive to patching order (amlogic.yaml, DT Makefile)

* meson64: edge: rebase against v6.2.5, no actual changes
2023-03-13 23:21:20 +01:00
Igor Pečovnik
669d00a6ab Repository was removed. Lets pin to new one with new commit id. (#4944)
Signed-off-by: Igor <igor@armbian.com>
2023-03-13 21:38:29 +01:00
Barry Lind (SteeManMI)
feb1e4cf64 Convert from using uImage to Image for aml-s9xx-box
This is needed to bring this board in line with the expectations of
the new main build (armbian-next), which dropped uImage from meson64
kernel packages.

 Changes to be committed:
        modified:   packages/bsp/aml-s9xx-box/boot/extlinux/extlinux.conf
2023-03-13 17:29:47 -03:00
Igor
9972a64266 Add fonts-noto-color-emoji for terminal Emoji support 2023-03-13 17:23:51 -03:00
Igor Pečovnik
63e44afc95 Add few essential packages back to the minimal image (#4945)
Signed-off-by: Igor <igor@armbian.com>
2023-03-13 20:05:28 +01:00
Neil Armstrong
7fea781425 Add support for BPI-CM4 with BPI-CM4IO
Add support for both the BananaPi BPI-CM4 module and the BananaPi
baseboard which is compatible with the RaspberryPi CM4IO baseboard.

The BananaPi BPI-CM4 module follows the CM4 specifications at [1],
but with a single HDMI port and a single DSI output.

The current CM4IO baseboard DT should work fine on the Raspberry CM4
baseboard and other derivatives baseboards, but proper DT should
be written for other baseboards.

The DT is imported from the submission done at [2] and applied
at [3], the u-boot support was submitted at [4].

[1] https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf
[2] https://lore.kernel.org/all/20230303-topic-amlogic-upstream-bpi-cm4-v2-0-2ecfde76fc4d@linaro.org/
[3] https://git.kernel.org/amlogic/c/0262f2736978b1763363224698f47112a148dab0
[4] https://lore.kernel.org/all/20230307-u-boot-cm4-v1-0-43f5a393cd37@linaro.org/

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-03-13 13:55:15 -03:00
Jianfeng Liu
d3c036be10 toggle rk3588 new legacy kernel (#4888)
* toggle rk3588 new legacy kernel

* enable additional drivers from radxa

* change R8125 builtin

* fix orangepi5 uboot build target
2023-03-12 22:42:04 +01:00
Ricardo Pardini
ee11f5dbd9 chroot_sdcard_apt_get: don't use -qq for all apt operations on chroot if SHOW_DEBUG=yes (or DEBUG=yes)
- helps debugging crazy upgrades happening due to @rpardini's stupid `Version: ` insanity
2023-03-12 18:40:20 -03:00
Heisath
46ae5155c5 Correctly create a new mvebu-6.2 patch folder, update symlink, update/fix patches for mvebu-edge 2023-03-12 22:30:56 +01:00
Jianfeng Liu
9405302871 add fonts-noto-cjk to desktop package list (#4937) 2023-03-12 11:24:22 +01:00
TheLinuxBug
bc62c8cd42 Update export-logs.sh to use primary Armbian paste server (#4936)
Changing export-logs.sh script from posting to armbian.next.armbian.com to posting to the primary paste server which has now been upgraded at paste.armbian.com.
2023-03-11 22:03:40 +01:00
Igor Pečovnik
acf5810cbe Move Rpi kernels to 6.2, move current to legacy (#4898)
* Update Rpi4 kernels, configs and adjust broken patches

* Re-enable legacy in sources and board config
2023-03-11 19:19:13 +01:00
Jianfeng Liu
f8a272faa4 fix rockchip64 6.1 patches (#4917)
* fix rockchip64 6.1 patches

* remove LINUXFAMILY rk35xx for rk35xx edge
2023-03-11 18:31:52 +01:00
Derek LaHousse
3314bc9d66 update u-boot to 2023.01 for espressobin 2023-03-11 13:22:54 -03:00
Paolo
fd022527f3 sunxi, media: Realtek rtl8723cs driver consolidation (step 2) (#4924)
* sunxi: remove rtl8723cs patches from sunxi-edge (6.2)
 * adjust minor pinephone patch
* media: remove rtl8723cs patches from media-edge
* media: remove rtl8723cs patches from media-current (6.1)
* sunxi: reinstate rtl8723cs patches for sunxi-6.1 and disable them
* sunxi: reinstate rtl8723cs patches for 6.2 and disable them
2023-03-10 19:15:10 +01:00
Ricardo Pardini
17023a2336 mvebu64: force inclusion of gcc-arm-linux-gnueabi 32-bit C compiler for mvebu64 non-Docker compile 2023-03-10 10:49:45 -03:00
Ricardo Pardini
df75158eb3 mvebu64: enable_extension "c-plus-plus-compiler"; fix refs to u-boot sources that changed; add colored logs 2023-03-10 10:49:45 -03:00
Ricardo Pardini
bdec7c7c23 compilation: uboot: manage shopt nullglob same way as IFS, so UBOOT_TARGET_MAP's with * somewhere are not skipped [fixed]
- add some debugs
- don't fail for no good reason (shopt -p has some crazy exit code logic)
2023-03-10 10:49:45 -03:00
Ricardo Pardini
fc8536b700 extension: c-plus-plus-compiler: include g++ package as well as g++-aarch64-linux-gnu 2023-03-10 10:49:45 -03:00
Lane Jennison
e718d26cae @lanefu's rk3588 midstream; new BRANCH; midstream kernel and monka's config - squashed 2023-03-10 01:30:31 -03:00
Igor Pečovnik
d59fa58875 Add (c) also to python scripts (#4926) 2023-03-09 20:52:06 +01:00
Michael Beck
1223b22ffd WSL2: Ensure the Windows Terminal is detected under WSL2 docker build. (#4915)
- by passing the WT_SESSION environment variable into the docker container  if it is set
2023-03-09 19:19:30 +01:00
Igor Pečovnik
b7b8eb7b72 Add / modify (c) in bash scripts (#4922)
* Add / modify (c) in bash scripts

Signed-off-by: Igor <igor@armbian.com>

* Add (c) to the source config files

---------

Signed-off-by: Igor <igor@armbian.com>
2023-03-09 18:30:40 +01:00
Derek LaHousse
9fe655cdeb fix reference to espressobin u-boot tag 2023-03-09 12:17:55 -03:00
Paolo Sabatino
83ebf7dd76 include rtl8723cs driver call in drivers-harness.sh 2023-03-08 11:54:31 +01:00
Paolo Sabatino
6132e2c0fd consolidation of rtl8723cs staging driver for kernel 6.1 onwards
* main source for driver and patches are sunxi64 megous patches
* move into patch/misc/wireless-rtl8723cs directory
* integrate with minor patches from rk322x/rockchip64 families
* update drivers_network.sh to apply patches in same order as before
* remove references from patches.megous and series.conf in sunxi64
* remove patches from rk322x and rockchip64 family patches
* do not touch kernel archives older than 6.1
2023-03-08 11:54:31 +01:00
Igor Pečovnik
53a6bcf638 Improve filelist filtering to check only files that are interested for this (#4919)
Signed-off-by: Igor <igor@armbian.com>
2023-03-08 11:20:05 +01:00
Paolo Sabatino
06ff3e3f07 rockchip64: enable orange pi 4 lts DMC driver 2023-03-08 11:12:41 +01:00
Paolo Sabatino
03a00c5ce4 rockchip64: set poll rate 50ms for rk3399 dmc driver 2023-03-08 11:12:41 +01:00
Paolo Sabatino
4ea9330e51 rockchip64: enable dmc on Rock PI E board 2023-03-08 11:12:22 +01:00
Paolo Sabatino
7d2cd41dee rk322x: fix possible crash, unneeded code and remove cruft in dmc 2023-03-08 11:11:49 +01:00
Igor Pečovnik
e04d91ee4b Look for bash shebang from start of the line (#4918)
Signed-off-by: Igor <igor@armbian.com>
2023-03-08 09:34:55 +01:00
Igor Pečovnik
c4d27ab073 Disable broken patch on imx6 platform (#4914)
All boards are without maintainers so not a problem if features are disabled.
2023-03-08 09:06:55 +01:00
Paolo
e91e27cc83 rockchip: remove mainlined patch (#4908) 2023-03-05 19:16:43 +01:00
Igor Pečovnik
66f09d4567 Move imx edge kernels to 6.2, current to 6.1, current to legacy (#4900) 2023-03-05 17:04:49 +01:00
Igor Pečovnik
ad827fe0a5 Move UEFI legacy to 5.15.y, current to 6.1.y and edge to 6.2.y (#4896) 2023-03-05 17:02:52 +01:00
Igor Pečovnik
a27111be62 Move mvebu edge kernels to 6.2, current to 6.1, current to legacy (#4901) 2023-03-05 16:54:50 +01:00
Igor
6646e2f880 Cleanup after merging too much files
https://github.com/armbian/build/pull/4902
2023-03-05 11:59:40 -03:00
Igor Pečovnik
f9bf344835 Move Odroid M1 to 6.2.y (#4899) 2023-03-05 15:41:30 +01:00
Igor Velkov
4e0905c241 !fixup shell typo (#4903) 2023-03-05 15:41:14 +01:00
Igor Pečovnik
724e05e92a Add Riscv64 related blobs that got lost during merge (#4902) 2023-03-04 16:29:33 +01:00
Werner
0370f3c8de Proposal: remove telegram (#4897)
* Remove telegram

* Remove telegram

* Update packages
2023-03-04 09:14:23 +01:00
Igor Pečovnik
df949ead3a Remove selinux due to installation issues (#4895) 2023-03-03 22:14:29 +01:00
The-going
b7ab460983 Move sunxi legacy to 5.15.y, current to 6.1.y and edge to 6.2.y (#4890)
* sunxi-6.1: rebase to v6.1.14, reexport patches megous

* sunxi-6.1: rename fixes patches

* sunxi-6.1: reexport armbian patches

* sunxi-6.1: fix the series.conf file to the current state

* sunxi-6.1: switch edge to v6.1.14

* Adjust sunxi to 5.15 / 6.1 / 6.2

- change configs
- adjust broken patches
- disable patch that only changes /readme.md and it has issues

---------

Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-03 22:13:49 +01:00
Oleg
ce5d22d0db Bump edge-media kernel to 6.2.y (#4863)
* Add deprecation note (#4845)

* move edge media to 6.2

* Update README.md

---------

Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-03 20:31:07 +01:00
The-going
77674a2b76 Sunxi 6.2 (#4883)
* sunxi-6.2: add megous patches

* sunxi-6.2: add series.conf

* sunxi-6.2: add armbian patches

* sunxi-6.2: mfd: sunxi-ac200: fix error initialization

* sunxi-6.2: Extract patches again after rebasing

---------

Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-03 19:09:22 +01:00
Julian Sikorski
e7f6405616 Update odroidxu4-current to 5.4.233 (#4894)
* Update odroidxu4-current to 5.4.233
* Add config and .234

---------

Co-authored-by: Igor <igor@armbian.com>
2023-03-03 18:59:45 +01:00
Igor Pečovnik
e71d8dba10 Clenup minimal and server lists (#4893) 2023-03-02 22:44:47 +01:00
Kreyren
0cc52534ee OLIMEX Teres-A64: Official Support (#4807)
* OLIMEX Teres-A64: Official Support

This commit provides an official armbian support for the system

Signed-off-by: Jacob Hrbek <kreyren@rixotstudio.cz>

* Remove additional lines

* CODEOWNERS: Removed myself from board config

* targets: undid changes

Addressed in https://github.com/armbian/os/pull/8

* olimex-teres-a64: align with #4877

---------

Signed-off-by: Jacob Hrbek <kreyren@rixotstudio.cz>
2023-03-02 19:29:13 +01:00
Igor Pečovnik
e90b4d81a8 Open a Jira ticket when GitHub issue is raised (#4887) 2023-03-02 19:09:55 +01:00
Jianfeng Liu
6c758e68b4 remove files in /boot at preinst when bootfs is vfat (#4886)
* remove files in /boot at preinst when bootfs is vfat

* use findmnt to get /boot source device
2023-03-01 20:42:09 +08:00
Ricardo Pardini
755479f407 meson64: edge: rebase patches onto v6.2.1; fix mbox for recently added patch (no actual changes) 2023-02-28 18:54:28 -03:00
Vyacheslav Bocharov
123b31b161 Replace absolute path to git-tree with relative, so it is accesible without docker builder. 2023-02-28 09:26:12 -03:00
Vyacheslav
f0af468abf Update meson64 edge branch to linux-6.2.y (#4876)
Reallign patches
2023-02-28 09:57:01 +01:00
Vyacheslav
cc98394aa0 Merge pull request #4880 from jethome-iot/fix_create_size
Fix "No space left on device" while rsync root files to image
2023-02-27 23:29:49 +03:00
Vyacheslav Bocharov
fad48ac670 Fix "No space left on device" while rsync root files to image 2023-02-27 22:34:17 +03:00
Werner
51603cdabe adjust wording (#4878) 2023-02-27 17:22:18 +01:00
Igor Pečovnik
60c843a194 Update README.md
Closing https://github.com/armbian/build/issues/4871
2023-02-27 10:35:06 -03:00
The-going
a131413971 sunxi: remove unused KERNELSOURCE="https://github.com/megous/linux" 2023-02-26 15:42:49 -03:00
Ricardo Pardini
d453c873fd distro-agnostic.sh: fix: check if chroot (not host!) has timesyncd.conf as condition to enable systemd-timesyncd.service (#4870) 2023-02-26 09:36:32 +01:00
Igor Pečovnik
b7921eb53e Rename config file "only_for" into "architecture" (#4861)
* Rename only_for def into architectures
* Rename def with typo arhitectures -> architectures
2023-02-24 20:36:27 +01:00
Julian Sikorski
1dc2cecc3f Update odroidxu4-current to 5.4.232 (#4858) 2023-02-24 20:03:44 +01:00
Ricardo Pardini
0ac37c51eb odroidxu4: fix the custom_kernel_config__hack_odroidxu4_firmware() for version hash (#4864) 2023-02-24 20:03:27 +01:00
Ricardo Pardini
25606ef3c8 logs: remove git diff from GIT_INFO_ANSI, it's somewhat useless and potentially huge leading to argument list too long 2023-02-24 13:46:28 -03:00
Jianfeng Liu
fdcabaad3f not rsync /boot when copying root partition (#4859) 2023-02-24 23:43:32 +08:00
Jianfeng Liu
ec807c7b30 Merge pull request #4860 from amazingfate/chroot-apt-install
use chroot_sdcard_apt_get_install for packages
2023-02-24 19:26:34 +08:00
amazingfate
e6915eabc4 add shebang to rootfs-create.sh 2023-02-24 18:59:53 +08:00
amazingfate
3d2cfbc620 use chroot_sdcard_apt_get_install for packages 2023-02-24 18:49:18 +08:00
Ricardo Pardini
d69f09d676 kernel-config: ignore artifact cache, makes no sense with make menuconfig (fixes #4854) (#4856) 2023-02-24 10:44:02 +01:00
Vyacheslav
7f101561f2 Merge pull request #4852 from jethome-iot/AR-1545-update-jethub-prepackages-python-modules-to-install-via-apt
JetHub: update preinstalled python packages to install via apt
2023-02-23 23:00:39 +03:00
Jianfeng Liu
00ae9403ea remove u-boot patch fix-vcc3v3.patch for radxa-e25 (#4850) 2023-02-23 09:24:58 +01:00
Ricardo Pardini
2f7423d0e4 shellfmt/.editorconfig: enable trim whitespaces, run shellfmt, no actual code changes (#4849)
- shellfmt: bump to 3.6.0 (run with `bash lib/tools/shellfmt.sh`)
- .editorconfig: rationalize, remove duplicated logic
2023-02-23 09:24:41 +01:00
Ricardo Pardini
c2004faf9c git-ref2info: fix https Makefile URL for gitlab.com (eg, rk35xx-legacy) (#4848) 2023-02-22 20:59:56 +01:00
Vyacheslav Bocharov
d561ded706 JetHub: update preinstalled python packages to install via apt 2023-02-22 17:11:33 +03:00
hzyitc
41709dd756 meson: bump current to v6.1 and edge to v6.2 (#4843)
* meson: bump current to v6.1 and edge to v6.2
2023-02-22 09:24:41 +01:00
Igor Pečovnik
a2a8cb4f25 Merge pull request #4844 from armbian/dependabot/github_actions/actions/upload-artifact-3.1.2
build(deps): bump actions/upload-artifact from 3.0.0 to 3.1.2
2023-02-22 08:19:35 +01:00
dependabot[bot]
d89ada6b71 build(deps): bump actions/upload-artifact from 3.0.0 to 3.1.2
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.0.0 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](6673cd052c...0b7f8abb15)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-22 07:18:41 +00:00
Igor Pečovnik
07dc9bd1a3 Merge pull request #4847 from armbian/AR-1543
Update RK35xx legacy kernel to 5.10
2023-02-22 08:15:25 +01:00
Igor Pečovnik
26b41a50fa Merge branch 'main' into AR-1543 2023-02-22 08:12:57 +01:00
amazingfate
83b90b1f6a remove mmc alias for rock3a and radxa-e25 2023-02-22 08:04:27 +01:00
amazingfate
94751ee733 fix radxa e25 uboot and kernel boot 2023-02-22 08:04:18 +01:00
amazingfate
6193ec3ebd use sdk branch for rk35xx legacy 2023-02-22 08:04:09 +01:00
amazingfate
a02bbcc155 enable serial output on rock-3a and radxa-e25 2023-02-22 08:04:03 +01:00
amazingfate
1b0d8f33d3 add radxa e25 2023-02-22 08:03:56 +01:00
amazingfate
d005dc8574 update rk35xx legacy kernel to 5.10 2023-02-22 08:03:48 +01:00
Igor
27cdc2f7ff Armbian next CI/pre switch adjustements
- bump version to 23.05
- adjust OCI repositories, changed hash lenght to 12 and removed rootfs- prefix to shorten names (costmetic adjustement)
- build configs were moved to https://github.com/armbian/os
- remove CI that is not going to work anymore. This means also master is out of this CI
- small changed to Readme.txt. Just adding some note, removing obvious
- add propery - supported arhitectures for distribution. Needed for CI optimisation
- remove README.armbian-next.md (need to be somewhere else)
- shrink CODEOWNERS due to messages overload

Signed-off-by: Igor <igor@armbian.com>
2023-02-21 18:51:41 +01:00
Igor
99b8317976 Merge branch 'armbian-next' 2023-02-18 16:44:41 +01:00
Ricardo Pardini
5137f76cc9 ------------------------ armbian-next END marker -----------------------------
- this contains .md with the git logs short and full for the armbian-next history pre-squash
2023-02-18 12:27:34 -03:00
Ricardo Pardini
d6fafad9be armbian-next: artifact rootfs: change default OCI target to new Armbian org hosted repo 2023-02-18 12:27:33 -03:00
Ricardo Pardini
aa70ad570b armbian-next: use new/definitive pkg/image coordinates for Docker image, on Armbian org 2023-02-18 12:13:42 -03:00
Ricardo Pardini
13eba61c77 ------------------------ armbian-next END marker -----------------------------
- this contains .md with the git logs short and full for the armbian-next history pre-squash
2023-02-18 07:46:48 -03:00
Ricardo Pardini
26783b050f armbian-next: pip3: workaround new problems introduced by pip 23+ 2023-02-18 07:46:47 -03:00
Ricardo Pardini
20de5dd2c6 armbian-next: switch to using Armbian-org GH hosted git shallow trees and Docker images 2023-02-18 07:46:46 -03:00
Ricardo Pardini
85f3fb5c93 armbian-next: oci-oras: don't capture our own debugs as part of the manifest (d'oh -- thanks RichN) 2023-02-18 07:46:45 -03:00
Ricardo Pardini
7b5d606a9b split BOARD bananapim2pro from bananapim5, and force use of its new DTB; only for 6.2+, so edge only; use m5 FIP for m2pro 2023-02-18 07:46:44 -03:00
Ricardo Pardini
9e29827ad9 risc-v/starfive/starfive2/d1: all of RichNeese's Risc-V boards and families - squashed
- `risc-v`: rework RichNeese's boards, reduce families, move tweaks to boards
- `risc-v`/`starfive`: `CONFIG_MOTORCOMM_PHY=m` for the onboard Ethernet
- `risc-v`/`starfive`: use mainline kernel 6.1.y, with StarFive's rebased patches against `v6.1.5`
  - from https://github.com/starfive-tech/linux/commits/visionfive
  - contention point: `1022-soc-sifive-ccache-Add-StarFive-JH71x0-support.patch` which I merged half-assed, need review/fixes?
  - `risc-v`/`starfive`: update kernel config, sans changes
- `risc-v`/`starfive`: switch from `grub` to `extlinux`
- `risc-v`/`starfive`: new `starfive` family with their (vendor) kernel

Co-authored-by: Richard Neese <r.neese@gmail.com>
2023-02-18 07:46:43 -03:00
Rich
7f11a59c3a sid: add unstable repo 2023-02-18 07:46:42 -03:00
Ricardo Pardini
68e20a4bf4 qemu-uboot-xxx: fix missed rootfs cache due to pkg removals 2023-02-18 07:46:41 -03:00
Igor
ce68e373f1 Clean Mate desktops [cherry-pick] 2023-02-18 07:46:40 -03:00
Igor
4a4639f6a5 Clean / unify gnome desktop packages [cherry-pick] 2023-02-18 07:46:39 -03:00
Ash Hughes
2b896d72fb meson64: current + edge: bring back fixed version of odroid-reboot driver (Fix reboot on odroid C4 when using UHS-II SD cards) [cherry pick] 2023-02-18 07:46:38 -03:00
Kreyren
b7d5ea2321 distro-agnostic: dropbear-initramfs: make sure directory exists [cherry-pick] 2023-02-18 07:46:37 -03:00
Kreyren
12f56ad78c boards/README: Document SKIP_ARMBIAN_REPO [cherry-pick]
See ./lib/functions/rootfs/distro-specific.sh
2023-02-18 07:46:36 -03:00
Kreyren
ec88aaf149 bookworm: has new/separate repos for non-free-firmware (#4801) [cherry-pick]
- "Debian moved the non-free firmware into it's own sub-repository"
2023-02-18 07:46:35 -03:00
SteeManMI
c2ff82b7fe meson64: current: Enable MGLRU on meson64-current [cherry-pick]
Per PR#4697 this was enabled first on meson64-edge to test.
I am now following up to enable on meson64-current.
2023-02-18 07:46:34 -03:00
amazingfate
493b8773e9 rockchip64: update bl31 and ddr blobs of rk3568 [cherry-pick] 2023-02-18 07:46:33 -03:00
Ricardo Pardini
4db330178f odroidhc4: u-boot to 23.01; add HC4-SPI target preboot for USB; change HC4-SD target defconfig to new hc4_sd, similar to c4
- `odroidhc4`: pre-configure `fancontrol` so fans work right out of the box
2023-02-18 07:46:32 -03:00
Ricardo Pardini
0f9e3f7578 meson64: edge/6.2: arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip 2023-02-18 07:46:31 -03:00
Ricardo Pardini
27d6592580 sun50iw9: half-fixes to get going under armbian-next (@TODO needs review/nextify/confirm busybox is not needed) 2023-02-18 07:46:30 -03:00
Ricardo Pardini
6ceb772a7a v6.2-rc7: bump edge to v6.2-rc7 for UEFI / meson64 / rk3568-odroid / rockchip-rk3588 2023-02-18 07:46:29 -03:00
Ricardo Pardini
ac974ac132 rockchip64: current/5.15: fix bad unidiff/lack of mbox of wifi-hf-lps170-bl602.patch & makefile 2023-02-18 07:46:28 -03:00
Ricardo Pardini
608a5b779a rockchip64: current/5.15: remove IPX revert patch that's already in drivers now 2023-02-18 07:46:27 -03:00
Ricardo Pardini
1159f073ed rk322x-box: fix relative path reference to .bin in patch (a-n changed u-boot path on disk) - for @paolosabatino 2023-02-18 07:46:26 -03:00
Ricardo Pardini
e914af3713 sunxi/sunxi64: disable some sunxi/sunxi64 "readme" patches that contain other patches -- for discussion 2023-02-18 07:46:25 -03:00
Ricardo Pardini
bf8934d938 media: fixes for bad mbox/unneeded patches media-edge and media-current - thanks to @schwar3kat
- fix bad mbox for same old patch
- remove builddeb/mkdebian patches which are not needed in a-n
2023-02-18 07:46:24 -03:00
Ricardo Pardini
0bcc6c1ca2 odroidm1: bump to 6.2-rc3; look ma, no patches.
- pure mainline, https://github.com/torvalds/linux/commits/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
- don't disable EXTRAWIFI
2023-02-18 07:46:23 -03:00
Ricardo Pardini
3ea6da8c7a odroidm1: enable working userland fw_setenv, so users can go back to Petitboot & otherwise tweak u-boot env from Armbian 2023-02-18 07:46:22 -03:00
Ricardo Pardini
64f9cf9b46 meson64: edge/6.2: rebase onto v6.2-rc5 2023-02-18 07:46:21 -03:00
Ricardo Pardini
fa64a1d9af meson64: edge/6.2: bump to 6.2-rc5 2023-02-18 07:46:20 -03:00
Ricardo Pardini
ca0fa01ea9 meson64: edge/6.2: spi-nor: add support for XT25Q64 in addition to XT25F128B 2023-02-18 07:46:19 -03:00
Ricardo Pardini
faa0d7ee8f odroidc2: u-boot: use minimal patchset for v22.01 u-boot
- symptoms:
  - no video display in u-boot
  - can't boot from SD (but does from eMMC)
- this has proven to solve nothing, but is still neat
- real problem is probably the FIP?
2023-02-18 07:46:18 -03:00
Ricardo Pardini
0eb441c9cd [kinetic] un-symlink cli/main kinetic->jammy packages; add systemd-resolved which was split off from main systemd package in Kinetic 2023-02-18 07:46:17 -03:00
Ricardo Pardini
2350c5697f armbian-next: cleaning: deprecate CLEAN_LEVEL=debs -- doesn't do anything, just shows what would be cleaned 2023-02-18 07:46:16 -03:00
Ricardo Pardini
e46233084a armbian-next: memoize: expire all memoized files after 1 hour 2023-02-18 07:46:15 -03:00
Ricardo Pardini
a3569e440d armbian-next: rootfs artifact: don't try grouping OCI target, it does not really work 2023-02-18 07:46:14 -03:00
Ricardo Pardini
4f36681818 armbian-next: compression: fast xz compression for images 2023-02-18 07:46:13 -03:00
Ricardo Pardini
a2304f28b0 armbian-next: post_build_image: run hook first, then write to CARD_DEVICE, then compress, in that order
- compress *all* present output images, not only .img
- remove 7zip compression & hostdep
- squash a few shortcircuits (yeah, this late in the game...)
2023-02-18 07:46:12 -03:00
Ricardo Pardini
3d8ee5ce38 armbian-next: oras: add 3/5 retries to oras pull/push 2023-02-18 07:46:11 -03:00
Ricardo Pardini
e697f2e67c armbian-next: docker: curb logging about OCI_TARGET_BASE 2023-02-18 07:46:10 -03:00
Ricardo Pardini
c73d60368a armbian-next: remove references to stuff that doesn't exist or isn't hit by default anymore 2023-02-18 07:46:09 -03:00
Ricardo Pardini
8f23c9d2e4 armbian-next: debug_dict()/debug_var() only if debugging 2023-02-18 07:46:08 -03:00
Ricardo Pardini
7b0f33237d armbian-next: artifacts (all): curb logging, use more descriptive git source var names 2023-02-18 07:46:07 -03:00
Ricardo Pardini
00bed41cda armbian-next: build_rootfs_and_image(): log correctly mount_chroot()/umount_chroot() calls 2023-02-18 07:46:06 -03:00
Ricardo Pardini
8694daad78 armbian-next: chroot-helpers: mount_chroot()/umount_chroot(): add warning with stacktrace if called sans logging section 2023-02-18 07:46:05 -03:00
Ricardo Pardini
26f0700da8 armbian-next: chroot-helpers: if unable to mount devpts, use a mount bind from host
Co-authored-by: Paolo Sabatino <paolo.sabatino@gmail.com>
2023-02-18 07:46:04 -03:00
Ricardo Pardini
9bffa5e749 armbian-next: artifacts: firmware/rootfs and actual usage of artifacts during image build
- artifacts: introduce `ARTIFACT_IGNORE_CACHE=yes`
- artifacts: introduce `DONT_BUILD_ARTIFACTS`, list of artifacts that if not found cached, fail the build
- kernel_package_source() is no more
- a long dissertation about kernels, families, and the universe
- artifacts: actually use rootfs artifact for image build
- artifacts: detangle via artifact_base_dir
- artifacts: rootfs: use folders in artifact_name; include cache_type
- artifacts: some cleanups / validations
- rootfs artifact; drop old rootfs cli
- artifacts: new CLI shortcuts; remove old firmware CLI
- artifacts: full firmware & usage
- use firmware artifacts in image build and install its debs
- kernel artifact sans legacy; use tmpdir for .deb target for all packages
- legacy artifact versions is no more; pack/unpack now in common obtain;
- artifacts: uboot: cleanup legacy renaming, use artifact version directly
- artifacts: add firmware (small) artifact
- deploy uboot to loop from artifact; allow tty to artifact; todos for cleaning
- fixes, kernel dtb/headers conditional; remove `.git` from Makefile url; use mapfile for finding files to hash
  - completely remove KERNEL_HAS_WORKING_HEADERS_FULL_SOURCE and `kernel_package_callback_linux_headers_full_source()`
  - don't use realpath for artifact_file_relative
  - curb some warnings
  - fix: only install headers & dtbs if such exist
- kernel .config hook modification hash versioning
- OCI_TARGET_BASE vs per-artifact defaults; only deploy to remote from CLI with OTB
- artifact revolver & installing into image
  - add artifact_map_packages and artifact_map_debs dicts
  - revolver accumulates all info
  - REPOSITORY_INSTALL is no more (for uboot/kernel, later others)
  - rename `VER` to `IMAGE_INSTALLED_KERNEL_VERSION`
2023-02-18 07:46:03 -03:00
Ricardo Pardini
8900eea0af armbian-next: git-ref2info: add support for gitlab.com; exit_with_error if SHA1 can't be found 2023-02-18 07:46:02 -03:00
Ricardo Pardini
a75e58c320 armbian-next: docker: show $SECONDS in Docker dash logs 2023-02-18 07:46:01 -03:00
Ricardo Pardini
ca6bf9046b armbian-next: remove all traces of Vagrant and FEL boot 2023-02-18 07:46:00 -03:00
Ricardo Pardini
7f1fb1cd69 armbian-next: hash-files: if no files to hash, return 16 zeros, instead of hanging forever waiting for stdin 2023-02-18 07:45:59 -03:00
Ricardo Pardini
49947ec373 armbian-next: aggregation: don't include packages.additional if BUILD_MINIMAL=yes 2023-02-18 07:45:58 -03:00
Ricardo Pardini
46b14d28c9 armbian-next: armbian-kernel: force CONFIG_LOCALVERSION_AUTO=n and DEBUG_INFO=n 2023-02-18 07:45:57 -03:00
Ricardo Pardini
0797fbf561 armbian-next: bsp-cli: fix shellcheck warning 2023-02-18 07:45:56 -03:00
Ricardo Pardini
56d32602d3 armbian-next: kernel: pkg: dtb: show 2 levels of dtbs in tree 2023-02-18 07:45:55 -03:00
Ricardo Pardini
85d13cf8ce armbian-next: git/ref2info: fixes for using commit:<sha1> 2023-02-18 07:45:54 -03:00
Ricardo Pardini
843449597a armbian-next: binfmts: suppress error message when trying to emulate armhf on arm64 2023-02-18 07:45:53 -03:00
Ricardo Pardini
9f6ef8deeb armbian-next: rootfs: fix: too many bash files included in rootfs B hash, reduce to only what is used to produce rootfs tarball
- otherwise we get rootfs cache misses when working distro-agnostic and others, which are not part of rootfs code
2023-02-18 07:45:52 -03:00
Ricardo Pardini
399d9964dd armbian-next: python/pip: include pip pkgs in Dockerfile; use them if available instead of downloading 2023-02-18 07:45:51 -03:00
Ricardo Pardini
03dd0d623b armbian-next: debs: introduce shellcheck for DEBIAN/postinst and others, before dpkg build 2023-02-18 07:45:50 -03:00
Ricardo Pardini
5d7924ebe5 armbian-next: rootfs: include hash of rootfs bash code in the packages_hash/rootfs_cache_id
- don't use dash separator for `B`ash hash in `packages_hash`/`rootfs_cache_id`
2023-02-18 07:45:49 -03:00
Ricardo Pardini
f0d3ea7961 armbian-next: tooling: introduce helper/downloader for shellcheck; include in Dockerfile 2023-02-18 07:45:48 -03:00
Ricardo Pardini
871f3cfcee armbian-next: tooling: include ORAS tools in Dockerfile; use them if available instead of downloading 2023-02-18 07:45:47 -03:00
Ricardo Pardini
ecbf09491d armbian-next: logging: introduce RAW_LOG=yes to export .tar with raw unprocessed logs (for development) 2023-02-18 07:45:46 -03:00
Ricardo Pardini
3bcf89d6c6 armbian-next: logging: introduce SHARE_LOG=yes to auto-curl the logs to paste 2023-02-18 07:45:45 -03:00
Ricardo Pardini
da02fde9cc armbian-next: git: backport safe.directory method from master (just add *, once) -- thanks Igor 2023-02-18 07:45:44 -03:00
Ricardo Pardini
3236f76a6a armbian-next: armbian-kernel: default .config options set for all kernels 2023-02-18 07:45:43 -03:00
Ricardo Pardini
bf53bd2988 armbian-next: tmpfs: use size=99% for all tmpfs's; (rootfs/WORKDIR/chroot); thanks Igor for suggestion 2023-02-18 07:45:42 -03:00
Ricardo Pardini
184380f01b armbian-next: u-boot: fix: check gcc version before trying to downgrade certain errors to warnings 2023-02-18 07:45:41 -03:00
Ricardo Pardini
0e480e685e armbian-next: docker: pass down git info via env var, since Docker doesn't get ${SRC}/.git, yet we need that info in the Docker logs 2023-02-18 07:45:40 -03:00
Ricardo Pardini
3c79aaa79f armbian-next: hash/cache: remove some cruft, some better logging 2023-02-18 07:45:39 -03:00
Ricardo Pardini
555a972442 armbian-next: git ref2info: dereference annotated tags to get "real" commit SHA1; fail if curl failed; validate parse_makefile_version() 2023-02-18 07:45:38 -03:00
Ricardo Pardini
70e68b619c armbian-next: swap github in as default u-boot mirror; allow denx to use upstream's gitlab
- @TODO still need to change mirror swap to usage instead of config
2023-02-18 07:45:37 -03:00
Ricardo Pardini
6262f0ac8f armbian-next: u-boot: mark bare repo as safe before using it (@TODO git_ensure_safe_directory() stuff, again) 2023-02-18 07:45:36 -03:00
Ricardo Pardini
7431984025 armbian-next: docker: pass CARD_DEVICE to Docker via --device 2023-02-18 07:45:35 -03:00
Ricardo Pardini
3f91b77e3f armbian-next: docker-shell: provide SSH and forward ssh auth socket to docker-shell 2023-02-18 07:45:34 -03:00
Ricardo Pardini
388c76c91b armbian-next: shellcheck: squash more shellcheck warnings; some long-lost variables being used; some unset's that are better reset's, etc 2023-02-18 07:45:33 -03:00
Ricardo Pardini
2767cf8fc2 armbian-next: shellcheck: raise the bar, stop excluding "SC2154 is referenced but not assigned" 2023-02-18 07:45:32 -03:00
Ricardo Pardini
68d76d6f3a armbian-next: squash some shellcheck warnings; don't local and assign subshell value in same statement, that masks errors (declare/local almost-always works) 2023-02-18 07:45:31 -03:00
Ricardo Pardini
010760fa92 armbian-next: shellcheck: raise the bar, stop excluding "SC2155 Declare and assign separately to avoid masking return values" 2023-02-18 07:45:30 -03:00
Ricardo Pardini
6258ea566a armbian-next: shellcheck: squash a bunch of 'critical' warnings 2023-02-18 07:45:29 -03:00
Ricardo Pardini
7d540d8a2e armbian-next: shellcheck: update, cleanup script, invent some new severities 2023-02-18 07:45:28 -03:00
Ricardo Pardini
1fc13a57a7 armbian-next: json-info: cleanup info/json/csv/opensearch, add logging, add some very basic instructions; add Kibana dashboards & docker-compose to bring it OS+Kibana up 2023-02-18 07:45:27 -03:00
Ricardo Pardini
e3a0f949e1 armbian-next: call-stack-analyze.py: detect missing function_to_file and stop properly (half-finished traces?) 2023-02-18 07:45:26 -03:00
Ricardo Pardini
a7fcd44942 armbian-next: cli: u-boot alias: don't stop to interactively ask for kernel configuration during u-boot build 2023-02-18 07:45:25 -03:00
Ricardo Pardini
ed98d21040 armbian-next: u-boot: downgrade more errors to warnings, so we can build some legacy u-boot's 2023-02-18 07:45:24 -03:00
Ricardo Pardini
ba7487b1a1 armbian-next: docker: fix Dockerfile generation; don't output logs info during Dockerfile build 2023-02-18 07:45:23 -03:00
Ricardo Pardini
c5de5e0f1f armbian-next: logging: ansi-haste sharing beta 2 (now with URL) 2023-02-18 07:45:22 -03:00
Ricardo Pardini
bb6975707a armbian-next: take a breath: config might mark aggregation required; aggregation requires prepare_host, and thus runs in default-build 2023-02-18 07:45:21 -03:00
Ricardo Pardini
bef7f8fee4 armbian-next: artifacts: introduce kernel/u-boot artifacts; git ref2info; "memoizer"; some hashing
- artifacts: u-boot/kernel - pt7 - adapt legacy/artifact versions; use common `capture_rename_legacy_debs_into_artifacts()`
- artifacts: u-boot - pt6: add artifact for u-boot
  - use artifact version / reason in actual u-boot .deb if present
- artifacts: kernel - pt5: tune kernel version, refactor
- artifacts: kernel - pt4: squash unrelated bugs that show up; move `prepare_compilation_vars()` to default build
- artifacts: kernel - pt3: drivers+patches+.config hashing
  - split file hashing function from drivers-harness; fix it so filenames are relative and sorted; sort from ${SRC}, always
  - aplit prepare_kernel_config_core_or_userpatches() from `kernel_config_initialize()`
- artifacts: kernel - pt2:  memoizing git ref2info
- artifacts: kernel - pt1:  versioning
2023-02-18 07:45:20 -03:00
Ricardo Pardini
19aa7e95cf armbian-next: introduce assert_prepared_host() and assert before using any Python, to un-mask any further fallacies 2023-02-18 07:45:19 -03:00
Ricardo Pardini
956ef9ac7d armbian-next: fix: for the 1000th time had broken KERNEL_ONLY=yes; curb some warnings 2023-02-18 07:45:18 -03:00
Ricardo Pardini
b4df4b83c3 armbian-next: logging: detect TERM=alacritty and use normal instead of gray 2023-02-18 07:45:17 -03:00
Ricardo Pardini
281e3f0828 armbian-next: cli: try (and fail, probably...) to be helpful with half-working Docker installs 2023-02-18 07:45:16 -03:00
Ricardo Pardini
d43c4262b0 armbian-next: cli: *do not* allow running as root on terminal; make PREFER_DOCKER=no actually work
- do allow root if non-interactive
2023-02-18 07:45:15 -03:00
Ricardo Pardini
aadf012464 armbian-next: do-not-fix docker-asking-for-docker error by adding a "tip" 2023-02-18 07:45:14 -03:00
Ricardo Pardini
150a90df17 armbian-next: config: twist prep_conf_main_minimal_ni() to receive use_board= 2023-02-18 07:45:13 -03:00
Ricardo Pardini
44733e1afc armbian-next: git: refactor git_parse_ref() out of fetch_from_repo() for reuse 2023-02-18 07:45:12 -03:00
Ricardo Pardini
8329b2e970 armbian-next: docker: split docker_cli_build_dockerfile() into docker_cli_prepare_dockerfile(); introduce FAST_DOCKER
- armbian-next: docker: fix hostrelease crazy
2023-02-18 07:45:11 -03:00
Ricardo Pardini
a011de8476 armbian-next: move aggregation-had-run check to more strategic places (pre-bsp, pre-rootfs) instead of at the beginning of full_build_packages_rootfs_and_image() 2023-02-18 07:45:10 -03:00
Ricardo Pardini
fa666aa3d4 armbian-next: interactive: review -t 0 instead of -t 1; move non-interactive check_basic_host() from prepare-host to config-prepare, for consistency 2023-02-18 07:45:09 -03:00
Ricardo Pardini
41d7d0155e armbian-next: docker: fix: not all find's are made equal, back to -mtime +1 (full 24-hour period needed for match) 2023-02-18 07:45:08 -03:00
Ricardo Pardini
b91d752aa6 armbian-next: prepare-host: don't manage ACNG in prepare if not asked to 2023-02-18 07:45:07 -03:00
Ricardo Pardini
8574b87f8d armbian-next: curb some logging for git non-checkouts 2023-02-18 07:45:06 -03:00
Ricardo Pardini
3b126c0730 armbian-next: unify 2 methods for config: prep_conf_main_minimal_ni() (rootfs/firmware/kernel) and prep_conf_main_build_single() (full-build, possibly interactive) 2023-02-18 07:45:05 -03:00
Ricardo Pardini
9dc24840c3 armbian-next: firmware-deb: reworked: Provides/Conflicts instead of Replaces; cp -> git archive; new firmware CLI; FULL version .deb out of tmpfs 2023-02-18 07:45:04 -03:00
Ricardo Pardini
16eb5eb50b armbian-next: aggregate_packages out of main_default_start_build(); introduce assert_requires_aggregation() 2023-02-18 07:45:03 -03:00
Ricardo Pardini
67e6b010f2 armbian-next: cli-build: don't show two BOARD= repeat option 2023-02-18 07:45:02 -03:00
Ricardo Pardini
5fa7bf735b armbian-next: git: fetch_from_repo(): add fetched_revision(_ts) as well as checked_out_revision(_ts); introduce param do_checkout=no to only fetch, not checkout 2023-02-18 07:45:01 -03:00
Ricardo Pardini
1291c6cc3a armbian-next: fix: kernel-git-oras: make sure cache_git_bare_dir exists before trying to decide which media it's on 2023-02-18 07:45:00 -03:00
Ricardo Pardini
3c5488b002 armbian-next: bump logging archive greet to 14 files 2023-02-18 07:44:59 -03:00
Ricardo Pardini
1c00d64b35 armbian-next: repeat build opts: fix missing BOARD, show both after config (for logfile) & after build 2023-02-18 07:44:58 -03:00
Ricardo Pardini
39208d1007 armbian-next: compress-checksum: move config to config-prepare; drop weight; kill warnings 2023-02-18 07:44:57 -03:00
Ricardo Pardini
941bc81868 armbian-next: docker: pass ARMBIAN_ENABLE_CALL_TRACING=yes via env, and only if DOCKER_ARMBIAN_ENABLE_CALL_TRACING=yes 2023-02-18 07:44:56 -03:00
Ricardo Pardini
9849990031 armbian-next: all chroots: mount /var/tmp as tmpfs; create dir /run/user/0 and mount as tmpfs @TODO cleanups 2023-02-18 07:44:55 -03:00
Ricardo Pardini
962ae65a45 armbian-next: docker: include ${SRC}/.git static via Dockerfile, for kernel-patches-to-git / archeology; use fast archeology
- include FAST_ARCHEOLOGY in call to Python, default yes; sync kernel & u-boot call
2023-02-18 07:44:54 -03:00
Ricardo Pardini
6e267f5cd1 armbian-next: docker: passthrough of the SSH agent, via Docker magic on Darwin; enable for docker-shell and kernel-patches-to-git
- don't check/verify/update SSH-related hostkey etc for git tree push
2023-02-18 07:44:53 -03:00
Ricardo Pardini
89d6c686c6 armbian-next: chroot_sdcard_apt_get_install_dry_run(): run again if first try fails, with more logging 2023-02-18 07:44:52 -03:00
Ricardo Pardini
5d3ba1bade armbian-next: patching: rewrite: don't gag on bad "/dev/null.c" rename patches; archeology: --find-copies-harder; try to get GHA to run GH pages
- try to convince GHA to actually run my kernel patching summary workflow on push
2023-02-18 07:44:51 -03:00
Ricardo Pardini
817deb0c53 armbian-next: drop buildpkg code 2023-02-18 07:44:50 -03:00
Ricardo Pardini
c75f5c81b3 armbian-next: ext: grub-sbc-media: syncs with original version, fixes, nextify 2023-02-18 07:44:49 -03:00
Ricardo Pardini
9b1687e32b armbian-next: ext: grub-riscv64: syncs with original version, fixes, nextify 2023-02-18 07:44:48 -03:00
Ricardo Pardini
32bfcb1b68 armbian-next: rootfs: curb logging; GHA outputs rootfs_cache_id_version, rootfs_cache_id and rootfs_out_filename_relative 2023-02-18 07:44:47 -03:00
Ricardo Pardini
bd0a7936da armbian-next: docker/gha: pass down a bunch of GHA specific vars (list unconfirmed)
- docker: curb logging about stdin
2023-02-18 07:44:46 -03:00
Ricardo Pardini
6177b94268 armbian-next: logging: pure ASCII .log; included in Markdown for GHA 2023-02-18 07:44:45 -03:00
Ricardo Pardini
dbfa7329ab armbian-next: cli: kernel cli forces KERNEL_CONFIGURE=no; @TODO this should only "default to", not force. for proper kernel cli, later 2023-02-18 07:44:44 -03:00
Ricardo Pardini
4219533054 armbian-next: aggregation: quick & dirty "potential paths" in Markdown 2023-02-18 07:44:43 -03:00
Igor
00bc1b4a1e armbian-next: rootfs: introduce ROOTFS_COMPRESSION_RATIO, default 5 for general use, default 15 for rootfs CLI; fix pv | tar bug; remove GPG signing
- Remove PGP signing from the script as its done in GHA
- Also remove generating .current control file as its obsolete in this design

Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
2023-02-18 07:44:42 -03:00
Ricardo Pardini
1cec42392e armbian-next: GHA & rootfs adventures, pt 1
- rootfs: create readonly global `rootfs_cache_id` (type+hash+date/version)
- add "oras-upload" CLI command (dumb, no retries, single target/single source)
- docker: mount-bind for & re-pass envs `GITHUB_OUTPUT` and `GITHUB_STEP_SUMMARY` down to Docker
- introduce `github-actions.sh::github_actions_add_output()`
- during logs cleanup, dump the Markdown log into GITHUB_STEP_SUMMARY if it is available
2023-02-18 07:44:41 -03:00
Ricardo Pardini
7f74b2e83f armbian-next: docker: don't spew errors about sharing cache if cache doesn't even exist 2023-02-18 07:44:40 -03:00
Ricardo Pardini
041297c563 armbian-next: binfmt: make sure we have all binfmt's setup & enabled for rootfs build (v2) 2023-02-18 07:44:39 -03:00
Ricardo Pardini
b82badd214 armbian-next: wait_for_disk_sync(): warn only if more than 30s fsync 2023-02-18 07:44:38 -03:00
Ricardo Pardini
ed3416dc7d armbian-next: kernel-debs: squash some warnings; add KERNEL_SRC_ARCH to arch configs; don't warn about NAME_KERNEL 2023-02-18 07:44:37 -03:00
Ricardo Pardini
d4f70008b5 armbian-next: kernel-debs: force arch/arm/boot/zImage as vmlinuz for armhf
- we want a "Linux kernel ARM boot executable zImage (little-endian)" vmlinuz for armhf
- such is not deployed by default by kernel's "make install"
2023-02-18 07:44:36 -03:00
Ricardo Pardini
766d17726c armbian-next: extrawifi: include all patch/misc/wireless*.patch and patch/misc/*wifi*.patch in drivers hash calculation
- calculate hash of hash at once, not for each file
2023-02-18 07:44:35 -03:00
Ricardo Pardini
80410f50c7 armbian-next: extrawifi: include driver_uwe5622_allwinner() in harness 2023-02-18 07:44:34 -03:00
Ricardo Pardini
78dcf01c92 armbian-next: cleanup, kill and add to-do's, remove dead code, turn down logging, squash future shortcircuit bugs
- killed `[[ $ROOTFS_TYPE != ext4 ]] && display_alert "Assuming ${BOARD} ${BRANCH} kernel supports ${ROOTFS_TYPE}" "" "wrn"`
  - which definitely didn't belong in rootfs
- disable usage of run_host_command_logged_long_running for kernel-make
- stop lying about long_running stuff being any different from non-long_running versions
- stop lying about 'set -e' when there's still a bunch of pipes for "pv" and stuff all around
2023-02-18 07:44:33 -03:00
Ricardo Pardini
a9a3c3fe0b armbian-next: kernel-debs: re-enable postinst debugging; fix bad builddeb port for zImage armhf (image_name == NAME_KERNEL) 2023-02-18 07:44:32 -03:00
Ricardo Pardini
3cac8f44a4 armbian-next: we don't really need target RELEASE defined to install host deps (for now), don't freak out about it 2023-02-18 07:44:31 -03:00
Ricardo Pardini
8825a99845 armbian-next: extensions: nomod: for when you really don't care about modules 2023-02-18 07:44:30 -03:00
Ricardo Pardini
f43732a8e9 armbian-next: use unified methods for tmp dir handling all around (except ATF, which is special) 2023-02-18 07:44:29 -03:00
Ricardo Pardini
d17157885c armbian-next: rootfs: converge rootfs-cache and rootfs together; exchange BOARD for ARCH 2023-02-18 07:44:28 -03:00
Ricardo Pardini
695bfb387b armbian-next: rootfs: reset UID of produced rootfs tarball; announce what is doing and what has done 2023-02-18 07:44:27 -03:00
Ricardo Pardini
6077d40f9b armbian-next: rootfs: build rootfs from CLI, sans-BOARD, sans-FAMILY, etc -- rootfs are meant to be shared
- require ARCH/RELEASE for rootfs cli
- disallow BOARD/LINUXFAMILY/BOARDFAMILY being set for rootfs cli
- split `prep_conf_main_only_rootfs()` instead of `prep_conf_main_build_single()` for rootfs-only stuff
- run both conf and build without stdin for rootfs CLI (no interactive allowed)
- don't blindly set `ARCH=armhf` for no reason in main-config
- allow skipping family stuff in main-config, via `allow_no_family=yes` (used only in `prep_conf_main_only_rootfs()`)
- kill double loading of userpatches family, not needed/old code
- allow skipping kernel stuff via `skip_kernel=yes` in `config_pre_main()`  (used only in `prep_conf_main_only_rootfs()`)
2023-02-18 07:44:26 -03:00
Ricardo Pardini
872463f2f0 armbian-next: aggregation: dont' require or consider BOARD or LINUXFAMILY for aggregation anymore
- it was only used for "bsp-aggregation" of `rk3318-box` which I will come up with something extensions/hooks based later
2023-02-18 07:44:25 -03:00
Ricardo Pardini
091ae1d27f armbian-next: rootfs: adapt to new reality after huge refactor
- make `tmpfs_estimated_size` and `available_physical_memory_mib` readonly and global and only ever set once
- remove subshell from `get_rootfs_cache_list()`, new version `get_rootfs_cache_list_into_array_variable()` for sanity
- warns if `ROOT_FS_CREATE_ONLY=yes` is set during cached build path
- add a `wait_for_disk_sync()` after restoring rootfs cache
- fix logging sections for `build_rootfs_only()` and `prepare_rootfs_build_params_and_trap()` in `build_rootfs_and_image()`
- remove the logging section from `get_or_create_rootfs_cache_chroot_sdcard()` call in `build_rootfs_only()` (which is now itself logged)
- @TODO: `deploy_qemu_binary_to_chroot()` is leaking a qemu bin in rootfs cache!
2023-02-18 07:44:24 -03:00
Ricardo Pardini
28d89e2c91 armbian-next: rootfs: new CLI command for rootfs cache building; further refactorings
- _told ya it would all make sense eventually..._
- introduce new, real, non-alias `rootfs` command in `cli-rootfs` -- this _only_ builds rootfs, nothing else
- no more `main_default_build_single()`; instead `full_build_packages_rootfs_and_image()`
- introduce `do_with_default_build()` wrapper, for things that need host prepared + aggregation to run
- CLI-specific parts of `main_default_build_single()` moved to cli-build
- put prepare/cleanup pair of `prepare_rootfs_build_params_and_trap()` and `trap_handler_cleanup_rootfs_and_image()` into new `trap-rootfs.sh` (this needs further splitting for the image part)
- refactor `get_or_create_rootfs_cache_chroot_sdcard()` into `build_rootfs_only()`, `calculate_rootfs_cache_id()`
- update library with new files
2023-02-18 07:44:22 -03:00
Ricardo Pardini
6176dc3702 armbian-next: rootfs: split create-cache into rootfs-create
- bear with me, this will make sense in the end
- a `mount_chroot()` was ejected out of rootfs building code into main, for reuse's sake
2023-02-18 07:44:21 -03:00
Ricardo Pardini
2d30a44831 armbian-next: main: split default-build into build-packages, start-end
- bear with me, this will make sense in the end
2023-02-18 07:44:20 -03:00
Ricardo Pardini
44ae761927 armbian-next: apt: expand local caching to include package lists, as well as .deb's
- `/var/cache/apt` in chroot was already cached;
- add `/var/lib/apt/lists`
- remove usage of namerefs, replace with global dict
2023-02-18 07:44:19 -03:00
Ricardo Pardini
805085ff45 armbian-next: logging: validate where not already in a logging section when trying to start a new one
- with a small exception for 'entrypoint' ;-)
2023-02-18 07:44:18 -03:00
Ricardo Pardini
8a63a0ae20 armbian-next: downloads.sh: some cleanup and add debugging to get_urls() 2023-02-18 07:44:17 -03:00
Ricardo Pardini
3f0c480e9d armbian-next: mark remove_all_trap_handlers() deprecated, it never did anything 2023-02-18 07:44:16 -03:00
Ricardo Pardini
f71e6f4865 armbian-next: patching: accept b4's magic marker git@z Thu Jan 1 00:00:00 1970 for mbox validations 2023-02-18 07:44:15 -03:00
Ricardo Pardini
8fedd749aa armbian-next: kernel/logging: stop lying about LD/AR/INSTALL/SIGN/XZ make output 2023-02-18 07:44:14 -03:00
Ricardo Pardini
780fe26ea4 armbian-next: logging: (very, very early beta) for uploading/sharing of ANSI log file online 2023-02-18 07:44:13 -03:00
Ricardo Pardini
7f16064c23 armbian-next: interactive: info msg before (slow) gathering of all boards 2023-02-18 07:44:12 -03:00
Ricardo Pardini
18c9946a4d armbian-next: countdown: if to test -t 0 (0: stdin, 1:stdout) for interactive-ness; also test in if-not-aborted version 2023-02-18 07:44:11 -03:00
Ricardo Pardini
1a7877bb2e armbian-next: docker: warn & countdown if we can't write to cache/docker; continue by using .tmp/docker if not aborted. 2023-02-18 07:44:10 -03:00
Ricardo Pardini
8d2be2c694 armbian-next: python/pip: solve crazy with /usr/bin/pip3 by not using it (instead, python3 -m pip); don't mask errors
- "| cut" masked errors in multiple places
- include real pip3 version in python deps hash, all will be invalidated
- be less happy about hitting hash/cache, should happen often
2023-02-18 07:44:09 -03:00
Ricardo Pardini
2453722962 armbian-next: docker: pass CI env down to Docker (for GHA etc) 2023-02-18 07:44:08 -03:00
Ricardo Pardini
d4f969c67d armbian-next: docker: don't bomb if stdin is not a terminal (eg, in CI) 2023-02-18 07:44:07 -03:00
Ricardo Pardini
d95478281b armbian-next: fix ANSI logs, use reset at strategic places 2023-02-18 07:44:06 -03:00
Ricardo Pardini
eb30aac310 armbian-next: extensions: move 'extensions.sh' into library; replace manual source with init function
- wraps globals in `extension_manager_declare_globals()` -- and make them actually global
- whoever wrote this original code is insane, add copyright
2023-02-18 07:44:05 -03:00
Ricardo Pardini
092f9ad3b2 armbian-next: firmware-deb.sh: prefix temp dir so it's "deb-firmware" 2023-02-18 07:44:04 -03:00
Ricardo Pardini
486ba2953c armbian-next: bsp: use prepare_temp_dir_in_workdir_and_schedule_cleanup(); bring back PACKAGES_SEARCH_ROOT_ABSOLUTE_DIRS 2023-02-18 07:44:03 -03:00
Igor
90c46e0215 armbian-next: cli: add CLI alias command rootfs-cache for creating rootfs cache 2023-02-18 07:44:02 -03:00
Ricardo Pardini
22074a0cde armbian-next: logging: new log file / summary nomenclature 2023-02-18 07:44:01 -03:00
Ricardo Pardini
a6182bbd89 armbian-next: docker: archive logfiles again; warn & greet testers when archiving many old logfiles 2023-02-18 07:44:00 -03:00
Ricardo Pardini
dcaadac152 armbian-next: git: disallow forcing impossible shallow/full; warn if it's the case
- you gotta wipe the worktree before you change it from full to shallow or vice-versa
2023-02-18 07:43:59 -03:00
Ricardo Pardini
da77aad1dd armbian-next: git: detect, and stop, when git bare trees vs worktrees have been shuffled around and can't be recovered
- hopefully this will never happen ;-)
2023-02-18 07:43:58 -03:00
Ricardo Pardini
51f9f59084 armbian-next: back to cleaning downloaded bundles/gitballs after they've converted to bare tree & proven working 2023-02-18 07:43:57 -03:00
Ricardo Pardini
25d5fe5926 armbian-next: darwin: try to get rid of .DS_Store sneaky bastards before launching Docker 2023-02-18 07:43:56 -03:00
Ricardo Pardini
84e0bc1423 armbian-next: fix, don't try to get pid descendants on non-Linux (fixes Darwin cleanups) 2023-02-18 07:43:55 -03:00
Ricardo Pardini
88ff66ae11 armbian-next: adaptive shallow/full Kernel git bare git (3gb -> 300mb download)
- allows using pre-shallow-ed bare trees, specific to the KERNEL_MAJOR_MINOR
- uses shallow by default if storage is "slow" (mmc), or free disk space < 32g (@TODO tweak this)
- if full tree already there keeps using it
- allow forcing decision with `KERNEL_GIT=full` or `KERNEL_GIT=shallow`
- countdown to confirm if decision based on storage type/free space and user is interactive
  - this has some of the worst copy ever written
- @TODO refactor the device type / free space code, reuse across codebase (3-4 other spots detect free space)
- @TODO GHA self-hosted (full) vs hosted (shallow) runners decision
- sprinkle with `wait_for_disk_sync()` around clean/download/extract
- sprinkle git with debugs, and an info between fetch and checkout (otherwise it seems "fetch" takes a long time)
2023-02-18 07:43:54 -03:00
Ricardo Pardini
72c61f2f68 armbian-next: replace bare sync invocations by introducing wait_for_disk_sync(); sync early at start of build
- wait 10s for sync call; otherwise warn user to be patient
- wait_for_sync "reason for sync" everywhere
- add @TODO for /run/user/0 etc and XDG_RUNTIME_DIR in chroot
2023-02-18 07:43:53 -03:00
Ricardo Pardini
4d43c05f7b armbian-next: kernel: git: remove dead code, GIT_PRE_FETCH_HOOK / checked_out_revision_mtime 2023-02-18 07:43:52 -03:00
Ricardo Pardini
3eacae68c7 armbian-next: kernel: git: split via-ORAS and via-Bundle tangle 2023-02-18 07:43:51 -03:00
Ricardo Pardini
8af14d4f8c armbian-next: countdown: split off file for countdown functions (countdown-to-abort and countdown-to-continue)
- introduce `countdown.sh`, move `traps.sh::exit_if_countdown_not_aborted()` there, introduce `exit_if_countdown_not_aborted()`
2023-02-18 07:43:50 -03:00
Ricardo Pardini
2c9582f9ba armbian-next: add Debian Ports keyring hostdep to strap Debian riscv64 from ports
- rpardini: actually use ports keyring for Debian Risc-V
- `risc-v`: correctly include `debian-ports-archive-keyring` in Risc-V CLI packages
  - include in debootstrap list, via `config/optional/architectures/riscv64/_config/cli/_all_distributions/main/packages`
  - can't have two `--include` in debootstrap call
- riscv64: move `debian-ports-archive-keyring` from main to debootstrap; also only for `sid`
2023-02-18 07:43:49 -03:00
Ricardo Pardini
d8016c49b6 armbian-next: fix ATF build under binutils 2.39+ via TF_LDFLAGS=--no-warn-rwx-segment 2023-02-18 07:43:48 -03:00
Ricardo Pardini
3e012306c4 armbian-next: patching: less horrible patching log, pt 38: downgrade utf-8 mbox to log warning, mark as problem 2023-02-18 07:43:47 -03:00
Ricardo Pardini
549ae08061 armbian-next: git: show "fetch completed" info, lest user thinks fetch is hanging while checking out 2023-02-18 07:43:46 -03:00
Ricardo Pardini
47bac3af92 armbian-next: fix missing BOARD_TYPE 2023-02-18 07:43:45 -03:00
Ricardo Pardini
861b07305e armbian-next: patching: less horrible patching log, pt 37
- don't show stats for patches that are bind applied blind (failed to parse/autogen)
- don't show Author, it's too long
- don't dump Python exceptions in log
- extra: expand Python imports
2023-02-18 07:43:44 -03:00
Ricardo Pardini
8cedc82ec2 armbian-next: hopefully improved error logging; avoid logging errors up to 3x; subdued red stacktraces
- reorg `display_alert()` so more frequent levels are handled first
- improve some ANSI color usage, still a mess
- don't write failed commands stackstrace as warnings to screen -- just to file (yes it's redundant, except if in test)
- more useful / subdued stacktraces, to make actual error more obvious...
2023-02-18 07:43:43 -03:00
Ricardo Pardini
da1cf2b475 armbian-next: rename too-long main function to prep_conf_main_build_single()
- this commit is proof of OCD (old name didn't fit stacktrace space)
2023-02-18 07:43:42 -03:00
Ricardo Pardini
242a5dad1f armbian-next: somewhat-better handling/logging when using Docker (don't show two logfiles to inspect)
- do not show path to Docker run-host's logfile, unless the Docker run itself didn't produce logs
- introduce `global_final_exit_code` to allow to maintain/preserve Docker's exit code without triggering an error host-side
2023-02-18 07:43:41 -03:00
Ricardo Pardini
bf3f346bee armbian-next: still fighting tee leaking: now I think I won, again
- avoid using the "last resort, use lazy umount" by killing tee_pid _and descendants_ before hand. Works!
- introduce `get_descendants_of_pid_array()` using recursive trick to get all descendants
- do not `unset CURRENT_LOGFILE` -- during `logging_error_show_log()` (from SHOW_LOG=no days)
  - do `unset CURRENT_LOGFILE` immediately before processing logs -- although it magically survives. mysteries of traps in bash...
- `declare -g` instead of `export` for `start_logging_section()`
- don't `check_and_close_fd_13()` in `run_cleanup_handlers()`
- do run `check_and_close_fd_13()`, but only after archiving the old logs (in logging trap!)
- add a default error for unhandled TRAP's -- of which should be done
- fix reset of `global_tee_pid=0` in section-logging
2023-02-18 07:43:40 -03:00
Ricardo Pardini
c1100fa461 armbian-next: still fighting tee leaking under duress, turns out I _hadn't_ really won
- last resort, use lazy umount.
- include `lsof` in hostdeps, useful to debug these situations
2023-02-18 07:43:39 -03:00
Ricardo Pardini
e344bc1fc7 armbian-next: nextify "Re-enabling support for Rpi3" 2023-02-18 07:43:38 -03:00
Ricardo Pardini
b0bef8b1c4 armbian-next: patching.py vs decent logging: better, but not there yet
- mostly downgrading stuff to .debug()
- some stats
2023-02-18 07:43:37 -03:00
Ricardo Pardini
a3d8b5891b armbian-next: aggregation.py vs create-cache.sh: better hashing, much desktop
- aggregation.py:
  - only include non-removed pkgs in hash (do'h)
  - use a sorted unique of desktop+rootfs+debootstrap pkgs for pkg hash
  - make space for having apt sources/gpg keys in hash @TODO
  - write a hash-text variable for bash with info, for easy comparison later
  - refactor out bash_string_multiline()
- create-cache.sh:
  - don't armhf unless `ARMHF_ARCH=yes`
  - remove the uninstall stuff until we decide @TODO
  - don't show "free space of MOUNT" when there's only SDCARD
  - better logging for resolv.conf/machine-id shenanigans does in rootfs cache
  - drop dead code, squash some quoting issues
  - show the size of the zstd ball after compressing
  - don't even go to github armbian/cache nor cache.armbian.com for list of caches if SKIP_ARMBIAN_REPO=yes
  - remove mentions of BOARD or BRANCH, not relevant in rootfs cache
2023-02-18 07:43:36 -03:00
Ricardo Pardini
be49433b41 armbian-next: use retries for downloading ORAS tooling
- `do_with_retries()`: add `IS_A_RETRY` and `RETRY_FMT_MORE_THAN_ONCE` for convenient logging in retried functions
2023-02-18 07:43:35 -03:00
Ricardo Pardini
a13fe8d947 armbian-next: allow shortcut EXT= to the overly-long and plural ENABLE_EXTENSIONS= 2023-02-18 07:43:34 -03:00
Ricardo Pardini
ec7639e518 armbian-next: severe bug, there was no prefix-emoji for Windows 2023-02-18 07:43:33 -03:00
Ricardo Pardini
4dd278f07d armbian-next: compile_firmware(): use new temp dir helpers (saves 2Gb+ in WORKDIR), fix typos 2023-02-18 07:43:32 -03:00
Ricardo Pardini
62d948b1b4 armbian-next: still fighting tee leaking under duress, and I think I won
- call `check_and_close_fd_13()` directly when `exit_with_error()` called, don't wait for trap
- store PID spawned by `do_with_logging()` under `$global_tee_pid`
- `check_and_close_fd_13()`:
  - sprinkle with `sync` to give a chance for stuff to die gracefully
  - check if `$global_tee_pid` is set and actually a running PID, if so, kill it
  - do not blindly "wait" for stuff, instead, kill it and wait for it to die -- 100% more likely to not hang ;-)
2023-02-18 07:43:31 -03:00
Ricardo Pardini
ce47db1e0a armbian-next: add logging with size of actual built rootfs in MiB; debug tmpfs in trap & after pkgs done 2023-02-18 07:43:30 -03:00
Ricardo Pardini
164db02af5 armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code 2023-02-18 07:43:29 -03:00
Ricardo Pardini
35fbb7ed6c armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code 2023-02-18 07:43:28 -03:00
Ricardo Pardini
0ea0fe3528 armbian-next: mktemp and tmpfs related utility functions with automatic cleanup handlers 2023-02-18 07:43:27 -03:00
Ricardo Pardini
af7ace7e57 armbian-next: don't leak .raw image if failure before move; show rootfs-tmpfs info
- add escapings and TODO's around the area...
2023-02-18 07:43:26 -03:00
Ricardo Pardini
1636a2afea armbian-next: tune logging: unmounting, u-boot prep/source/install; traps; extensions 2023-02-18 07:43:25 -03:00
Ricardo Pardini
ff4b5069ce armbian-next: extract move_images_to_final_destination() and optimize for fast-move when src/dst on same filesystem 2023-02-18 07:43:24 -03:00
Ricardo Pardini
92d902c883 armbian-next: drop dead/duplicated code for bootsplash and mark kernel-drivers.sh (which includes bootsplash) as dead code 2023-02-18 07:43:23 -03:00
Ricardo Pardini
4d59ad7ac4 armbian-next: try harder to get en_US.UTF-8 logging 2023-02-18 07:43:22 -03:00
Ricardo Pardini
99a7a7980b armbian-next: docker: remove old code 2023-02-18 07:43:21 -03:00
Ricardo Pardini
36c97b8220 armbian-next: extensions: rename kernel-localmodconfig to just lsmod
- rename `KERNEL_CONFIG_FROM_LSMOD` to just `LSMOD` too
- default `LSMOD` to `${BOARD}`
- and make it "better"
2023-02-18 07:43:20 -03:00
Ricardo Pardini
a6a5152695 armbian-next: chroot_sdcard_apt_get_update() to replace and better log chroot_sdcard_apt_get update
- also add retries where it was missing
- @TODO: desktop_postinstall() is a mess, needs aggregation work
2023-02-18 07:43:19 -03:00
Ricardo Pardini
2455c55dac armbian-next: firmware: don't build -full firmware if not on CI/noninteractive and board's not going to use it
- move `fakeroot_dpkg_deb_build()` from runners.sh to new utils-dpkgdeb.sh
  - and make it debug show the size of the source
- clean off `.git` directory earlier for full build
- @TODO: get rid of the "hardlinks" funky biz in there and not-copy `.git` to begin with
2023-02-18 07:43:18 -03:00
Ricardo Pardini
f2bd68afde armbian-next: kernel: cleanup bundle after patching succeeded, not after build success
- for extra gigabytes of space, earlier
2023-02-18 07:43:17 -03:00
Ricardo Pardini
48c0e9acf4 armbian-next: severe bug, countdown counted up 2023-02-18 07:43:16 -03:00
Ricardo Pardini
8444e7e308 armbian-next: bring back swig hostdep -- needed for some u-boot's 2023-02-18 07:43:15 -03:00
Ricardo Pardini
9d26ee1373 armbian-next: logging: squash nasty leaking file descriptor bug due to "tee"
- check and make sure the fd is closed before processing and/or deleting logs.
- change from fd 3 to 13, for extra "this is evil". is it? is 13 an evil number? you decide.
2023-02-18 07:43:14 -03:00
Ricardo Pardini
c4ca062709 armbian-next: tmpfs-utils: last-resort debugging, to stderr, of failed tmpfs unmount 2023-02-18 07:43:13 -03:00
Ricardo Pardini
ff94b79e60 armbian-next: do basic host checks before config if interactive, or during prepare-host if not
- group basic checks at `check_basic_host()`
2023-02-18 07:43:12 -03:00
Tony
f549ddb273 armbian-next: officially support WSL2; pester user for UTF-8 terminal
- new `wsl2.sh` file with WSL2-related functions; checking/validating/pestering user; allow WSL2 (not WSL1)

Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
2023-02-18 07:43:11 -03:00
Ricardo Pardini
bf891d54d9 armbian-next: split prepare_host(), fix .tmp reset trap
- `prepare_host()`: split; do checks earlier and allow them to be interactive
- introduce `exit_if_countdown_not_aborted()` for "Low Disk Space" and other critical conditions
- split `prepare_host()` into interactive & non-interactive parts
- split off `clean_deprecated_mountpoints()` from prepare into `cleaning.sh`
- introduce and use `reset_uid_owner_non_recursive()` for `.tmp` reset in trap, to avoid disasters
- add more logging sections to default-build.sh, avoid unlogged parts
2023-02-18 07:43:10 -03:00
Ricardo Pardini
2d9f9216eb armbian-next: introduce tmpfs-utils.sh; put LOGDIR and WORKDIR under tmpfs; set CCACHE_TEMPDIR under WORKDIR
- introduce generic `prepare_tmpfs_for()`, which manages it's own cleanup/dir removal
- use it for `WORKDIR` (which is `TMPDIR`) and `LOGDIR`
  - adapt previous cleanup handlers for those, so they delete their contents but not the dir itself (which might be mounted)
- also: make `ARMBIAN_LOG_CLI_ID` readonly together with other superglobals
- set `XDG_RUNTIME_DIR` & `XDG_RUNTIME_DIR` together with `TMPDIR`
- kernel-make.sh: pass `CCACHE_TEMPDIR` down to Kernel make (thanks @the-Going)
2023-02-18 07:43:09 -03:00
Ricardo Pardini
d6200a30e6 armbian-next: make superglobals readonly (DEST/WORKDIR/LOGDIR/SDCARD/MOUNT and others) 2023-02-18 07:43:08 -03:00
Ricardo Pardini
7f21e7d5f3 armbian-next: ccache: show more in ccache debugging 2023-02-18 07:43:07 -03:00
Ricardo Pardini
231e179703 armbian-next: traps: allow for cleanup handlers with arguments; unify around run_one_cleanup_handler()
- show error if trap handler fails
2023-02-18 07:43:06 -03:00
Ricardo Pardini
029076d0a0 armbian-next: docker: use dash-lines before/after launching docker; set ARMBIAN_INSIDE_DOCKERFILE_BUILD=yes when it is so 2023-02-18 07:43:05 -03:00
Ricardo Pardini
aaf391bf19 armbian-next: mark Vagrant CLI as unimplemented 2023-02-18 07:43:04 -03:00
Ricardo Pardini
e633ff584a armbian-next: debug note about fstab with tmpfs in chroot 2023-02-18 07:43:03 -03:00
Ricardo Pardini
1075f1b962 armbian-next: make sure temporary kernel and u-boot CLI commands always build a kernel/u-boot even if cached
- really, it's time to split off those into actual, proper CLIs
- remove a forgotten `KDEB_CHANGELOG_DIST` left there
2023-02-18 07:43:02 -03:00
Ricardo Pardini
d8254d1e6e armbian-next: docker: fix Dockerfile output indentation & warning msgs about generation 2023-02-18 07:43:01 -03:00
Ricardo Pardini
43b4f45018 armbian-next: introduce POOR_MAN_PROFILER=yes (under ANSI_COLOR=none)
- turns out EPOCHREALTIME can be comma separated, and have multiple leading zeroes
2023-02-18 07:43:00 -03:00
Ricardo Pardini
2a68cc6e9e armbian-next: optimize for CONFIG_DEFS_ONLY=yes, skipping stacktraces/git info 2023-02-18 07:42:59 -03:00
Ricardo Pardini
b7fa6fa8b0 armbian-next: optimize config_source_board_file(), now 600x faster by not reusing (slow) code from interactive 2023-02-18 07:42:58 -03:00
Ricardo Pardini
e540e52207 armbian-next: patching: parse renamed source files, don't swallow them during rewrite 2023-02-18 07:42:57 -03:00
Ricardo Pardini
a254643268 armbian-next: patching: avoid mangling valid utf-8 from mbox'es 2023-02-18 07:42:56 -03:00
Ricardo Pardini
7096cf70d3 armbian-next: patching: remove quotes from author name during parsing 2023-02-18 07:42:55 -03:00
Ricardo Pardini
0207d5f517 armbian-next: patching: don't rewrite empty desc as "None" 2023-02-18 07:42:54 -03:00
Ricardo Pardini
3c7587ef84 armbian-next: patching: don't complain about missing files when the patch parsed OK and file was actually deleted 2023-02-18 07:42:53 -03:00
Ricardo Pardini
eb7b80983b armbian-next: fix re-launching of CLI commands under sudo (Docker was ok) 2023-02-18 07:42:52 -03:00
Ricardo Pardini
78fd35a1e3 armbian-next: better logging for kernel_prepare_bare_repo_from_oras_gitball(); remove dead code
- remove dead code used to fetch tags, back from pre-bundle days
2023-02-18 07:42:51 -03:00
Ricardo Pardini
47a57e8856 armbian-next: a bunch of checks for Darwin; use brew's GNU coreutils first in PATH, so we get the correct utils; give instructions 2023-02-18 07:42:50 -03:00
Ricardo Pardini
6cf26e4c59 armbian-next: don't warn about using extlinux 2023-02-18 07:42:49 -03:00
Ricardo Pardini
4d17aa2a98 armbian-next: rootfs: bunch'o'fixes, introduce disable_systemd_service_sdcard() to stop repeating incantantion
- fix a bunch of quoting issues
- use runners for chroot stuff
- don't error out of failed disable
- makes building `sid` again possible
- add a bunch of TODO's
2023-02-18 07:42:48 -03:00
Ricardo Pardini
b94074ec0a armbian-next: Docker: abstract away and only run "docker info" once, it's very expensive 2023-02-18 07:42:47 -03:00
Ricardo Pardini
7879895049 armbian-next: core extensions for xfs / f2fs / brtfs / LUKS/cryptroot hostdeps; enable in main-config 2023-02-18 07:42:46 -03:00
Ricardo Pardini
0ac6a8fc1d armbian-next: add core extension c-plus-plus-compiler which hostdeps on g++-aarch64-linux-gnu and enable it in JetHub family 2023-02-18 07:42:45 -03:00
Ricardo Pardini
7beeae6219 armbian-next: Python tooling: use consolidated+hashed+cached pip base/pycache; don't pip during Dockerfile build, nor cli-requirements
- consolidate at `prepare_python_and_pip()`
- sanity check for Python version 3.9+ regardless of HOSTRELEASE
- TODO: pip vs sudo/root: need pip 22.2+ to curb warning, not doing it
2023-02-18 07:42:44 -03:00
Ricardo Pardini
350cf62ee0 armbian-next: don't copy the host's keyrings to image
- why did we do this?
- there could be _anything_ in the host keyring, and it's not needed
2023-02-18 07:42:43 -03:00
Ricardo Pardini
461f82f95a armbian-next: completely remove acl (which provided getfacl) and it's usages (basic deps) 2023-02-18 07:42:42 -03:00
Ricardo Pardini
9933fdc993 armbian-next: consider "Provided" installed packages when determining what is missing from host-side dependencies
- stop trying to install stuff that's already installed via Provides
- @TODO: something similar might be needed for rootfs as well
2023-02-18 07:42:41 -03:00
Ricardo Pardini
b5a777c4ac armbian-next: remove REPO_STORAGE and REPO_CONFIG -- unused 2023-02-18 07:42:40 -03:00
Ricardo Pardini
53266feff8 armbian-next: kernel: deterministic .config mtime handling; kernel build logging sections reorg
- .config is now compared with previous one byte-wise, diff shown, and mtime preserved directly via `cp -p`
- this does away with the previous mtime-based BS I had written during the fasthash era (and thus remove file-mtime.sh, regen lib)
- split some functions, to better control the interactive piece in the _middle_ of kernel config process
- no more `kernel_config_maybe_interactive()`, now `kernel_config()` that controls its own logging sections
- extract `kernel_determine_toolchain()` out of config into make
- introduce internal hook `armbian_kernel_config()` that runs before custom version (for .config defaults, coming soon)
2023-02-18 07:42:39 -03:00
Ricardo Pardini
c99e06a84b armbian-oleg: logging: disable debugging (set -x) of generated postinst/etc kernel scripts (board-side, but also chroot logging) 2023-02-18 07:42:38 -03:00
Ricardo Pardini
6b09e97b4f armbian-oleg: logging: drastically curb / make more useful kernel packaging logging 2023-02-18 07:42:37 -03:00
Ricardo Pardini
00e1dec8a2 armbian-next: odroidxu4 vs kernel: move firmware hack to family using extension hook
- @TODO: is this even needed/used anymore?
2023-02-18 07:42:36 -03:00
Ricardo Pardini
878332fea1 armbian-next: cli: half-assed, legacy based, kernel and u-boot cli commands
- @TODO: a placeholder for now, needs refactoring after patching-hash/versioned-kernel work
2023-02-18 07:42:35 -03:00
Ricardo Pardini
ef36016ee4 armbian-next: logging: reinit logging after processing cmdline parameters
- so `DEBUG=yes` actually works
2023-02-18 07:42:34 -03:00
Ricardo Pardini
62bc394738 armbian-oleg: curb logging from building armbian-plymouth-theme; do it in a logging section, like the others 2023-02-18 07:42:33 -03:00
Ricardo Pardini
e8306a8712 armbian-oleg: curb logging from building armbian-firmware 2023-02-18 07:42:32 -03:00
Ricardo Pardini
d979c73c1d armbian-next: split compilation/debs.sh; compile_xilinx_bootgen() moved to family 2023-02-18 07:42:31 -03:00
Ricardo Pardini
898d567ae0 armbian-oleg: if commands fail, write to log in bright red 2023-02-18 07:42:30 -03:00
Ricardo Pardini
68d8f10666 armbian-oleg: make chroot_sdcard_apt_get_install_dry_run() logging more useful by filtering the noise out 2023-02-18 07:42:29 -03:00
Ricardo Pardini
c7c7d2e0d6 armbian-oleg: drastically curb apt-get logging when running in chroot 2023-02-18 07:42:28 -03:00
Ricardo Pardini
8944c56255 armbian-oleg: drastically curb boot_logo() logging 2023-02-18 07:42:27 -03:00
Ricardo Pardini
75997b0e2c armbian-oleg: drastically curb update-initramfs logging, unless SHOW_DEBUG=yes
- also, don't let the logging filter be the reason for failures
2023-02-18 07:42:26 -03:00
Ricardo Pardini
12ffcd6319 armbian-oleg: curb rsync logging during bsp 2023-02-18 07:42:25 -03:00
Ricardo Pardini
2c0c968645 armbian-oleg: curb Python launcher logs 2023-02-18 07:42:24 -03:00
Ricardo Pardini
95ffd76b3b armbian-oleg: curb apt-get's logging with -q / -qq 2023-02-18 07:42:23 -03:00
Ricardo Pardini
b03530dacd armbian-oleg: better logs; only include non-empty .log files 2023-02-18 07:42:22 -03:00
Ricardo Pardini
df058ea3f1 armbian-next: fix quoting of retry var (cosmetic)
- this commit is proof of OCD
2023-02-18 07:42:21 -03:00
Ricardo Pardini
d24f363187 armbian-oleg: logging: new logfile format; SHOW_LOG=yes default; introduce DEBUG=yes
- default `SHOW_LOG=yes` if user on terminal
- shortcut: `DEBUG=yes` defaults both `SHOW_LOG=yes` & `SHOW_DEBUG=yes`
- much simpler logging format for log file
- skip all display_alert()'s more verbose than DEBUG from logfile
  - set `DEBUG=yes` to log everything again
- skip Markdown assets from being included in ANSI log
- use of `ccze`
- introduce internal var for controlling COMMAND-level log
- remove unused `run_on_sdcard()` that somehow was left there
- drop `export_html_logs()` and `EXPORT_HTML_LOG` -- are no more
2023-02-18 07:42:20 -03:00
Ricardo Pardini
7493ce1b09 armbian-next: long overdue split of logging.sh 2023-02-18 07:42:19 -03:00
Ricardo Pardini
5b024f64ad armbian-next: curb free_loop_device_retried()'s logging on first try 2023-02-18 07:42:18 -03:00
Ricardo Pardini
1ed9dada4d armbian-next: curb aria2c's complaining a bit 2023-02-18 07:42:17 -03:00
Ricardo Pardini
3563a5f1e2 armbian-next: curb down git fetch logging; be verbose if user on terminal & not logging 2023-02-18 07:42:16 -03:00
Ricardo Pardini
2a22cee345 armbian-next: curb down wget logging for ORAS tooling download 2023-02-18 07:42:15 -03:00
Ricardo Pardini
47af820f5d armbian-oleg: junk: drastically reduce host-side dependencies / "remove junk"
- remove a lot of hopefully / hardly confirmed, unused dependencies
- don't use crossbuild-essential-xxx; avoid the c++ compiler that comes with it, install gcc-only instead
- hostdeps: use `libc6-dev make dpkg-dev gcc` (without `g++`) instead of `build-essential`
- drop `btrfs-progs` and `f2fs-tools`  (@TODO add in extension when/whereused)
- more: drop `cryptsetup` (@TODO add in extension when/whereused)
- don't be too quiet when doing apt-update for hostdeps
2023-02-18 07:42:14 -03:00
Ricardo Pardini
e1f136124b armbian-next: remove old template Dockerfile, -next does not use this at all 2023-02-18 07:42:13 -03:00
Ricardo Pardini
93c8ce99af armbian-next: apt-cacher-ng is now optional and activated via MANAGE_ACNG=yes; drop NO_APT_CACHER
- acng is constant source of headaches
- we don't need it anymore, since we have local caching now
- You can also have acng running on a different machine/container and set `APT_PROXY_ADDR=xxx:3142` if you're running a build farm
2023-02-18 07:42:12 -03:00
Ricardo Pardini
d4d3c1346c armbian-oleg: split hostdeps again, full of ifs, and reduce the minimum set of pkgs for Oleg-conditions while trying to keep Docker full
- probably breaks a lot of stuff; c++ compilers, distcc, possibly others
- split into late_prepare_host_dependencies / early_prepare_host_dependencies calling adaptative_prepare_host_dependencies() full of if's

also:
- calc deps out of configuration
- reorg checks into obtain_and_check_host_release_and_arch()
2023-02-18 07:42:11 -03:00
Ricardo Pardini
225e878743 armbian-oleg: introduce DOCKER_SIMULATE_CLEAN=yes so I can pretend to be Oleg, but using Docker
- if set, the Docker launcher will not install any dependencies
- so every Docker run will reinstall everything from scratch
- do NOT use, **even if you're Oleg**
2023-02-18 07:42:10 -03:00
Ricardo Pardini
d7ea267389 armbian-oleg: handle error during host deps installation (Oleg has a mangled sources.list?) 2023-02-18 07:42:09 -03:00
Ricardo Pardini
3320081192 armbian-next: better logging for early apt installs during prepare_host_basic() 2023-02-18 07:42:08 -03:00
Ricardo Pardini
e6b1c4d875 armbian-next: CLEAN_LEVEL=make-kernel now does git clean -xfd instead, faster and 100% clean 2023-02-18 07:42:07 -03:00
Ricardo Pardini
4f743caab8 armbian-next: drivers-harness: force -c commit.gpgsign=false during git commit 2023-02-18 07:42:06 -03:00
Ricardo Pardini
8aa0ee640f armbian-next: rootfs: don't stop if df -h fails
- still needs work
2023-02-18 07:42:05 -03:00
Ricardo Pardini
1e9bd386c5 armbian-next: SYNC_CLOCK: don't attempt if ntpd is running; don't fail if ntpdate fails for any reason 2023-02-18 07:42:04 -03:00
Ricardo Pardini
b380ba4d86 armbian-next: further split of config-prepare() and do_main_configuration() into do_extra_configuration() - fixes interactive desktop 2023-02-18 07:42:03 -03:00
Ricardo Pardini
4307bac073 armbian-next: patching: use --zero-commit instead of find/replace for rewrite 2023-02-18 07:42:02 -03:00
Ricardo Pardini
14ecc86b60 armbian-next: patching: grouping tryout, very basic by-dir: SPLIT_PATCHES=yes 2023-02-18 07:42:01 -03:00
Ricardo Pardini
f0a0fa3000 armbian-next: patching: patches-to-git: don't eat newline between subject and message 2023-02-18 07:42:00 -03:00
Ricardo Pardini
a57e128cfa armbian-next: patching: don't gag if empty hexsha / no archeology possible 2023-02-18 07:41:59 -03:00
Ricardo Pardini
353bf93bb5 armbian-next: uefi-common: declare -g, not export 2023-02-18 07:41:58 -03:00
Ricardo Pardini
e084991abc armbian-next: copy modified config + defconfig back from where it came from when KERNEL_CONFIGURE=yes 2023-02-18 07:41:57 -03:00
Ricardo Pardini
360f1ba4f9 armbian-next: patching: go through parsing & splitting all patches before stopping if there are critical errors 2023-02-18 07:41:56 -03:00
Ricardo Pardini
0b0fa6630b armbian-next: patching: add sanity checks for magic markers matching mbox len & patch_contents not containing magic markers
- case in point, mvebu-edge's disappearing patch in `12-net-dsa-mv88e6xxx.patch`
2023-02-18 07:41:55 -03:00
Ricardo Pardini
b7efd70f1a armbian-next: patching: to-git: don't fail if is_autogen_dir; only change Subject if not rewriting in place 2023-02-18 07:41:54 -03:00
Ricardo Pardini
d152574ea8 armbian-next: move aggregation to after prepare_host(), and thus out of config, and with correct Python deps 2023-02-18 07:41:53 -03:00
Ricardo Pardini
8d55a3258b armbian-next: [focal-host] don't use git's --initial-branch which is not supported on focal's git 2023-02-18 07:41:52 -03:00
Ricardo Pardini
ac81b410e0 armbian-next: [focal-host] don't use git format-patch's --no-encode-email-headers which is not supported on focal's git 2023-02-18 07:41:51 -03:00
Ricardo Pardini
2b54793899 armbian-next: [focal-host] run pip3 under the python3_binary_path (so coerce it to use 3.9 under focal) 2023-02-18 07:41:50 -03:00
Ricardo Pardini
eda272045d armbian-next: [focal-host] remove usages of declare -I, not supported under focal's bash
- this is bad/terrible and will cause a lot of shellcheck errors... but such is life
2023-02-18 07:41:49 -03:00
Ricardo Pardini
6dda660fb6 armbian-next: [focal-host] try to support focal-like host OS's again, by avoiding git's --no-auto-maintenance 2023-02-18 07:41:48 -03:00
Ricardo Pardini
6cb12a3397 armbian-next: [focal-host] try to support focal-like host OS's again, via python3.9 (and drop buster completely)
- completely remove support for building under `buster` -- that's way too old, sorry.
- de-hardcode `python3` invocations, instead use `python3_binary_path` set by `prepare_python3_binary_for_python_tools()`
- juggle `$HOSTRELEASE`: read from actual host, or determined from Docker image name (during Dockerfile build)
- TL;DR: include and use `python3.9` for focal-like host OS's
2023-02-18 07:41:47 -03:00
Ricardo Pardini
f167864f2c armbian-next: split of config-prepare into multiple functions, allowing for logging of all non-interactive sections
- introduce `do_with_conditional_logging()` which only starts logging sections if `do_logging=no`
- with this we should get complete logs (ofc except for the interactive sections)
2023-02-18 07:41:46 -03:00
Ricardo Pardini
61d4691e09 armbian-next: drivers-harness: make sure cached patch is valid; write it first to tmp file; redirect inside subshell
- otherwise if format-patch failed, it would still create the (invalid) file which would be used next time
2023-02-18 07:41:45 -03:00
Ricardo Pardini
92a4296a62 armbian-next: drivers-harness: pass HOME/PATH explicitly to git commit/format-patch 2023-02-18 07:41:44 -03:00
Ricardo Pardini
6c11914e38 armbian-next: cli: json-info: make errors clearer; don't include logs on success; small fixes 2023-02-18 07:41:43 -03:00
Ricardo Pardini
0e8bddd1e8 armbian-next: cli: config-dump: can now run on any bash/coreutils-enabled machine; remove some useless vars from dump 2023-02-18 07:41:42 -03:00
Ricardo Pardini
c33b59d61b armbian-next: config: reduce bash scope & remove some vars un-needed outside of config 2023-02-18 07:41:40 -03:00
Ricardo Pardini
166a34da86 armbian-next: avoid linux-version during configuration; declare -g instead of export
- config might run on a non-Linux, bash-capable, GNU coreutils enabled machine, so avoid `linux-version`
- use `declare -g` instead of `export` for most of `prepare_and_config_main_build_single()`
2023-02-18 07:41:40 -03:00
Ricardo Pardini
f252138693 armbian-next: call hook post_aggregate_packages() only after actually aggregating 2023-02-18 07:41:38 -03:00
Ricardo Pardini
6c027ba552 armbian-next: delete old aggregation code from config 2023-02-18 07:41:37 -03:00
Ricardo Pardini
67108e31c0 armbian-next: move var HOSTRELEASE from config to prepare_host() 2023-02-18 07:41:36 -03:00
Ricardo Pardini
6797016cfb armbian-next: move compilation vars (chtreads, ccache stuff) from config to compile 2023-02-18 07:41:35 -03:00
Ricardo Pardini
60fb19b48d Obsolete: kernel-headers via full source + make modules_prepare for 4.19 kernels. [later removed] 2023-02-18 07:41:34 -03:00
Ricardo Pardini
68fafebf9f Obsolete: try for working armhf kernel-headers. leading nowhere. move to kernel-source / make modules_prepare later. [later re-done] 2023-02-18 07:41:33 -03:00
Ricardo Pardini
59278d1869 armbian-next: remove spurious debug logging with no useful info "Error-related files found" 2023-02-18 07:41:32 -03:00
Ricardo Pardini
775826e970 armbian-next: rockchip-rk3588 edge bump & armbian-next'ify 2023-02-18 07:41:31 -03:00
Ricardo Pardini
522917bb8f armbian-next: clearfog/cubox/odroidxu4: patching Makefile armv5 to armv7-a so uboot compiles with modern gcc
- have absolutely no idea if this works. there's also some other `armv5` variants to try if this does not.
- XU4's CPU is Exynos5422 ARM Cortex-A15 which should be armv7-a indeed, so why not?
- i.MX 6 series is ARM Cortex-A9 or Cortex-A7, which should be armv7-a indeed, so why not?
- ARMADA A388 is 32-bit Cortex A9, which should be armv7-a indeed, so why not?
2023-02-18 07:41:30 -03:00
Ricardo Pardini
8fa7f36b4f armbian-next: mvebu.conf::family_tweaks(): small armbian-next'ify for better logging 2023-02-18 07:41:29 -03:00
Ricardo Pardini
b8e595aef4 armbian-next: drivers-harness: include the revert-IPX patch as a "driver" before all others 2023-02-18 07:41:28 -03:00
Ricardo Pardini
c18357fe56 armbian-next: drivers-harness: remove commit-date, do proper logging & escaping for git add/commit/format-patch
- seems like I indulged in the same mistakes I've been correcting for years ("&> /dev/null") - d'oh
2023-02-18 07:41:27 -03:00
Ricardo Pardini
cc7972df0d armbian-next: grub: make /usr/share/desktop-base/grub_background.sh executable, otherwise does nothing 2023-02-18 07:41:26 -03:00
Ricardo Pardini
ec2e6c42be armbian-next: happy new year, bump Igor's copyright 2023-02-18 07:41:25 -03:00
Ricardo Pardini
43f268fdcb armbian-next: remove very old extlinux killswitch 2023-02-18 07:41:24 -03:00
Ricardo Pardini
c61b985417 armbian-next: better logging in distro-agnostic.sh
- still _a lot_ to fix
2023-02-18 07:41:23 -03:00
Ricardo Pardini
8f3fd355eb armbian-next: tune logging in multiple places, there was a lot of redundant/un-needed info's 2023-02-18 07:41:22 -03:00
Ricardo Pardini
7987dad34d armbian-next: Python tools (aggregation/patching): use separate pycache dir in ./cache; use unbuffered stdout/stderr 2023-02-18 07:41:21 -03:00
Ricardo Pardini
59031be6b3 armbian-next: only put systemd-resolved's symlink in place if _not_ using NetworkManager
- why is it even installed? dunno, but fix anyway.
2023-02-18 07:41:20 -03:00
Ricardo Pardini
f8b141cdf0 armbian-next: fix: only aggregate packages if building images (AR-1471) 2023-02-18 07:41:19 -03:00
Ricardo Pardini
c4a85c4771 armbian-next: json-info: do not replace ${SRC} 2023-02-18 07:41:18 -03:00
Ricardo Pardini
690ca4df7c armbian-next: add (trap) cleanup handler to reset ./tmp and ./output to original pre-sudo UID before exiting, even with failure/abort 2023-02-18 07:41:17 -03:00
Ricardo Pardini
9973010972 armbian-next: Python patching: pass $HOME/$PATH to Python, so git can find .gitconfig and Python can find git
- add sanity check before handling the Git repo in Python (call `status()` to make sure access is OK)
2023-02-18 07:41:16 -03:00
Ricardo Pardini
12b31afa51 armbian-next: git: mark submodule's dirs as safe before recursive fetch_from_repo() 2023-02-18 07:41:15 -03:00
Ricardo Pardini
3bc8afd593 armbian-next: refactor losetup -d ... into free_loop_device_insistent() which retries 10 times 2023-02-18 07:41:14 -03:00
Ricardo Pardini
f679b81b10 armbian-next: git: use --recurse-submodules=no for fetch; fetch_from_repo() handles submodules separately
- also remove `du` working copy size debugging
2023-02-18 07:41:13 -03:00
Ricardo Pardini
65da2a697f armbian-next: remove @TODO for stuff already done 2023-02-18 07:41:12 -03:00
Ricardo Pardini
ddbb91653f armbian-next: reset_uid_owner for the markdown log file too 2023-02-18 07:41:11 -03:00
Ricardo Pardini
2f9a4470c7 armbian-next: validate cmdline params against malformed
- eg: `./compile.sh $ERROR=here` is caught now
2023-02-18 07:41:10 -03:00
Ricardo Pardini
093e60d111 armbian-next: exec into sudo when relaunching (AR-1452)
- with `exec`, `sudo` replaces the current shell, and thus never returns
2023-02-18 07:41:09 -03:00
Ricardo Pardini
a3c64bb6e7 armbian-next: aggregation: fix PACKAGE_LIST_BOARD_REMOVE/PACKAGE_LIST_FAMILY_REMOVE; also remove pkgs from DESKTOP aggregation
- case in point: `hostapd`, again.
2023-02-18 07:41:08 -03:00
Ricardo Pardini
8399c5d72b armbian-next: **regen library** after some 13 squashes (and repo.sh removal) 2023-02-18 07:41:07 -03:00
Ricardo Pardini
a512edbaa9 armbian-next: better logging for jethub's tweaks 2023-02-18 07:41:06 -03:00
Ricardo Pardini
9370c19a44 armbian-next: drop old code for patching & fasthash
- split the modification time stuff to general
2023-02-18 07:41:05 -03:00
Ricardo Pardini
143ba996ca armbian-next: git: setup the worktree first before trying to ensure safe 2023-02-18 07:41:04 -03:00
Ricardo Pardini
5384a7dcbc armbian-next: ignore git errors due to missing 'origin' remote and/or revisions of ${SRC}/.git during main-config 2023-02-18 07:41:03 -03:00
Ricardo Pardini
85009a6431 armbian-next: git worktree: forcefully fix the worktree's reference to the bare repo, and vice-versa 2023-02-18 07:41:02 -03:00
Ricardo Pardini
e607e9e54e armbian-next: remove spurious output.log redirections in downloads.sh; warn that download_and_verify() is unhandled in armbian-next 2023-02-18 07:41:01 -03:00
Ricardo Pardini
bd04f71a05 armbian-next: Revert "Fix issues 4589 (#4614)" (installing HEADERS dependencies manually)
- This reverts commit 36d9420d
- this makes no sense
- we don't do adhoc installs in armbian-next
2023-02-18 07:41:00 -03:00
Ricardo Pardini
eb6081678f armbian-next: fix sunxi/sunxi64 using wrong KERNELPATCHDIR and incurring in old symlinks 2023-02-18 07:40:59 -03:00
Ricardo Pardini
9200a2ce0c armbian-next: bring find_toolchain() back from the dead; force SKIP_EXTERNAL_TOOLCHAINS=no to force use external toolchains
- handle a lot of corner cases, some toolchains are i386-only and won't run on modern x64 systems
2023-02-18 07:40:58 -03:00
Ricardo Pardini
39ac9e00b1 armbian-next: docker: don't try to double init when recovering from failed pull 2023-02-18 07:40:57 -03:00
Ricardo Pardini
7842113c1d armbian-next: make sure at least one board config file is sourced, otherwise misspell BOARD= is hard to find 2023-02-18 07:40:56 -03:00
Ricardo Pardini
770d508ca0 armbian-next: Python patching delusion pt 5 + EXTRAWIFI patch generator/harness + consistent patch mtime targets
- Python patching: tune some logging all-around
- Python patching: *FINALLY* set the dates on the patched files to `max(patch_date, root_makefile_date)` thus making lighting-fast rebuilds again
- new EXTRAWIFI patch generator harness; Python patching EXTRA_PATCH_FILES_FIRST
- Python patching: use temp file for patching rejects; clean it up
- new EXTRAWIFI patch generator harness; Python: mark drivers as autogen, don't split or parse them, read as bytes, apply bytes directly
- new EXTRAWIFI patch generator harness; somewhat-works, but patches are per-family
- Python patching: add the `cache/patch` as a mountpoint
  - Darwin Docker performance is 20x with namedvolume; the cached patches are very large
2023-02-18 07:40:55 -03:00
Ricardo Pardini
97f6836705 armbian-next: Python patching delusion, pt4: series & better markdown
- Python patching: hopefully better Markdown: split series dir; detect more status/problems; arche only for missing Subject
  - Python patching: archeology only for missing Subject:, not description; clarify CLI pushing
  - Python patching: use `{file_base_name}.patch` for archeology as `file_name` might include a dir
- Python patching: fix: don't skip board/target patches for no reason
- Python patching: fix for series.conf patches (sunxi/sunxi64): don't sort; mark as series and show on summary
- Python patching: don't fail if archeology found no commits (but add warning)
- Python patching: CLI command `kernel-patches-to-git` with archeology summary, and git pushing of results & summary
  - Python patching: patches-to-git small fixes, auto-push if it's rpardini
  - Python patching: add `patch-kernel` CLI command
- Python patching: commit README.md & gh-pages workflow when apply_patches_to_git
  - Python patching: hopefully better markdown
- Python patching: `git add` everything all at once, for speed
2023-02-18 07:40:54 -03:00
Ricardo Pardini
2c0e9182ed armbian-next: introduce ORAS-based kernel git bare tree seeding/bundles
- armbian-next: fixes to ORAS-related logging
- armbian-next: actually enable ORAS-based kernel git bare tree seeding/bundles; enable cleaning of bundle articfacts after confirmed working
- armbian-next: introduce ORAS-based kernel git bare tree seeding/bundles (although it is a .tar, not a bundle); this is 20x faster than cloning
- armbian-next: introduce `ORAS` tooling; pull and push functions & downloader/launcher
2023-02-18 07:40:53 -03:00
Ricardo Pardini
76e276c6a9 armbian-next: Python patching delusion, pt1 & pt2 & pt3
- WiP: Python patching delusion, pt 1: finding & parsing patches; apply & git commit with pygit2; Markdown summaries (also for aggregation); git-to-patches tool
  - Python: Markdown aggregation and patching summaries; collapsible; SummarizedMarkdownWriter
  - Python: Markdown aggregation and patching summaries
  - Python: reorg a bit into common/armbian_utils; define the `ASSET_LOG_BASE` in preparation for Markdown delusion
  - Python patching: initial apply patches & initial commit patches to git (using pygit2)
  - Python patching: add basic `series.conf` support
  - Python patching: force use of utf-8; better error handling; use realpath of dirs
  - Python patching: `git-to-patches` initial hack. not proud. half-reused some of the patches-to-git
  - Python patching: "tag" the git commits with info for extracting later; introduce REWRITE_PATCHES/rewrite_patches_in_place
  - Python patching: commented-out, recover-bad-patches hacks
  - Python patching: shorten the signature
  - Python patching: allow BASE_GIT_TAG as well as BASE_GIT_REVISION
  - Python patching: git-archeology for patches missing descriptions; avoid UTF-8 in header/desc (not diff)
  - Python patching: use modern-er email.utils.parsedate_to_datetime to parse commit date
  - Python patching: unify PatchInPatchFile; better git-commiting; re-exporting patches from Git (directly)
  - Python patching: switch to GitPython
    - GitPython is like 100x slower than pygit2, but actually allows for date & committer
    - also allows to remove untracked files before starting
  - Python aggregation: fix missing `AGGREGATED_APT_SOURCES_DICT`
  - Python patching: add `unidecode` dependency to pip3 install
  - Python patching: don't try archeology if SRC is not a Git Repo (eg, in Docker)
  - Python patching: don't try archeology if not applying patches to git
- WiP: Python patching delusion, pt2: actually use for u-boot & kernel patching
  - Python patching: much better problem handling/logging; lenient with recreations (kernel)
  - Python patching: don't force SHOW_LOG for u-boot patching
  - Python patching: don't bomb for no reason when there are no patches to apply
  - Python patching: fully (?) switch kernel patching to Python
  - Python patching: more logging fixups
  - Python patching: capture `kernel_git_revision` from `fetch_from_repo()`'s `checked_out_revision`
  - Python patching: fully switch u-boot patching to Python
  - Python aggregation/patching: colored logging; patching: always reset to git revision
  - Python aggregation/patching: better logging; introduce u-boot Python patching
- Python patching pt3: recovers and better Markdown
  - Python patching: detect, and rescue, `wrong_strip_level` problem; don't try to export patches that didn't apply, bitch instead
  - Python patching: Markdown patching summary table, complete with emoji
  - Python patching: include the problem breakdown in Markdown summary
  - Python patching: sanity check against half-bare, half-mbox patches
  - Python patching: try to recover from 1) bad utf-8 encoded patches; 2) bad unidiff patches; add a few sanity checks
  - Python patching: try, and fail, to apply badly utf-8 encoded patches directly as bytes [reverted]
  - Python patching: try to recover from patch *parse* failures; show summary; better logging
      - set `GIT_ARCHEOLOGY=yes` to do archeology, default not

- armbian-next: Python `pip` dependencies handling, similar to `hostdeps`
  - same scheme for Dockerfile caching
  - @TODO: still using global/shared environment; should move to a dir under `cache` or some kinda venv
- WiP: add `python3-pip` to hostdeps; remove `python-setuptools`
  - remove `python-setuptools` (Python2, no longer exists in Sid) from hostdeps
  - add `python3-pip` to hostdeps; part of virtualenv saga
- WiP: split `kernel.sh` a bit, into `kernel-patching.sh`, `kernel-config.sh` and `kernel-make.sh`
  - `advanced_patch()`: rename vars for clarity; no real changes
- Python patching: introduce FAST_ARCHEOLOGY; still trying for Markdown links
2023-02-18 07:40:52 -03:00
Ricardo Pardini
c251073b78 armbian-next: introduce internal base tmp dir; check it early for sanity ref noexec and nodev mount options 2023-02-18 07:40:51 -03:00
Ricardo Pardini
0c5b10a77b armbian-next: introduce SKIP_ARMBIAN_ROOTFS_CACHE which is =yes by default
- that is in addition to `SKIP_ARMBIAN_REPO` which is not set by default
2023-02-18 07:40:50 -03:00
Ricardo Pardini
b4da0c869c armbian-next: a few fixes (shortcircuits...) and enhancements for the GUI building; thanks NicoD 2023-02-18 07:40:49 -03:00
Ricardo Pardini
b606ae9715 armbian-next: docker: fix when using buildx, always pass --load so produced image is actually available to Docker proper 2023-02-18 07:40:48 -03:00
Ricardo Pardini
2d563312bd armbian-next: fixes for interactive config; change wording of stuff and sort the list of boards in "expert" mode 2023-02-18 07:40:47 -03:00
Ricardo Pardini
66747a12e1 armbian-next: disable cpufrequtils by default; to enable set CPUFREQUTILS_ENABLE=true [HIGHLY CONTENTIOUS CHANGE] 2023-02-18 07:40:46 -03:00
Ricardo Pardini
a9a9428bf7 armbian-next: shellcheck downloader/runner; only for lib/ 2023-02-18 07:40:45 -03:00
Ricardo Pardini
c2af130a94 armbian-next: fix all shellcheck errors in lib/ 2023-02-18 07:40:44 -03:00
Ricardo Pardini
fd043d707a armbian-next: squash some warn loggings that were undue; remove $SUDO_USER handling in prepare-host.sh
- squash warning about `NO_APT_CACHER` when in Docker
2023-02-18 07:40:43 -03:00
Ricardo Pardini
b386e4615e armbian-next: introduce INSTALL_HOST_TOOLS=no to skip rkbin, fips, etc. for fast(er) development 2023-02-18 07:40:42 -03:00
Ricardo Pardini
50b6b232d9 armbian-next: git: fetch_from_repo(): determine, use for checkout, and set the SHA1 rev in checked_out_revision var 2023-02-18 07:40:41 -03:00
Ricardo Pardini
52d89e132b armbian-next: logging: add Markdown logging output
- armbian-next: logging: add Markdown logging output; collapsible
2023-02-18 07:40:40 -03:00
Ricardo Pardini
074857ede3 armbian-next: u-boot: use git worktree for u-boot; full mainline clone for bare
- share a single `.git` for all u-boots
- all fetches are done against it, maximizing cache hit ratio drastically
- also reduces the size of each working copy by more than 70%
- split uboot's git stuff into uboot-git.sh
- split `uboot_prepare_git()` from `compile_uboot()`
2023-02-18 07:40:39 -03:00
Ricardo Pardini
84c0bf0f7d armbian-next: kernel: use git worktree & kernel.org clone bundles for kernel working copies
- now we've a single `.git` for all kernels with all branches; a "master" cache
- back to full stable git bundle usage from kernel.org
- bye bye, "gitballs"
- split kernel-related git stuff into `kernel-git.sh`
- introduce `ARMBIAN_MOUNTPOINTS_DEPRECATED` @TODO actually use for cleaning non-Docker
- add `axel` hostdep for multi-conn download of bundle, which comes from a CDN.
- deprecate old mountpoints for gitballs and linux-kernel
- move cleaning of old sources/kernel to mountpoints code
2023-02-18 07:40:38 -03:00
Ricardo Pardini
a51448a1da armbian-next: non-Docker cleaning of deprecated mountpoints (before general_cleaning) 2023-02-18 07:40:37 -03:00
Ricardo Pardini
568f6aecd0 armbian-next: logging: helpers for handling special logging if stdout is a terminal (user-interactive)
- introduce `if_user_on_terminal_and_not_logging_add()`;
- also the opposite, `if_user_not_on_terminal_or_is_logging_add()`
- unset `CURRENT_LOGGING_SECTION` when exiting a logging section
- introduce `do_with_logging_unless_user_terminal()`
2023-02-18 07:40:36 -03:00
Ricardo Pardini
9657ceac9b armbian-next: docker: implement docker-purge and docker-shell cli commands; deprecated mountpoints 2023-02-18 07:40:35 -03:00
Ricardo Pardini
277ce40e6f armbian-next: fix for grub's DISTRO_GENERIC_KERNEL on Debian (not Ubuntu) during update-initramfs
- `initrd`: when kernel not found, list the installed kernels
- armbian-next: small fix for `grub` extension naming
2023-02-18 07:40:34 -03:00
Ricardo Pardini
4a9529dd34 armbian-next: qemu-uboot-arm64 and qemu-uboot-x86 new boards
- sharing most UEFI code, will replace the `virtual` one soon
- x86: patch uboot defconfig to use the `q35` machine type, not `i440fx`
  - separate x86 bootscript, due to non-uInitrd-ness of it
  - hack ramdisk load address both in u-boot source and bootscript
  - use 32-bit u-boot, not 64-bit
- grub: introduce `UEFI_GRUB=skip`, does not deploy GRUB (but does the kernel packages, etc)
- auto-enable qcow2 output for these
- works with both distro's and Armbian's kernels
2023-02-18 07:40:33 -03:00
Ricardo Pardini
b951f7b873 armbian-next: u-boot: introduce hook pre_config_uboot_target()
- useful for hacking at Python versions and other compilation-time hacks
2023-02-18 07:40:32 -03:00
Ricardo Pardini
42e26e9ade armbian-next: hostdeps: python2/3: add setuptools (required by some u-boot configs) 2023-02-18 07:40:31 -03:00
Ricardo Pardini
27b8ced02e armbian-next: qcow2: introduce QCOW2_KEEP_IMG=no, which deletes the original .img after qcow2'ing it 2023-02-18 07:40:30 -03:00
Ricardo Pardini
a752ac8899 armbian-next: REVERT: remove the BUILD_ONLY build-tasks.sh which makes no sense in armbian-next 2023-02-18 07:40:29 -03:00
Ricardo Pardini
64e298f78f armbian-next: git: add origin remote if it is empty 2023-02-18 07:40:28 -03:00
Ricardo Pardini
68b86a7d32 armbian-next: introduce PREFER_DOCKER, which acts the same as not-being-root: uses docker always 2023-02-18 07:40:27 -03:00
Ricardo Pardini
55feb9d510 armbian-next: image-output-utm core extension: produces qcow2-based UTM ZIP image
- `UTM`/`OVF`: discard the original .img after conversion
- UTM 3.x, also for arm64 in addition to x86
2023-02-18 07:40:26 -03:00
Ricardo Pardini
b209d8827e armbian-next: vmware-vm core extension: enables image-output-ovf and adds some cli and desktop packages to image list 2023-02-18 07:40:25 -03:00
Ricardo Pardini
dfb0988900 armbian-next: grub: fix/hack for grub deploy inside Docker/chroot when /dev/disk/by-uuid is not present; add sanity checks 2023-02-18 07:40:24 -03:00
Ricardo Pardini
0dba98b6e8 armbian-next: aggregation.py and package-lists.sh usage in core grub-* extensions
- fix grub-riscv64.sh; this needs merging into grub itself later
2023-02-18 07:40:23 -03:00
Ricardo Pardini
adce39d3b7 armbian-next: aggregation.py rewrite; introduce package-lists.sh; usage in core lib 2023-02-18 07:40:22 -03:00
Ricardo Pardini
996aa14f77 armbian-next: include packages.external and apt sources only in DESKTOP builds (pre-aggregation.py)
- cli builds won't have PPAs and other external repos
- packages from such repos should be listed in `packages.external` now, so they're not mismatched
- `PACKAGE_LIST_EXTERNAL` (packages.external) only in DESKTOP builds
- this logic may change later, example:
  - we might _also_ want pure-Ubuntu desktops, without external repos
  - we might _instead_ want external repos in the cli builds
  - this way is easy to change, since everything is kept separate and we can change in a single place.
2023-02-18 07:40:21 -03:00
Ricardo Pardini
578b21922e armbian-next: call trace analyzer and call-graph generator 2023-02-18 07:40:20 -03:00
Ricardo Pardini
b2d02071bd armbian-next: better ccache logs/stats/Docker-support/use in u-boot/kernel
- introduce `SHOW_CCACHE=yes` for detailed ccache statistics and logging
- fix: kernel build is done under "env -i", so pass CCACHE_DIR down to Make if CCACHE_DIR is set...
- split from kernel.sh, show stats also for u-boot targets; show compile time
- add volume definition (under `${SRC}/cache/ccache`); auto-use that in Docker builds via `CCACHE_DIR`
- better logging for `do_with_ccache_statistics()`
- there's some CCACHE_DIR code from before; unify @TODO
2023-02-18 07:40:19 -03:00
Ricardo Pardini
093336e914 armbian-next: cli: distccd launcher for build farm
- relaunched under docker
- possibly much nicer if zeroconf enabled?
- this thing is ignoring signals. can't ctrl-c out of it. why? @TODO
- pt 1, subpt 3: distccd - distcc-pump - avahi
- pt 1, subpt 3: distccd + distcc-pump
- pt 1, subpt 2: distccd + avahi
- pt 1, subpt 1: distccd
2023-02-18 07:40:18 -03:00
Ricardo Pardini
da0b3080a0 armbian-next: distcc: optionally using distcc for kernel build 2023-02-18 07:40:17 -03:00
Ricardo Pardini
81376df4b7 armbian-next: u-boot: use scripts/config instead of seding into the .config (BOOTDELAY, CONFIG_LOGLEVEL=6, etc); v2022.10+ only 2023-02-18 07:40:16 -03:00
Ricardo Pardini
7939257592 armbian-next: git: do not delete working copies on remote origin mismatch; accept empty origins as valid 2023-02-18 07:40:15 -03:00
Ricardo Pardini
cc62d4932a armbian-next: introduce ARMBIAN_FIRMWARE_GIT_SOURCE and _BRANCH to allow custom firmware repository coordinates 2023-02-18 07:40:14 -03:00
Ricardo Pardini
93f0545519 armbian-next: the great aggregation rewrite: pt 0: SHOW_AGGREGATION debug logging 2023-02-18 07:40:13 -03:00
Ricardo Pardini
9fbbe897cd armbian-next: docker: disable showing Docker volume usage; fix syntax in test for ARMBIAN_RUNNING_IN_CONTAINER 2023-02-18 07:40:12 -03:00
Ricardo Pardini
b703eb6da3 armbian-next: docker: locale-gen + enable all existing extensions before calculating docker hostdeps
- that way all extensions' hostdeps are included in Dockerfile
- also run locale-gen in Dockerfile
2023-02-18 07:40:11 -03:00
Ricardo Pardini
94d451b812 armbian-next: introduce hook post_family_config_branch_<branch>() as convenience after post_family_config() hook 2023-02-18 07:40:10 -03:00
Ricardo Pardini
a9e88f58e5 armbian-next: json-info command, wrapping up the Python tooling; running in Docker; fix config dump 2023-02-18 07:40:09 -03:00
Ricardo Pardini
291b02577a armbian-next: rename compile_plymouth-theme-armbian() to compile_plymouth_theme_armbian() for consistency 2023-02-18 07:40:08 -03:00
Ricardo Pardini
75de1c2d82 armbian-next: remove usage of REQUIREMENTS_DEFS_ONLY; initialize extensions for requirements cli command & docker pre-game deps 2023-02-18 07:40:07 -03:00
Ricardo Pardini
bc7d388b49 armbian-next: cli: a bit more untangling of re-launching; introduce ARMBIAN_CLI_RELAUNCH_COMMAND and cli_standard_relaunch_docker_or_sudo()
- `configdump` cli: force root/docker
2023-02-18 07:40:06 -03:00
Ricardo Pardini
497a3a80ab armbian-next: cli: de-hardcode build and docker's interdependence, via DOCKER_CLI_CMD
- `undecided` now directly sends to `build`, which might send to `docker`, which relaunches `build` in Docker;
- the _sending to Docker_ part probably needs refactor
2023-02-18 07:40:05 -03:00
Ricardo Pardini
d502402c1a armbian-next: show more complete gcc versions in logs 2023-02-18 07:40:04 -03:00
Ricardo Pardini
329e249df1 armbian-next: avoid git cramps when deciding to init repos 2023-02-18 07:40:03 -03:00
Ricardo Pardini
749fc349ee armbian-next: better handling for binfmt_misc woes; don't require it when native build & only complain if it really fails 2023-02-18 07:40:02 -03:00
Ricardo Pardini
884276cf7f armbian-next: correctly test for systemd is-system-running --quiet 2023-02-18 07:40:01 -03:00
Ricardo Pardini
f061c9e83b armbian-next: docker: correctly show all Armbian Docker volumes; use bind, not volume, for output/debs 2023-02-18 07:40:00 -03:00
Ricardo Pardini
4ea6519be2 armbian-next: don't uuidgen twice for no reason 2023-02-18 07:39:59 -03:00
Ricardo Pardini
606e82bcfc armbian-next: docker: handle the case where we can't pull, and don't otherwise have, the base image; in this case use original debian/ubuntu image 2023-02-18 07:39:58 -03:00
Ricardo Pardini
fc3286a3f9 armbian-next: initial post-kinetic resolved debacle, for now just WARN don't break; missing resolved package in kinetic? 2023-02-18 07:39:57 -03:00
Ricardo Pardini
aaa59261bb armbian-next: mountpoints.sh with all bind/volume directories definitions and looping func; use it to determine best bind/volume combination for each host OS in Docker 2023-02-18 07:39:56 -03:00
Ricardo Pardini
252f96967e armbian-next: cleanup logging in distro-agnostic.sh; don't use install.log or such 2023-02-18 07:39:55 -03:00
Ricardo Pardini
c4eaf49f3d armbian-next: cleanup extensions logging, using display_alert new levels extensions (SHOW_EXTENSIONS=yes) and extensionstrace (SHOW_EXTENSIONS_TRACE=yes)
- DEBUG_EXTENSION_CALLS is gone. use SHOW_EXTENSIONS instead.
- LOG_ALL_HOOK_TRACES is gone. use SHOW_EXTENSIONS_TRACE instead
- LOG_ENABLE_EXTENSION is gone. use SHOW_DEBUG=yes instead
2023-02-18 07:39:54 -03:00
Ricardo Pardini
72bc1b09d8 armbian-next: docker: don't even try to to prepare Docker, if it's not available 2023-02-18 07:39:53 -03:00
Ricardo Pardini
3e9c123dd8 armbian-next: docker: try support Rancher Desktop (in dockerd mode), experimental.
- Changes how Docker Desktop works too, there's a `case` for switching back if needed.
- Now the linux-only CONTAINER_COMPAT hacks are used also for Darwin (`DOCKER_SERVER_REQUIRES_LOOP_HACKS=yes`)
  - `/dev/loop*` is spelled out since they don't exist on Darwin (`DOCKER_SERVER_USE_STATIC_LOOPS=yes`)
2023-02-18 07:39:52 -03:00
Ricardo Pardini
3719a059a9 armbian-next: don't force SHOW_LOG=yes during Dockerfile build; we're verbose enough without it 2023-02-18 07:39:51 -03:00
Ricardo Pardini
b3c008b0e0 armbian-next: make sure we've coreutils 2023-02-18 07:39:50 -03:00
Ricardo Pardini
7107368060 armbian-next: make sure we're running on Bash 5.x at least 2023-02-18 07:39:49 -03:00
Ricardo Pardini
19e15b8b35 armbian-next: back to including 'cli' sources/apt sources when building non-desktops (eg, nala etc) 2023-02-18 07:39:48 -03:00
Ricardo Pardini
a612a03678 armbian-next: retry 3 times for loop device's size, then give up; introduce RETRY_RUNS in do_with_retries() 2023-02-18 07:39:47 -03:00
Ricardo Pardini
b9daf6d708 armbian-next: extras/buildpkg.sh code is out [deprecated, later completely dropped] 2023-02-18 07:39:46 -03:00
Ricardo Pardini
a54e7b2fae armbian-next: add gcc-riscv64-linux-gnu to hostdeps (crossbuild-essential-riscv64 is Ubuntu-only) 2023-02-18 07:39:45 -03:00
Ricardo Pardini
bb0e89f017 armbian-next: always include libc6-amd64-cross in hostdeps; qemu is a dummy package now, remove 2023-02-18 07:39:44 -03:00
Ricardo Pardini
d24d3327a8 armbian-next: the great cli entrypoint (+docker) rewrite; introduce USE_LOCAL_APT_DEB_CACHE replacing apt-cacher-ng
- armbian-next: introduce `USE_LOCAL_APT_DEB_CACHE` (default `=yes`) as alternative/in addition to `apt-cacher-ng` (eg, in Docker)
  - this uses `cache/aptcache/${RELEASE}-${ARCH}` (in the host) for
      - apt cache, by bind-mounting it to `${SDCARD}/var/cache/apt` in the `chroot_sdcard_apt_get()` runner and its usages
      - debootstrap, by passing it `--cache-dir`
  - utility function to help understand what is happening to cache during usage
  - apt itself mantains this cache, removing old packages when new ones are installed. apt does this _by default_
      - introduce `DONT_MAINTAIN_APT_CACHE=yes` to skip out of automatic apt maintenance of apt cache, eg, during `remove`s
      - don't do `apt clean` and such if using local cache, that would clean the cache, not the chroot
  - clean up `install_deb_chroot()` a little, find an unrelated bug there
- WiP: the great cli entrypoint (+docker) rewrite, Phase 6: relaunching structure; re-pass ARMBIAN_BUILD_UUID; use ARMBIAN_COMMAND for log filename; fix for output/logs dir perms
- WiP: the great cli entrypoint (+docker) rewrite, Phase 5: cleanups 4/x; better logging, check & force `DEST_LANG`
- WiP: the great cli entrypoint (+docker) rewrite, Phase 5: cleanups 3/x; don't write to stderr in generated Dockerfile
  - it's `drastic red` on non-buildx dockers
- WiP: the great cli entrypoint (+docker) rewrite, Phase 5: cleanups 2/x, logging
- WiP: the great cli entrypoint (+docker) rewrite, Phase 5: cleanups 1/x
  - source configs in a logging section.
  - Docker: silent, fast retries to make sure `docker system df` works
  - shut-up `chown` (no `-v`) output related to  `SET_OWNER_TO_UID`
  - ask user to wait while `DESTIMG` is rsync'ed to `FINALDEST` -- it's potentially very slow
  - use green apple for Mac logging, instead of red apple which might imply error...
- WiP: the great cli entrypoint (+docker) rewrite, Phase 4: run as non-root, maybe-with-Docker
  - introduce `is_docker_ready_to_go()`; if it is, and we're not root, use Docker instead of sudo. <- GOOD IDEA? BAD IDEA? lol
  - introduce `SET_OWNER_TO_UID` var to be passed to Docker/sudo so written files are owned by the launching user, not root.
    - introduce `mkdir_recursive_and_set_uid_owner()` and `reset_uid_owner()` to reset owner based on `SET_OWNER_TO_UID`
    - use it for userpatches files created, logs, and output files, including images and debs.
  - @TODOs ref. `$SUDO_USER` which I think the old version of this?
  - add a lot of @TODOs, ref being able to relaunch something that's not `build` inside Docker, also add/change params and configs and command.
    - initially add `ARMBIAN_DOCKER_RELAUNCH_EXTRA_ARGS`
- WiP: the great cli entrypoint (+docker) rewrite, Phase 3: rpardini is demented, v3
- WiP: the great cli entrypoint (+docker) rewrite, Phase 2: rpardini is demented
- WiP: the great cli entrypoint (+docker) rewrite, Phase 1
- armbian-next: WiP: Docker: actually use the GHA-image as base; pull it every 24hs.
  - using image in my private repo.
  - this has significant speedup to "start building time" on the 1st run
  - move some Linux specific stuff to its own if
  - add comments and todo
- armbian-next: WiP: Docker, high-WiP, beginnings of Armbian mount dict, with linux/darwin preferences
- armbian-next: WiP: Docker, configure `BUILDKIT_COLORS`
- armbian-next: WiP: Docker, make docker image from Dockerfile more compact by flattening layers
- armbian-next: `logging`: add whale indicator if build running under Docker
- armbian-next: WiP: `docker`: working with `bookworm`, `sid`, and `jammy` on Darwin & Linux; works with `bullseye` on Linux only
- armbian-next: WiP: `docker`: force ARMBIAN_RUNNING_IN_CONTAINER both in Dockerfile and passed as `--env`; apt update and install in same layer; back to jammy
- armbian-next: introduce `armbian_is_running_in_container()` and `armbian_is_host_running_systemd()`, replacing `systemd-detect-virt` in multiple spots
- WiP: try with debian:bullseye -- can't detect docker at all
- armbian-next: WiP: 2nd stab at new Docker support; Darwin still works; Linux `docker.io` working
  - gen .dockerignore together with Dockerfile
  - split in funcs
  - hacks for Linux and `/dev/loop` stuff, CONTAINER_COMPAT=yes
  - mac still works, Linux stuff would break it but I if'fed
- armbian-next: the secrets of `CONTAINER_COMPAT` revealed; add size checking to check_loop_device() and avoid retry when `mknod`ing
  - this fails for the right reasons now, causing retries, which are then retried and work ;-)
  - this is related to building under Docker on Linux, using docker.io package (not docker-ce)
- armbian-next: remove `.dockerignore` and add it to `.gitignore`; it's going to be auto-generated
- armbian-next: `.dockerignore`: Docker context should only have minimal files and folders, to speed up Dockerfile build
  - IMPORTANT: `.dockerignore` is going to be generated from now on: so this is the last commit with changes before removal
-  armbian-next: WiP: initial stab at new Docker support; really run the passed cmdline; add Dockerfile to gitignore
-  armbian-next: WiP: initial stab at new Docker support; generate Dockerfile; introduce REQUIREMENTS_DEFS_ONLY
  - uses REQUIREMENTS_DEFS_ONLY
  - works on Docker Desktop on Mac;
  - linux TBA
- armbian-next: don't error out if `.git` not present; other small fixes
- armbian-next: general "work or at least don't misbehave when run on a very bare ubuntu:latest instance"
  - can't assume things, for example:
  - that `sudo` will be available; it might not, and might be already root, no reason to fail
  - that `/etc/timezone` will exist
  - that `systemd-detect-virt` will be available
  - that `git` will be available
  - that `locale-gen` will be available
2023-02-18 07:39:43 -03:00
Ricardo Pardini
2c6751f584 armbian-next: show mkfs ext2/ext4 output (remove -q), it's being run under the logging manager already 2023-02-18 07:39:42 -03:00
Ricardo Pardini
8f26db138a armbian-next: traps: don't duplicate error message/stacktrace when error occurs in subshell; instead indicate clearly SUBSHELL 2023-02-18 07:39:41 -03:00
Ricardo Pardini
775cd6c619 armbian-next: logging: don't bomb due to lack of git or zstdmt
- logging might run super early when dependencies are not installed
- or say in a container, without git
2023-02-18 07:39:40 -03:00
Ricardo Pardini
5e55c61bfc armbian-next: kernel: add hooks fetch_sources_for_kernel_driver and patch_kernel_for_driver to allow migrating EXTRAWIFI stuff to extensions 2023-02-18 07:39:39 -03:00
Ricardo Pardini
c4165abe4e armbian-next: export CHOSEN_KERNEL_WITH_ARCH again, for reporting only 2023-02-18 07:39:38 -03:00
Ricardo Pardini
40e3b642d6 armbian-next: don't break if parsing BOOT_SOC out of BOOTCONFIG fails; sanity checks for BOOT_SOC/DDR_BLOB
- (eg: `none` case: `jetson-nano`)
- but add sanity checks for BOOT_SOC/DDR_BLOB etc
- and fail if BOOT_SOC is not defined when function runs
2023-02-18 07:39:37 -03:00
Lane Jennison
28c7645a14 armbian-next: fix old fuction name refrence cleaning to general_cleaning 2023-02-18 07:39:36 -03:00
Ricardo Pardini
cb38a8071b armbian-next: umount_chroot_recursive: don't try to realpath unless it's a dir to begin with 2023-02-18 07:39:35 -03:00
Ricardo Pardini
c444040740 armbian-next: grub: call VER="generic" update_initramfs when "${DISTRO_GENERIC_KERNEL}" == "yes" (so ddk builds work again) 2023-02-18 07:39:34 -03:00
Ricardo Pardini
4cebf28be4 armbian-next: move resolv.conf symlink to systemd to post_debootstrap_tweaks so customize phase has working DNS 2023-02-18 07:39:33 -03:00
Ricardo Pardini
3e0729b5da armbian-next: normalize mount/umount $targets to have (or not) the trailing slash 2023-02-18 07:39:32 -03:00
Ricardo Pardini
72cf555bce armbian-next: bye bye $FAST_CREATE_IMAGE: always use truncate for blank image 2023-02-18 07:39:31 -03:00
Ricardo Pardini
914348ba52 armbian-next: less verbose umount_chroot(), except after first try, so we can know what is left mounted 2023-02-18 07:39:30 -03:00
Ricardo Pardini
f921c8cd74 armbian-next: let all unmounting of ${MOUNT} be done by umount_chroot_recursive 2023-02-18 07:39:29 -03:00
Ricardo Pardini
d85bf2a155 armbian-next: many fixes after v29 rebase; mostly involving umount
- remove grub's --verbose, it's really too verbose
- trust in TMPDIR, do not use trap at all in compile_plymouth-theme-armbian - settings traps adhoc is forbidden in armbian-next as well
- be more verbose in umount_chroot(), do not try to unmount tmpfs-mounted dir itself, only xx/tmp
- try to be smarter about /tmp being mounted in rootfs-to-image -- in the end the recursive saves us
- run post_debootstrap_tweaks when the SDCARD is still mounted, not after
- don't try to download anything from any mirrors if SKIP_ARMBIAN_REPO==yes
2023-02-18 07:39:28 -03:00
Ricardo Pardini
833a7d9ab6 armbian-next: fix "create list of installed packages for debug" 2023-02-18 07:39:27 -03:00
Ricardo Pardini
b73e72721a armbian-next: HACK: ROOTFSCACHE_VERSION is undefined and failing everytime 2023-02-18 07:39:26 -03:00
Ricardo Pardini
9137a9de3f armbian-next: deploy bootscript even if BOOTCONFIG=none
- fact we're not BUILDING nor deploying uboot does not mean image does not need a bootscript.
2023-02-18 07:39:25 -03:00
Ricardo Pardini
f052196b6c armbian-next: debugs about armbianEnv.txt overlays/fdtfile 2023-02-18 07:39:24 -03:00
Ricardo Pardini
7b47e79780 armbian-next: introduce ARMBIAN_LOGS_TO_JOURNAL and ARMBIAN_LOGS_JOURNAL_IDENTIFIER (logs display_alert to journald) 2023-02-18 07:39:23 -03:00
Ricardo Pardini
19938837b5 armbian-next: re-add dependency fdisk after juggling rebases 2023-02-18 07:39:22 -03:00
Ricardo Pardini
38e2e50328 armbian-next: split early_prepare_host_dependencies() (run early, during config, before aggregation) from prepare_host() (run after aggregation)
- add hook `host_dependencies_known` (different from `host_dependencies_ready` from before)
2023-02-18 07:39:21 -03:00
Ricardo Pardini
1fa825b58e armbian-next: fix for tests of BOOTSCRIPT and BOOTCONFIG!=none 2023-02-18 07:39:20 -03:00
Ricardo Pardini
271fe3fcd0 armbian-next: retry apt update & apt install family packages in addition to board packages 2023-02-18 07:39:19 -03:00
Ricardo Pardini
45c2728851 armbian-next: prepare a bin dir inside WORKDIR with a python symlink to /usr/bin/python2 and add it to PATH 2023-02-18 07:39:18 -03:00
Ricardo Pardini
4055399d15 armbian-next: sources/families: meson64: gx: use python2 explicitly for calling acs_tool.pyc; better logging 2023-02-18 07:39:17 -03:00
Ricardo Pardini
a1ff891b24 armbian-next: cleaning: don't complain about 'none' CLEAN_LEVEL 2023-02-18 07:39:16 -03:00
Ricardo Pardini
188ef0b1af armbian-next: kernel: run kernel's make through unbuffer as well 2023-02-18 07:39:15 -03:00
Ricardo Pardini
98eae22665 armbian-next: uboot: use CFLAGS/KCFLAGS everywhere; run make through unbuffer (from expect package) for full color logging 2023-02-18 07:39:14 -03:00
Ricardo Pardini
2196e957f0 armbian-next: logs: avoid errors by cwd'ing to SRC 2023-02-18 07:39:13 -03:00
Ricardo Pardini
379b7d6f19 armbian-next: write_image_to_device: if SKIP_VERIFY=no, don't waste time checksumming the image, it won't be used 2023-02-18 07:39:12 -03:00
Ricardo Pardini
a02647862a armbian-next: u-boot: add debug info when hacking CONFIG_ENV_IS_IN_EXT4 in u-boot .config 2023-02-18 07:39:11 -03:00
Ricardo Pardini
bfa5813c6e armbian-next: u-boot: add fasthash to u-boot [deprecated, later removed]
- u-boot: fasthash: add `uboot_target_counter` to id and branch, lest `UBOOT_TARGET_MAP` > 2 fails
2023-02-18 07:39:10 -03:00
Ricardo Pardini
f07ec572d8 armbian-next: fix logging headers in HTML/ANSI log output 2023-02-18 07:39:09 -03:00
Ricardo Pardini
578020f42c armbian-next: cleaning: fix shortcircuits, warn about unknown clean levels 2023-02-18 07:39:08 -03:00
Ricardo Pardini
b0cb5c270f armbian-next: traps: cleanups: run cleanups in the reverse order they were added; allow running one single cleanup and removing from list 2023-02-18 07:39:07 -03:00
Ricardo Pardini
d6c43d0cdf armbian-next: kernel-localmodconfig: update kernel_config_mtime after running localmodconfig, otherwise changes not detected 2023-02-18 07:39:06 -03:00
Ricardo Pardini
41e471aa1e armbian-next: introduce KERNEL_EXTRA_DIR to suffix LINUXSOURCEDIR forcefully 2023-02-18 07:39:05 -03:00
Ricardo Pardini
7643c2901d armbian-next: check_loop_device() now uses do_with_retries 5 ... to give the OS time
- prevents spurious fails I get sometimes...
2023-02-18 07:39:04 -03:00
Ricardo Pardini
2ec5619745 armbian-next: python: info: replace instances of ${SRC} with literal ${SRC} so infos are more comparable 2023-02-18 07:39:03 -03:00
Ricardo Pardini
3146421f8e armbian-next: u-boot: extract into functions; add hooks - for more flexibility
- extract loop_over_uboot_targets_and_do(), and handle `target_make/target_files` parsing there, so `compile_uboot_target` needs no parsing magic
- extract deploy_built_uboot_bins_for_one_target_to_packaging_area() (meant to be called via loop_over_uboot_targets_and_do)
- add hook `post_uboot_custom_postprocess` -- literally run after `uboot_custom_postprocess`
- @TODO: possibly squash with a previous u-boot hook was added
2023-02-18 07:39:02 -03:00
Ricardo Pardini
8ce52db74e armbian-next: back to ANSI logs by default; HTML logs only by EXPORT_HTML_LOG=yes 2023-02-18 07:39:01 -03:00
Ricardo Pardini
c7713ebb70 armbian-next: atf: add LOG_LEVEL=40 (up from default 20) and BUILD_STRING="armbian" to atf make invocation 2023-02-18 07:39:00 -03:00
Ricardo Pardini
8d912e59c4 armbian-next: u-boot: introduce UBOOT_DEBUGGING=yes which enables CONFIG_LOG=y and others
- also pass CFLAGS as well as KCFLAGS to make
2023-02-18 07:38:59 -03:00
Ricardo Pardini
3c5021b438 armbian-next: allow overriding rkbins repo URL with RKBIN_GIT_URL 2023-02-18 07:38:58 -03:00
Ricardo Pardini
6d2c00613c armbian-next: try to parse Source: linux-5.x.y-rcZ correctly into VER=5.x.y-rcZ instead of VER=5.x.y
- `VER` gets used in the final *image* name produced, and it is very confusing to get `5.19.0` instead of `5.19.0-rc3` there.
- added debug's so we can find when we're bit, there's 2 variations
2023-02-18 07:38:57 -03:00
Ricardo Pardini
95e0b9d484 armbian-next: remove warm/cold bundles from fetch_from_repo, replace with 2 invocation-specific hooks and gitballs (.tar of .git)
- drop experiment 'caches/gitbundles' and its code; all lives now in separate repo
- change LINUXSOURCEDIR **again**, cleanup the old one
2023-02-18 07:38:56 -03:00
Ricardo Pardini
0aa57b5ef5 armbian-next: do not exclude 'CC' messages from kernel make 2023-02-18 07:38:55 -03:00
Ricardo Pardini
8511061d67 armbian-next: kernel build: always add container (series/patch-dir) mtime as minimum mtime for patch results
- this avoids snafu's when removing patches from the directory: the file won't exist, but the parent mtime will have been updated
2023-02-18 07:38:54 -03:00
Ricardo Pardini
b93965eca7 armbian-next: kernel: config: make olddefconfig (not oldconfig, which is interactive) when KERNEL_CONFIGURE=yes 2023-02-18 07:38:53 -03:00
Ricardo Pardini
a0ba3d4f37 armbian-next: fix for .bin/.elf copy from atf to uboot dir 2023-02-18 07:38:52 -03:00
Ricardo Pardini
1aa3ab23be armbian-next: atf: downgrade gcc errors to warnings, so ATF 2.5, 2.2 and others can be built on modern toolchains
- also add colorful logs
2023-02-18 07:38:51 -03:00
Ricardo Pardini
8f729a351a armbian-next: update defaults and comments in config file 2023-02-18 07:38:50 -03:00
Ricardo Pardini
e98c66b859 armbian-next: general-packaging, mkdebian and builddeb are NO MORE 2023-02-18 07:38:49 -03:00
Ricardo Pardini
7ad5f1144c armbian-next: lib/tools - python - config definitions capture and massaging 2023-02-18 07:38:48 -03:00
Ricardo Pardini
3723cc1b7b armbian-next: source arch common.conf before the actual arch configs in main-config.sh 2023-02-18 07:38:47 -03:00
Ricardo Pardini
b25b3cf499 armbian-next: lib changes - MEGASQUASH - squashed changes from c9cf3fc241cfb4c872f4aef7bbc41d5854db7ea3 to 6809de3d6063cb041205a8318e19da6a4dee68c9 ref extensions_08_10_2022_pre_v30
- also compile.sh
- shellfmt lib
- split off shell and python tools under lib
- revert removal of stuff a-n no longer uses (ref. compilation): general packaging, mkdeb etc
- editoconfig split off
- extension changes split off
- sources and sources/families split off
- some undue stuff removed or split

armbian-next: manual merge (30) of lib changes between 882f995e21 and 31ac6383e1

armbian-next: manual merge (30) of family/board changes between 882f995e21 and 31ac6383e1

armbian-next: manual merge (29) of family/board changes between 3435c46367 and 882f995e21 (A LOT!)

armbian-next: manual merge (29) of lib changes between 3435c46367 and 882f995e21 (A LOT!)

armbian-next: manual merge (28) of lib changes between revisions af6ceee6c5 and 38df56fbf3

armbian-next: manual merge (28) of sources/families changes between revisions af6ceee6c5 and 38df56fbf3

armbian-next: manual merge (27) of `lib` changes between revisions 9c52562176 and af6ceee6c5

armbian-next: manual merge (27) of `sources/families` changes between revisions 9c52562176 and af6ceee6c5

armbian-next: move `ROOTFSCACHE_VERSION` resolution from GitHub from `main-config` down to `create-cache`

- this way config does not depend on remote...

armbian-next: move `ARMBIAN_MIRROR` selection (network) from `main-config` to `prepare-host`

- this way CONFIG_DEFS_ONLY can run without touching the network

armbian-next: manual merge (26) of MD5-checking via debsums (3955) re-imagined

- @TODO make sure

armbian-next: manual merge (26) of sources/families changes between revisions 20ee8c5450 and 9c52562176

armbian-next: manual merge (26) of lib changes between revisions 20ee8c5450 and 9c52562176

- @TODO NOT including the md5/debsums check, that needs further rewrite

armbian-next: manual merge (25) of lib changes between revisions fe972621c6 and 20ee8c5450

- @TODO hmm Igor is now going out to the network for rootfs cache version during configuration phase!!! BAD BAD BAD

armbian-next: manual merge (25) of family changes between revisions fe972621c6 and 20ee8c5450

armbian-next: manual merge (24) of families changes between revisions 9ca9120420 and 560531a635

armbian-next: manual merge (24) of lib changes between revisions 9ca9120420 and 560531a635

armbian-next: manual merge (23) of all changes between revisions 17b4fb913c and 9ca9120420

armbian-next: manual merge (22) of all changes between revisions 0eb8fe7497 and 1dddf78cd0

- @TODO EXCEPT the insanity about locales/eval/VERYSILENT in #3850, requires deep review

armbian-next: manual merge (21) of all changes between revisions e7d7dab1bb and 0eb8fe7497

armbian-next: fix: patching CREATE_PATCHES=yes

- needed to create output dir

armbian-next: add `python2-dev` dep for old uboots

- cleanup some comments

armbian-next: manual merge (20) of all changes between revisions 6b72ae3c86 and 247c4c45fd

armbian-next: fix: pass `TERM` to kernel's make, so `make menuconfig` can work

armbian-next: fix: git: read commit UNIX timestamp/local date correctly

- `checked_out_revision_ts` was correct; git outputs `%ct` as a UNIX timestamp, UTC-based
- `checked_out_revision_mtime` was incorrect: git output it without converting to local time
- manually convert using `date @xx` so it has correct local time, whatever it is.
- add debugging to `get_file_modification_time()` too

armbian-next: abstract `$QEMU_BINARY` to `qemu-static.sh`: `deploy_qemu_binary_to_chroot()`/`undeploy_qemu_binary_from_chroot()`

- add hackish logic to avoid removing binary that would be needed if image actually contains `qemu-user-static` package

armbian-next: fix `uuidgen` basic dep check; use fake bash `$RANDOM` if uuidgen not available

- not good: we need uuidgen to begin logging, but it may not be installed yet. workaround.

armbian-next: retry 3 times download-only also for `PACKAGE_LIST_BOARD`

- acng is really not helping

armbian-next: allow customizing UBUNTU_MIRROR (ports mirror) with `CUSTOM_UBUNTU_MIRROR_ARM64=host/path`

armbian-next: WiP: kernel make via `env -i` for clean env; show produced /boot tree

armbian-next: manual merge (19) of all changes between revisions b23498b949 and e621d25adc

- the ssh firstrun revert stuff mostly

armbian-next: *breaking change* remove `LIB_TAG` and `.ignore_changes` completely

- one day should be replaced with an "update checker" extension, or even "update-enforcer"
- for now this just causes chaos

armbian-next: `python2` is required for some u-boot builds

- would be "use `python-is-python2` so /usr/bin/python exists and points to Python 2.x" but Jammy does not have that anymore
- python2 is required for some u-boot builds.
- that said, python 2.x is deprecated for a while and needs work thus @TODO

armbian-next: bump Python info gatherer to RELEASE=jammy too

armbian-next: add `KERNEL_MAJOR_MINOR` info to `media` kernel (@balbes150)

- 5.18 is not yet released so might be a problem here

armbian-next: allow to skip submodules during `fetch_from_repo`; introduce hook `fetch_custom_uboot`

- via GIT_SKIP_SUBMODULES=yes, which disables all submodules everywhere
- via UBOOT_GIT_SKIP_SUBMODULES=yes, which disables fetching of submodules during uboot fetch (hidden rkbins anyone?)
- extension hook `fetch_custom_uboot` so we can fetch our own stuff if needed

armbian-next: `initrd` caching fixes (always enable hook; if cache hit, convert to uImage too)

armbian-next: introduce `initramfs`/`initrd` caching

- using hashes of (hopefully) all involved files
- cache hits are rewarded with sprinkly hearts.
  - why? this proves we got a reproducible kernel modules build!
  - also, you just saved yourself 2-10 minutes of pain

armbian-next: manual merge (18) of changes between revisions 08cf31de73 and c8855aa08d

- heh; most bash code changes are for things already done in -next, or no longer used
- some version bumps, etc

armbian-next: cleanup entrypoint and shuffle `prepare_host_basic()` into logging section

armbian-next: *breaking change* add global extlinux killswitch `ALLOW_EXTLINUX`

- unless you set `ALLOW_EXTLINUX=yes`, then `SRC_EXTLINUX` will be disabled globally.
- add a bunch of logging regarding extlinux, armbianEnv and bootscripts for clarity during build
- this is due to nand-sata-install problems with extlinux
- some boards _only work_ with extlinux; we'll have to handle it later

armbian-next: extensions: `image-output-{qcow2|ovf}`: virtual output formats

- which use `qemu-utils` for `qemu-img` conversion of the .img

armbian-next: extension: `kernel-localmodconfig`: faster/slimmer kernel builds with `make localmodconfig`

armbian-next: extension: `cleanup-space-final-image`: zerofree, slim down firmware, show used space

armbian-next: introduce `do_with_ccache_statistics` and use it for kernel compile

- some TODOs
- better logging for .config copying

armbian-next: *breaking change* really disable apt sources for non-desktop builds

armbian-next: fix: don't manage apt-cacher-ng if told NOT to, not the other way around

armbian-next: `JUST_UBOOT=yes` + hooks `build_custom_uboot()`/`post_write_uboot_platform()`

- post_write_uboot_platform()
  - only runs during build, for now (not on device)
- build_custom_uboot()
  - allow fully custom, extension driven, building of u-boot
  - also partial preparation of uboot source combined with default Armbian build
- HACK: u-boot: downgrade some errors to warnings via KCFLAGS
- fix copy of atf bins to uboot, don't do it if atf's not there

armbian-next: fix: no use testing the host for resolvconf if we're manipulating the SDCARD

armbian-next: sunxi_common: avoid shortcircuit error on family_tweaks_bsp when family_tweaks_bsp_s is not defined

armbian-next: fix: add `zstd` and `parallel` to hostdeps

armbian-next: manual merge (17) of all changes between revisions 64410fb74b and 08cf31de73

- changes about `git safe dir` ignored, I've done the same in a different way
- hash calculation changes ignored, fasthash is completely different

armbian-next: add `crossbuild-essential-armel` so `arm-linux-gnueabi-gcc` is available with system toolchains

- need to for some ATF builds, at least.

armbian-next: rockchip64_common: lotsa logging and debugging

- supposedly no practical changes

armbian-next: grub: better logging

armbian-next: fix for chaos caused by git's fix of CVE-2022-24765 otherwise "fatal: unsafe repository"

- might not be the best solution, but it's the only one I found

partitioning: fix: don't try fixing a bootscript that's not there

- this fixes a bug when "rootpart=2" without rootpart 1 being /boot

armbian-next: cleanups: umount tmpfs-based $SDCARD during cleanup too

armbian-next: indented heredoc, no functional changes

armbian-next: fix shortcircuit as last statement in case of extlinux

- yes, I wasted 3 hours on this tiny bit, so *you* don't have to!
- better logging for rootfs `mkfs` et al
- introduce `PRESERVE_SDCARD_MOUNT=yes` to preserve SDCARD, MOUNT, and LOOP for debugging

armbian-next: kernel-headers: less verbose, trimmed down tools a bit (perf and testing)

khadas-vim3l: add asound.state for Khadas VIM3L

armbian-next: introduce hook `extension_finish_config()` - late hook for ext configuration

- `extension_finish_config()` is the last thing done in config phase
    - use it for determining stuff based on kernel version details, package names, etc
- also tune down some logging which was too verbose
- CI logs with no ANSI escape codes

armbian-next: shuffle around code and logic of `add_desktop_package_sources()`

- @TODO: still needs proper asset logging for sources.list(.d)
- @TODO: tunes down adding of sources/packages to CLI builds, check with Igor

armbian-next: 4.x can't build objtool in kernel-headers; allow for handling that later

- 4.x has a lot more obtuse dependencies
- introduce KERNEL_HAS_WORKING_HEADERS calculated based on KERNEL_MAJOR_MINOR

armbian-next: downgrade `error=misleading-indentation` to warning

- some 4.x kernels patches are really messy
- newer gcc's make that an error now

armbian-next: *allow cross compilation*, even the so-called "reverse cross-compile" (amd64 on arm64)

armbian-next: add `zfs` extension, which installs headers and builds ZFS via DKMS in chroot

- similar to how `nvidia` extension does it

armbian-next: x86: enable `nvidia` extension for all releases (only desktop)

armbian-next: `headers-debian-byteshift.patch` is dead; long-live cross-compiled source-only kernel-headers

- kernel-headers package now only includes _sources_
- postinst does the compilation and preparation for DKMS compatibility
- `tools` dir is included now, which includes the byteshift utilities
- handle special scripts/module.lds case after 5.10
- tested on a 6 combinations of `x86` / `arm64` / `armhf` (3x targets, 2x hosts)
- @TODO: we might be able to reduce the size of tools a bit (perf/tests/etc)
- @TODO: still missing ARCH vs ARCHITECTURE vs SRC_ARCH clarity elsewhere

armbian-next: allow `use_clean_environment=yes` for `chroot_sdcard_apt_get()` and descendants

- this causes command to be run under `env -i`, for a clean environment

armbian-next: manual merge (16) of all changes between revisions be9b5156a4 and 2a8e1ecac1

- many `traps` ignored: we don't use them anymore

armbian-next: fix logging for apt sources/gpg keys

armbian-next: don't leak `if_error_xxx` vars across runner helper invocations; always clean then (even if no error)

- also: fix wireguard-tools install, had a double parameter there

bcm2711: rpi4b: add `pi-bluetooth` which provides working Bluetooth

armbian-next: fixes for (non-)logging when interactively configuring kernel (`KERNEL_CONFIGURE=yes`)

armbian-next: move `lz4` rootfs caches to `zstd`, multithreaded

armbian-next: customize.sh: error handling, do not mount overlay if it doesn't exist

armbian-next: extra info for runners; `if_error_detail_message` and `if_error_find_files_sdcard` globals

- those are unset after running any command
- if error occur, message and/or found files will be included in log, for clarity

armbian-next: manual merge (15) of all changes between revisions 0f7200c793 and 101eaec907

armbian-next: better logging for `rsync` calls everywhere

- make rsync verbose

armbian-next: downloads: skip download if no `ARMBIAN_MIRROR` nor `DOWNLOAD_MIRROR`; less logs

armbian-next: update rockchip.conf from master and use runners

armbian-next: update mvebu64.conf from master and use functions

armbian-next: git: fix `fetch_from_repo` with actual submodules usage

armbian-next: `armbian-next`ify the `nvidia` extension after rebase from master

- driver version is configurable via `NVIDIA_DRIVER_VERSION`
- use runner function to log/error-handle/use apt cache/etc

rpi4b: there's no legacy branch anymore, remove it from KERNEL_TARGET

armbian-next: `download_and_verify` non-error handled; logging is messy [WiP] [HACK]

armbian-next: logging: let ANSI colors pass to logfile; CALLER_PID instead of BASHPID in subshell

armbian-next: enable HTTPS CONNECT in Armbian-managed apt-cacher-ng configuration

- PPAs require it

armbian-next: don't loop forever if we can't obtain ARMBIAN_MIRROR from redirector

- also, don't even try to do it if `SKIP_ARMBIAN_REPO=yes`

armbian-next: manual merge (14) of all changes between revisions 13469fd8a9 and 09e416e31c

- also editorconfig and compile.sh (root) changes

armbian-next: *much* improved logging to HTML; log archiving; consistency

- keep only current logfile
- log to LOGFILE also if SHOW_LOG=yes
- log cmd runtime and success/error directly in runner

armbian-next: *breaking change* use `MemAvailable` (not including swap) and up requirements for tmpfs

- of course add debugging logs
- rename vars
- should really only use this if we've really a lot of completely free RAM to spare
- otherwise OOM killer comes knocking
- or swapping to disk, that is counter-productive

armbian-next: *breaking change* `DEB_COMPRESS=none` by default if not running in CI/GHA

armbian-next: *breaking change* `CLEAN_LEVEL=make` is no more; new `make-kernel`, `make-atf`, `make-uboot`

- allows individual control of what to clean
- this effectively disables `make clean` by default
- rebuilds work and timestamping works for patching, so no reason to clean everytime by default.

armbian-next: refactor `prepare_host`, give `apt-cacher-ng` some much needed attention

- library dir for host-related stuff, pull it out of "general" finally

armbian-next: hostdeps: all toolchains via `crossbuild-essential-arm64`/`armhf`/`amd64`

- trying to sort out hostdeps for Jammy [WiP]

armbian-next: remove `eatmydata` usage, leftover from failed tries to make git faster

armbian-next: fix git origin check, recreate working copy if origin does not match

- fix cold bundle https download progress reporting

armbian-next: finally consolidating logs into output/logs; colorized HTML logs

armbian-next: introduce `do_with_retries()` and use it for apt remote operations during image build

armbian-next: another round of logging tuning/fixes; log assets; git logging

- introduce `do_with_log_asset()` and `LOG_ASSET=xxx`
- separate "git" logging level
- add `trap_handler_cleanup_destimg()` to cleanup DESTIMG

armbian-next: kernel: use parallel compressors; reproducible kernel builds

- also remove leftover mkdebian/builddeb parameters in make invocation
- add pbzip2 to hostdeps

armbian-next: tuning logging for timestamp/fasthash related stuff which is very verbose

- idea is to not completely overwhelm `SHOW_DEBUG=yes` case
- make patching quieter and use file instead of stdin
- set checked_out_revision_ts during git checkout (timestamp version of _mtime)
- timestamp | fasthash logging level (via `SHOW_FASTHASH=yes`)

armbian-next: completely remove mkdebian/builddeb/general-packaging kernel packaging stuff

armbian-next: manual merge (12) of all changes between revisions 34d4be6b7b and 5fe0f36aa8

armbian-next: introduce `PRESERVE_WORKDIR=yes` for heavy debugging

armbian-next: packaging linux-headers again

- do NOT use any output from `make headers_install` - that's for libc headers
- grabs "headers" (and binary tools) directly from the kernel build tree, not install target
- does not produce headers if cross compiling, for now
- produces kernel-headers package for the architecture on which it was built
- doing a single make invocation with build and install for packaging
  - using 'make all' in place of vmlinuz/bzImage/image/zImage

armbian-next: apt download-only retried 3 times before installing main packages

armbian-next: fix `VER=` read from kernel-image package, also add `linux` default

armbian-next: some logging for atf compilation

armbian-next: rewrite hostdeps as array, add armhf toolchains

armbian-next: distro-agnostic: cleanups

armbian-next: armbianEnv hooks/debugs (bsp / image)

armbian-next: rpi: completely remove dtb hacks, allowing flash-kernel to work again

armbian-next: refactor new kernel packaging; add linux-dtb package back in finally, upgrades untested

armbian-next: refactor new kernel packaging; extract hook helper, fix kernel symlink

armbian-next: refactor new kernel packaging; add linux-dtb package back in finally, all hooks untested

flash-kernel: fix short-circuits as last statement in functions

armbian-next: do not force `SHOW_LOG=yes` if `CI=true`; let's _trust_ logging and error handling works

armbian-next: back out of setting mtime to the revision time during git checkout.

- of course this causes huge recompiles when wanted revision moves forward

armbian-next: sync 'config' dir from master revision ed589b248a

- this is _also_ getting out of hand... gotta merge soon

armbian-next: sync 'packages' dir from master revision ed589b248a

armbian-next: manual merge (11) of all lib/*.sh changes between revisions 3305d45b81 and ed589b248a

armbian-next: more refactorings, general logging; fixes; split image stuff

- logging flowing correct to LOGDIR, still needs packaging

armbian-next: complete removal of usages of `LOG_SUBPATH`; 100% error handled

- loose ends, use new LOGDIR
- remove the last shortcircuit in extensions execution, now it's 100% error handled
- many logging fixes
- still missing: final log consolidation/cleanup

logging: blue groups if `SHOW_DEBUG=yes` or `SHOW_GROUPS=yes` (console equivalent of CI's avocado)

armbian-next: shut down some too-verbose logging: logo building and update-initramfs

armbian-next: git/patching, kernel: use date from git as mtime minimum for patched files

- use revision's date from git log as mtime for all fetch_from_repo
- fix patched files date at least checkout date, otherwise some patches never build

armbian-next: first attempt at kernel packaging rework; just linux-image pkg, no dtbs yet

- correctly predict KERNELRELEASE, put image-dtbs in the right spot for flash-kernel
- remove dpkg-gencontrol, do it all directly

armbian-next: rework kernel source packaging, now exporting from git, to .tar.zst

- compress with zstdmt (multi-thread zstd), remove pv indicator, it's much faster anyway
- export from git (soon will have all patches et al too)
- better logging, show pkg name
- much, much faster due to zstdmt and deb with none compression

armbian-next: a bit atrocious, nameref loaded, `get_list_of_all_buildable_boards()`

- in the process, add support for userpatches/config structure mirroring core, for easy upstreaming

armbian-next: make `SKIP_EXTERNAL_TOOLCHAINS=yes` default. lets see what breaks [WiP]

armbian-next: keeping stdout clean, use display_alert() for cleanup logging

armbian-next: library cleanups; remove `build-all.sh` for good; bring `patching.sh` back

armbian-next: `interactive_desktop_main_configuration()` and stderr'ed + error handl'ed dialog

- use redirection to fd 3 for dialog, now cleanly on stderr
- `show_menu()` -> `dialog_menu()` et al
- interactive configuration now works again!

armbian-next: logging: `SHOW_PIDS=yes`

armbian-next: refactor and error-handle most of desktop configuration, incl menus/dialog

- `dialog_if_terminal_set_vars()` in place of `dialog_if_terminal()`

[WiP] ddk stuff, allow if not in `$KERNEL_TARGET`

armbian-next: split `compile_kernel()` function into smaller functions (+logging)

- `do_with_logging()` galore, much better error reporting for kernel
- `do_with_hooks()` is for the future, just a placeholder for now

armbian-next: `do_with_hooks()` placeholder for future ideas

armbian-next: logging: small refactor and `do_with_logging` admit it does not do error control

armbian-next: fix: traps: `trap_manager_error_handled` is integer (`-i`) not array (`-a`)

armbian-next: sunxi-tools: fix logging for sunxi-tools compilation

armbian-next: runners now run bash with `-o pipefail` in addition to `-e`

- attention, only affects stuff run through the functions in runners.sh

armbian-next: kernel: reduce logging clutter (CC,LD,AR)

- hide fasthash_debug under `SHOW_FASTHASH`

armbian-next: `armhf` should make `zImage` -- or should it?

armbian-next: show logs through ccze; avoid ANSI escapes in file; `SHOW_xxx` control

- `SHOW_DEBUG` shows the debug level
- `SHOW_COMMAND` shows all invoked commands through the runners
- `SHOW_TRAPS` to show 'cleanup' and 'trap' level
- `SHOW_TIMING` to show $SECONDS but pretty
- replace hardcoded traps/cleanups logging

armbian-next: add `KERNEL_MAJOR_MINOR=x.z` to every family, manually from the `KERNELBRANCH`

armbian-next: cold/warm bundles import/download/export for fetch_from_repo

- warm remote, if present, can be exported shallow
- if warm remote bundle is present, can be imported shallow too
- fallback to cold bundle if warm not present
- export (from cold, if exists + warm) shallow bundle
- use temp clone and DATE (not rev or tag) for shallowing, WORKS!
- info JSON/CSV, include "config_ok" true/false, kernel/uboot info
  - include logs for failed configs too
  - core reports ARMBIAN_WILL_BUILD_KERNEL and ARMBIAN_WILL_BUILD_UBOOT now with package names

armbian-next: `KERNELDIR` is out, `KERNEL_MAJOR_MINOR` is in for all `meson64`, `rpi4b` and `uefi`

armbian-next: new kernel workdir layout: cache/sources/kernel/<ARCH>-<KERNEL_MAJOR_MINOR>-<LINUXFAMILY>

- `GIT_FIXED_WORKDIR` is used to ignore 2nd param and use a specific dir
- this now REQUIRES `KERNEL_MAJOR_MINOR` to be set.
- prepare some `WARM_REMOTE_NAME` and related, based on it

armbian-next: JUST_KERNEL=yes (opposed to KERNEL_ONLY=yes) is really just the kernel build

armbian-next: fetch_from_repos now done when actually compiling atf/uboot/kernel, not before

- lib regen after removing empty files (sources.sh and errors.sh are now gone)

armbian-next: linux: back to Torvalds bundle, no tags; reminder about export

armbian-next: full cached kernel build; refactor all make's in a single place, even for packaging

- 2nd+ runs build in less than a minute
- kernel: compile and package in a single step, more efficient?
- KERNEL_BUILD_DTBS yes/no to build or not dtbs, replaces KERNEL_EXTRA_TARGETS
- dtbs_install, modules_install and headers_install now called by Armbian, not packaging
- kernel with split, but identical, build and install makes for modules/headers/dtbs
- make mkdebian and builddeb idempotent as possible
- keep a lot more cache, specially 'debian' folder
- filtering logging of install stuff
- might be a few leftovers, revisit gains with packaging later
  - keeping the arm64 makefile Image.gz vs Image hack
  - fix order of packaging patch byteshift, but still there
  - cleaning of scripts tools on cross compile removed (!)

armbian-next: minor stylistic changes that I end up doing while working on other stuff

- I am `OFFLINE_WORK`'ing, I don't wanna waste 3 seconds, thanks
- OCD-fix of double `local` declarations

[giga-wip] rework patching, introducing fasthash

[wip] git: experiment with stable kernel bundle, and all tags. nice, but for what?

- also: never delete working copy, exit with error instead.

[wip] disable make clean during packaging. I wanna rebuild fast, always [NO PR?]

armbian-next: export CHOSEN_KERNEL_WITH_ARCH for reporting info

- fix info gathering, parse all boards first, and stop if some failed
- fix KERNEL_TARGET regex by including optional "export "
- add export from info to CSV, very basic stuff, but works

[squash] remove ddk bullshit from KERNEL_TARGET

armbian-next: remove file logging of aggregation stuff. config phase can't touch disk anymore.

[WiP] git cold bundle; no: shallow clones/fetched; yes: locally packed repo

armbian-next: reorder functions in file, they have a ~logical call-tree order

armbian-next: move `fingerprint_image()` out of `git.sh` into its own file

logging: fix for double stderr redirect during `fakeroot_dpkg_deb_build`

logging: subdued "command" logging for debugging low level cmd invocations ("frog")

armbian-next: when showing log, emit all host-side invocations as `debug` too.

[WiP] trap handler abstraction, somewhat works!

armbian-next: manual merge (10) of all lib/*.sh changes between revisions a4ae3a2270 and 3305d45b81 - but NOT the git unshallow stuff, that will be rewritten

armbian-next: trapmanager pt1, identifying spots for trap manager intervention

armbian-next: `install_pkg_deb` -> `install_host_side_packages` which is completely rewritten version

- much simplified; compare installed packages vs wanted, and only update if some missing

armbian-next: force u-boot and kernel's gcc to output colors to make easy to spot warnings and errors

docker: pass the `CI` env var through Docker invocation, for GitHub Actions

armbian-next: avoid warning if "file" utility not installed

- should not happen, but better safe than sorry

armbian-next: disable long_running `pv` progress bar for custom case too

- will rework later, for now pipe causes subshell and caos

armbian-next: if `CI=true` then `SHOW_LOG=yes` always

docker: add arm64 toolchain to Dockerfile; warn, but don't break, on modprobe failure

armbian-next: docker: use ubuntu:rolling, fix deps, use `$SRC/cache` as container's cache dir

armbian-next: logging fixes (padding, don't show error more than once, don't remove trap)

armbian-next: fixes for early error handling and logging

- split stacktrace-related functions into their own lib file
- simplify the traps
- some stacktrace formatting for readability

armbian-next: fix: don't `trap` `ERR` twice, it causes bash to go bananas regarding `caller`

armbian-next: `UPSTEM_VER` -> `UBOOT_REPO_VERSION` and related fixes

armbian-next: oops, fix some non-lib changes I missed, up to revision ff4346c468

armbian-next: manual merge (9) of all lib/*.sh changes between revisions 3b7f5b1f34 and ff4346c468

armbian-next: more error handling fixes. avoid shortcircuits.

- store previous error message in `MSG_IF_ERROR` (still to be actually shown somewhere during error)

armbian-next: more error handling fixes. avoid subshells, shortcircuits, and pipes

- add `CFLAGS=-fdiagnostics-color=always` to kernel compile; would need also for u-boot soon

WiP: indexing JSON into OpenSearch, all-hardcoded version

rpi: add DTB symlink in Debian/Ubuntu standard location /lib/firmware/$version/device-tree; remove build-time-only hacks

- this allows us to remove the most horrible hack
- should allow for correctly working DTB upgrades
- should NOT impact other families, although a new symlink will be created, nothing uses it.

rpi: fix: flash-kernel fix to ignore kernel 'flavour' for all raspi's

armbian-next: don't try to remove packages that are not installed to begin with

- much faster
- new chroot_sdcard_with_stdout() runner, without bash or any escaping.

armbian-next: don't try to enable systemd services for units that don't exist

- those might be removed by a bsp extension, so check for existence before trying to enable

armbian-next: don't error/warn on failure to enable bootsplash when systemd units missing

armbian-next: use indented HEREDOCS for all call_extension_method's

armbian-next: manual merge (8) of all lib/*.sh changes between revisions 1d499d9ac2 and 3b7f5b1f34

armbian-next: manual merge (7) of all lib/*.sh changes between revisions d885bfc97d and 1d499d9ac2

armbian-next: manual merge (6) of all lib/*.sh changes between revisions c7f3c239fe and d885bfc97d

armbian-next: avoid writing to disk during configuration; `ANSI_COLOR=none` logging; make CONFIG_DEFS_ONLY=yes runnable without sudo

- when `CONFIG_DEFS_ONLY=yes`, avoid writing the config summary output.log file.
  - refactor that into a function as to be easy to if-out-of
  - don't write to disk during aggregate_content() if `CONFIG_DEFS_ONLY=yes`
  - don't write to disk during show_checklist_variables() if `CONFIG_DEFS_ONLY=yes`
  - don't write to disk during write_deboostrap_list_debug_log() if `CONFIG_DEFS_ONLY=yes`
  - don't compress and rotate logs if `CONFIG_DEFS_ONLY=yes`
- don't pretend to be handling errors we can't handle during var capture
- I foresee a world we can build all .debs without sudo
- and a some kind of split of codebase entrypoint due to that future feature
- some python info.py enhancements, not ready yet

armbian-next: shellfmt and regen library (after rebase from master n.5)

tools/shellfmt.sh: exclude "cache" and ".tmp" from formatting, for obvious reasons

tools/gen-library.sh: sort function files, so it does not keep changing between runs on different machines.

- order should not be important, since files only contain functions, but avoid git churn

armbian-next: manual merge (5) of all lib/*.sh changes between revisions 1b18df3c83 and e7962bb2b5

- most PKG_PREFIX work was already done

armbian-next: `TMPDIR` for all, many logging fixes, error handling: leave-no-garbage-behind without needing traps.

- set `MOUNT_UUID` and `WORKDIR`/`MOUNT`/`SDCARD`/`EXTENSION_MANAGER_TMP_DIR`/`DESTIMG` early in do_main_configuration()
  - but, they're just _set_ there, dirs are not created early, but on demand later
  - still @TODO: actually clean those during error trap. (unhappy path leaves garbage still)
  - but does not leave garbage behind during "successful" runs at least (happy path works)
- actually export `TMPDIR` (== `WORKDIR`) during start of build (not config!), so all `mktemp` are subject to it
  - `runners.sh` has helpers to avoid passing `TMPDIR` to chroot. Use the helpers! don't call `chroot` directly.
  - don't trap/cleanup individual `mktemp` temp dirs during .deb packaging's, all is handled at once now.
  - kernel packaging, for example, automatically picks up `TMPDIR` too. So now hosts `/tmp` is mostly left alone.
- fix some "infodumps" that are done into `.log` files directly.
- don't use sudo if `CONFIG_DEFS_ONLY=yes`; we'll only be collecting info, not doing anything.
- simpler logging for `rsync` operations (just dump to stdout, logging will handle it!)
- use padded counter for section logfiles, so we know which order things ran. exported as `CURRENT_LOGGING_COUNTER`
- no reason to use `apt-get` with `-yqq` anymore, since all logging is handled, so now `-y` by default
- desktop: using runners helpers for rootfs-desktop.sh, which should help a lot with acng caching and finding of problems
- extensions: correctly cleanup temp stuff, extensions has its own tmp/workdir now, and is always cleaned up at end of build.

armbian-next: bye `PKG_PREFIX`, hello `run_host_x86_binary_logged()` wrapper function; better error handling

- we've x86-only utilities that might need to be run on non-x86 build machines
- previously duplicated logic in PKG_PREFIX variable refactored into logged function
- added centralized debug logging
- replace all PKG_PREFIX usage with the new wrapper function, which already handles logging and errors.
  - mostly FIP tooling invocations
  - but also the boot_logo image builder
  - wrapper function delegates to common `run_host_command_logged`
- wrap other FIP invocations with `run_host_command_logged` too, for tidy logging
- avoid using conditionals when invoking functions; that completely disables error handling inside the called function
- use explicit bash opts instead of shortcuts like `set -e`
- a _lot_ of debug logging added

armbian-next: always use UPPERCASE labels for FAT32 UEFI filesystems (rpi4b, uefi-*)

armbian-next: shellfmt after rebase onto master

armbian-next: manual merge (4) of all lib/*.sh changes between revisions 23afccf56e and e610f00bc7

- plus ooops

atf: fix for `set -e` mode; fix CROSS_COMPILE quoting

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: predict the future location of .img file

- otherwise it's really unhelpful

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

uefi: alias `BRANCH=ddk` to `current`'s `DISTRO_GENERIC_KERNEL=yes`

- no real change, just to match rpi4b's BRANCH=style
- opens space for Armbian-built `current` soon

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

rpi: `legacy`->`ddk` (distro default kernel), remove overclock

- common vars in bcm2711.conf moved to top
- removed overclock/overvolt that was leftover my old setup
- confirmed: works with rpi3b too, should work with CM4/CM3 and others
- use valid UPPERCASE FAT label for RPICFG (in place of `rpicfg`)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

armbian-next: shellfmt again after rebase

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

armbian-next: manual merge (3) of all lib/*.sh changes between revisions 1035905760 and e4e4ab0791

- missed non lib change on Several improvements for RPi builds (#3391)
- I just realized I will have to drop all non lib changes

rockship: fixes for `set -e` mode in rockship armhf family and bsp tweaks

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

armhf: enable building armhf targets on amd64 using system toolchains

- SKIP_EXTERNAL_TOOLCHAINS=yes on amd64 should use the same system toolchains as an arm64 build

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: better logging about family_tweaks and family_tweaks_bsp

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

kernel: unblock cross compilation, warn about headers package

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: fixes for sunxi/megous stuff with `set -e`

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: fix shellcheck references generation

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: manual merge (2) of all lib/*.sh changes between revisions 117633687e and 3083038855

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: renaming function files a bit more consistently

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: removing leftover empty file after all the moving around

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: really insist on set -e during library loading

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: shellfmt again after rebasing master

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: manual merge of all lib/*.sh changes between revisions f6143eff67 and f3388b9aee

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: generic do_capturing_defs wrapper; Python parser

- enabled by passing CONFIG_DEFS_ONLY=yes; in this case does not build anything
- [WiP] Python3 info reader / matrix expander
  - multithreaded version

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: move some interactive parts of config into its own functions

- mostly from config-prepare;
- there is still a lot of others in main-config

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: use chroot_custom for grub and flash-kernel extension logging

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: use line buffering, fix runner output color for GHA

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: wrap dpkg-deb; set TMPDIR (not in chroot); refactor kernel make

- And a huge amount of @TODO's added
- Add "debug" and "deprecation" `display_alert()` levels
- insist that `install_common` is now `install_distribution_agnostic`
- unrelated: realtek 8822CS is EXTRAWIFI=yes only now, sorry.
- many debug statements for desktop

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: don't bail out on patching error

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: bunch of fixes; no-stdin; traps; better stacks

- mostly no-stdin dialog handling (desktop et al)
- let ERR trap run together with unmount trap (EXIT etc)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

logging: trap ERR very early, pass-in caller info

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

armbian-next: huge refactor, shellfmt, codesplit, logging/error handling

- *this commit changes most/all the lines of bash code in armbian/build*
- *author is set to IgorPec for historical reasons, rpardini is to blame for the actual changes*
- logging: refactorings, pt.4: autogen lib, shellfmt tool, extract cli
  - shellfmt: auto-downloader and runner of shellfmt
    - darwin/linux
    - amd64/arm64
    - find ~correct files to format
    - run formatting
    - check formatting soon
  - refactor compile's CLI stuff out into function/cli
  - gen, and use genned library with tool
- logging: refactoring pt3: HUGE split of everything into everything else
  - plus rebasing fixes
- logging: refactorings, pt. 2: error handling
  - fix: no errors during umount_chroot()
  - no progress for CI=true builds
  - WiP disable kernel hashing. too crazy.
  - a few builds now working with "set -e"
  - wtf. or something
  - kernel logging and long_running stuff - a mess - needs moving around in files
  - rewrite uboot compile loop without using subshells. remove ALL traps. refactor host command
  - better logging for u-boot
  - more fixes, u-boot
  - more fixes for logging et al
  - git stuff
  - many (many) fixes
  - new color scheme
  - a monster. make sure unmounted at the end. remove set -e's, to-be-readded.
  - remove set -e "for safety reasons"
  - more alerts. we gotta know whats failing
  - some more logging stuff and fixes for error checking
  - more logging and error handling stuff
  - fixes; some set -e's
  - more logging stuff
- logging: refactoring codebase, pt.1: functions-only
  - Refactor the hell out of everything into functions
  - rename build-all-ng to build-multi; other fixes, extensions init
  - slight nudge
  - some were already good, like this one.
  - syntax fixes
  - some need a little nudge
  - another clean one
  - some just need a better name (and splitting later)
  - syntax fixes
  - some were already good, like this desktop one
  - some were already good, like this other one
  - some were already good, like this one.
  - debootstrap is gone.
  - extract functions from compile.sh
  - add logging to main_default_build
  - more stuff
  - cleanups and refactors of main.sh
- logging: first steps
- logging: pt. 0: shellfmt everything

- add riscv64 do SRC_ARCH/ARCH/ARCHITECTURE mess; add warn
2023-02-18 07:38:46 -03:00
Ricardo Pardini
ad21c12c2b armbian-next: extensions changes - MEGASQUASH - squashed changes from c9cf3fc241cfb4c872f4aef7bbc41d5854db7ea3 to 6809de3d6063cb041205a8318e19da6a4dee68c9 ref extensions_08_10_2022_pre_v30 2023-02-18 07:38:45 -03:00
Ricardo Pardini
6815b0ff57 armbian-next: remove source common.conf in arch configs; fix/protect against bash shortcircuits in arch configs 2023-02-18 07:38:44 -03:00
Ricardo Pardini
66c81e96db armbian-next: sources and sources/family armbian-next changes - MEGASQUASH - squashed changes from c9cf3fc241cfb4c872f4aef7bbc41d5854db7ea3 to 6809de3d6063cb041205a8318e19da6a4dee68c9 ref extensions_08_10_2022_pre_v30 2023-02-18 07:38:42 -03:00
Tony
babc8d52fe Revert extlinux for roc-rk3328-cc (#4840)
As extlinux is not matured within the armbian tools (armbian-config in particular), revert change until such a time as the proponents of extlinux mature the Armbian utilities. 

-Fixes use of overlays
2023-02-18 10:34:37 +01:00
Oleg
b9d19da461 add khadas edge2 (#4836)
* add khadas edge2

* fix wifi
2023-02-17 23:06:21 +01:00
Oleg
4aac2fca72 add fan-control station m3 (#4837) 2023-02-17 22:51:02 +01:00
Igor Pečovnik
523c4f2149 Radxa Zero generates EDGE images instead of CURRENT (#4833) 2023-02-17 22:38:48 +01:00
M. Efe Çetin
1b423adf2f Add rockchip-rk3588 board family to armbian-hardware-optimization (#4838)
* Add rockchip-rk3588 board family to armbian-hardware-optimization

* Update armbian-hardware-optimization
2023-02-17 22:37:48 +01:00
Paolo Sabatino
38389e2e73 rockchip: fix missing bluetooth for tinkerboard, add back AUFS driver 2023-02-17 17:05:45 +01:00
The-going
e570f737a0 fix: armbianmonitor: used cpufreq/scaling_cur_freq if 1 Cluster available 2023-02-16 23:24:37 +03:00
Kreyren
3af0230cf9 bugreport: include armbian-next in branch (#4793) 2023-02-15 16:02:01 +01:00
Ivan Podogov
a36651f299 Merge pull request #4835 from armbian/ginkage-patch-1
Set `pcie_aspm` to `default` instead of `powersave`
2023-02-14 15:32:27 +00:00
Ivan Podogov
d7c5e0c834 Set pcie_aspm to default instead of powersave
This matches the Radxa's BSP change [here](60071e3a4d).
See [here](https://github.com/ThomasKaiser/Knowledge/blob/master/articles/Quick_Preview_of_ROCK_5B.md#suggestions-to-radxa) for details about why this is needed.
2023-02-14 15:07:04 +00:00
Igor Pečovnik
39ef59c3cf Disable cronjobs as we are moving to armbian-next (#4832) 2023-02-13 21:25:43 +01:00
The-going
6922edc4c8 Fix: Armbianmonitor: Print the CPU frequency correctly without privileges (#4823)
* Type: Remove trailing spaces

* Fix: Print the CPU frequency correctly without privileges.
2023-02-12 21:52:12 +01:00
Igor Pečovnik
31ee14377c Split Bananapi M2PRO from M5 (#4826)
This is comming to 6.2 / 6.3
2023-02-12 21:51:59 +01:00
João Assunção
8652bf3d37 Adds SPI, I2C, and PWM DTS overlays for odroid-m1 (#4825)
Adds i2c3, pwm1, pwdm2, spi0 and uart1 nodes to rk3568-odroid-m1.dts.
Adds patch to remove spi-dev warning
Adds patch with support for overlay compilation
Adds DTS overlays for spi, uart0, uart1, pwm1, pwm2, pwm9, i2c0 and i2c1

Co-authored-by: jassuncao <joao.assuncao@exploitsys.com>
2023-02-12 21:20:35 +01:00
M. Efe Çetin
bf2042a175 Add AP6275P overlay for Orange Pi 5 (#4829) 2023-02-12 21:20:18 +01:00
Igor Pečovnik
313c893f88 Remove missing package from Cinnamon desktop (#4831) 2023-02-12 15:29:01 +01:00
Torndeco
66ceaf3b7e Fix: Python2 Paths for Legacy Kernel v5.10 with Edge Release (#4818)
* Fix: Python2 Paths for Legacy Kernel v5.10 with Edge Release

* Move v5.10 python2 check to kernel-bootsplash-and-drivers.sh
2023-02-12 15:22:16 +01:00
Igor Pečovnik
ce30644a09 Disable Event debugging CONFIG_INPUT_EVBUG (#4828) 2023-02-12 15:21:55 +01:00
Igor Pečovnik
64e3070613 Wrong wallpaper path on i3wm package creation (#4808) 2023-02-12 14:22:56 +01:00
Igor Pečovnik
3008e60c68 Due to possible transitioning from WPA_Supplicant to Intel's IWD daemon for Linux wireless needs hard dependancy was removed. (#4830) 2023-02-12 14:22:43 +01:00
The-going
e7ab342abd sunxi: switch CURRENT to v5.15.93 EDGE to 6.1.11 2023-02-10 12:09:47 +03:00
Ivan Podogov
da91622cd0 Merge pull request #4811 from ginkage/master
Fix wireless modules indentation warnings
2023-02-07 22:17:14 +00:00
Igor Pečovnik
50ee6eaae7 Hooks are called system wise (#4819)
No need to put call function here.
2023-02-07 08:33:13 +01:00
Werner
e3ab686e6d Adjust git command (#4815)
Based on https://github.com/armbian/build/issues/4690
2023-02-06 15:17:12 +01:00
Ivan Podogov
67b04be553 Merge pull request #4812 from armbian/ginkage-patch-1
Remove missing patch application
2023-02-05 20:26:29 +00:00
Ivan Podogov
75c7c031f9 Remove missing patch application
This patch was removed in https://github.com/armbian/build/pull/4775 and split into individual patches
2023-02-04 11:56:41 +00:00
Ivan Podogov
2a766ce0ad Fix wireless modules indentation warnings 2023-02-03 21:37:07 +00:00
Igor Pečovnik
7bf3c297cb add support for various HID game controllers and waydroid (#4806)
add support for various HID game controllers and waydroid on rk3588 legacy kernel

Co-authored-by: monkaBlyat <54044929+monkaBlyat@users.noreply.github.com>
2023-02-03 18:44:44 +01:00
Igor Pečovnik
adbef32dda Move Neo to last known working boot loader (#4784) 2023-02-03 13:01:30 +01:00
Kreyren
e43fd00fd9 README: fool-proof for CARD_DEVICE example (#4789)
Because people often do CTRL+C and CTRL+V without thinking
2023-02-03 13:01:17 +01:00
SteeManMI
bda9975ec8 Add TV Box targets to stable builds per the discussion from the (#4798)
23/01/18 Developers Meeting.
Added aml-s9xx-box and rk3318-box (rk322x-box was already there)

 Changes to be committed:
	modified:   config/targets.conf
2023-02-03 10:04:47 +01:00
M. Efe Çetin
5c487194e0 Split wireless VFS patches (#4775) 2023-02-03 10:03:11 +01:00
Oleg
5bb75741c0 Disables the use of the obiabf repository by default (#4783) 2023-02-02 14:08:48 +01:00
hzyitc
c6b9135293 meson: Fix broken patches (#4795) 2023-02-02 14:08:22 +01:00
Oleg
50a1ecd2f6 fix Station P1 (#4796) 2023-02-02 14:08:11 +01:00
Igor Pečovnik
fce5179c84 Improve build framework bug reporting form (#4787) 2023-02-02 14:03:59 +01:00
schwar3kat
72a505d061 Merge pull request #4778 from schwar3kat/Tweak-orangepi-r1plus-lts-LEDs-and-networking
Tweak orangepi-r1plus-lts LEDs and networking.
2023-02-02 11:29:10 +13:00
Oleg
20ee08325f move kernel media current 6.1 and edge 6.2 (#4781)
* move kernel media current 6.1 and edge 6.2
add board quartz64b

* fix nanopc-t4
2023-02-01 20:24:20 +01:00
hzyitc
133c595539 meson: remove legacy branch (#4769) 2023-02-01 20:23:36 +01:00
schwar3kat
219bbfcf8a add-rk3328-device-tree-overlay-uart1-i2c0 (#4776)
RK3328 UART1 and I2C0 are available on Orange Pi R1 Plus LTS 13 pin connector. Add device tree overlay files for rk3328 uart1 and i2c0.

Co-authored-by: schwar3kat <schwar3kat@armbian.com>
2023-02-01 20:22:26 +01:00
Paolo
418228fb90 rockchip64: fix rk3328 dmc driver (#4774) 2023-02-01 20:18:41 +01:00
M. Efe Çetin
86cad1f74b Disable hardware cursor for Rock 5B and Orange Pi 5 (#4773) 2023-02-01 20:18:25 +01:00
M. Efe Çetin
d99246eceb Add rockchip-rk3588-opp-oc-24ghz overlay for RK3588 boards (#4733) 2023-02-01 20:15:55 +01:00
The-going
ca696c2839 sunxi: switch CURRENT to 5.15.91, EDGE to 6.1.9 (#4785)
Delete previously applied
2023-02-01 20:15:37 +01:00
M. Efe Çetin
0f64de49f9 New legacy bootscript for rockchip-rk3588 so vendor/patched overlays work (#4734)
* Rename overlay prefixes to `rockchip-rk3588`

* support radxa-specific overlays
2023-02-01 20:15:01 +01:00
catalinii
95267c37b4 Fix CEC for Radxa Rock 3A (#4786)
Co-authored-by: Catalin Toda <catalinii@yahoo.com>
2023-02-01 11:01:57 -08:00
schwar3kat
9cd5c76b2e Tweak orangepi-r1plus-lts LEDs and networking.
Add sys-triggered LED's, fix LAN LEDS, and improve Debian dual network function.
2023-02-01 17:52:18 +13:00
Paolo
e9fa7caa6c sunxi64: fix uwe5622 compile on current 5.15 kernel (#4772) 2023-01-31 17:39:26 +01:00
Paolo Sabatino
66cc120dad fix SPDIF for x88pro/mxq rk3328 tvbox boards 2023-01-31 15:58:08 +01:00
Paolo
79019296d8 rockchip64: consolidation for uwe5622 driver, v6.1 kernel compatibility (#4766) 2023-01-30 17:28:37 +01:00
Vyacheslav
3e6188f5ed [AR-1527] Remove unnecessary patches for rtl8822cs (#4768) 2023-01-30 17:28:23 +01:00
Tony
726023c4e2 Delete board-rk3328-roc-cc-rock64-add-usb3.patch (#4763)
already present in mainline
2023-01-29 15:29:59 +01:00
Tony
b817c37877 [ rockchip64 ] renegade patch missing nodes (#4764) 2023-01-29 15:29:48 +01:00
Jianfeng Liu
620b87fbf0 add rk3588-implicit-sync patches from icecream95 for rk3588 legacy kernel (#4762) 2023-01-28 17:02:44 +01:00
Igor Pečovnik
7f5c20d75c Bugfix: GRUB installation failed to install on UEFI systems (#4758)
- removing "removable" paramter
- UUID from EFI partition was not found
2023-01-28 00:14:51 +01:00
Igor Pečovnik
013867f617 Prevent error at password strength check (#4760)
Cracklib check library must be present in minimal variant
2023-01-28 00:14:36 +01:00
M. Efe Çetin
411b607e46 Add some Wireless modules to RK3588 legacy kernel (#4759)
* Add some Wireless modules to RK3588 legacy kernel

* Add some Wireless modules to RK3588 legacy kernel

* Add some Wireless modules to RK3588 legacy kernel
2023-01-27 23:19:08 +01:00
The-going
4a61f38df8 Switch sunxi: current to 5.15.90, edge to 6.1.8 (#4757)
* switch-sunxi: CURRENT to 5.15.90, EDGE to 6.1.8

* sunxi-6.1: update upstream to tag orange-pi-6.1-20230118-1327

sunxi-5.15: rebase
2023-01-27 15:25:50 +03:00
Vyacheslav
1f35491cb7 Merge pull request #4754 from jethome-ru/AR-1522-fix-sdio-port-irq-level-bug-found-in-6-0-kernel
Add SDIO irq patch to fix irq lost in new SDIO irq code (kernel 6.0+)
2023-01-26 23:21:42 +03:00
Kreyren
4c709d688b build/config/boards/readme: Make usable (#4748)
* build/config/boards/readme: Make usable

* Document DEFAULT_OVERLAYS

* Fixed typo

* Update config/boards/README.md

Co-authored-by: hzyitc <hzyitc@outlook.com>

Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
Co-authored-by: hzyitc <hzyitc@outlook.com>
2023-01-26 19:09:47 +01:00
Oleg
462b3befec correction of bpir2pro frequency control and changing the composition of images (#4753) 2023-01-26 19:08:48 +01:00
Viacheslav Bocharov
61ee32eed5 Add SDIO irq patch to fix irq lost in new SDIO irq code (kernel 6.0+) 2023-01-26 18:16:30 +03:00
Igor Pečovnik
abd16c5b0f Enable maxium compression on rootfs cache (#4752)
This will be changed in NEXT in any case, but in order to generate (probably last) roofs cache before switch, we need to bump compression to max or files will not go into GH releases.
2023-01-26 10:10:33 +01:00
Tony
06762428ff [ rockchip64 ] move disabled patches to folder (#4751) 2023-01-26 10:04:47 +01:00
Konstantin Litvinov
8398dd1116 Added Debian 12 Bookworm. (#4740)
* Added Debian 12 Bookworm.

* Link identical

* Make minimal truly minimal again

Move netplan.io to CLI image only

* Add netplan.io to Bullseye standard CLI

Co-authored-by: Konstantin Litvinov <klitvinov@piesoft.us>
Co-authored-by: Igor <igor@armbian.com>
2023-01-26 10:04:17 +01:00
Kreyren
a7bd7f5dbb rk3318-box: Remove DEFAULT_CONSOLE bcs undefined
The keyword DEFAULT_CONSOLE with value 'both' has undeclared behavior in the build repository -> removing it
2023-01-25 23:01:44 +01:00
Julian Sikorski
0aa867b2d5 Update odroidxu4-current to 5.4.230 (#4741) 2023-01-25 18:32:41 +01:00
Igor Pečovnik
74aa5d9e0a Clean and unify XFCE, Gnome and Cinnamon (#4731)
* Clean and unify XFCE, Gnome and Cinnamon
2023-01-25 18:32:25 +01:00
M. Efe Çetin
edcc165b41 Move OPi5 from wip to conf (#4730) 2023-01-25 00:38:06 +01:00
M. Efe Çetin
5811543c7f Enable some Ralink modules for RK3588 (#4736) 2023-01-25 00:37:48 +01:00
Paolo Sabatino
8aa351a999 rk322x: bump current kernel flavour to 6.1 2023-01-24 20:56:18 +01:00
Paolo Sabatino
cb3226dfa3 bump rockchip 32bit to kernel 6.1 2023-01-24 20:56:00 +01:00
Paolo Sabatino
973b3c0610 rockchip64: rework pbp patch including usb type-c extcon services 2023-01-24 20:55:38 +01:00
Werner
c1cfd6059b cosmetics (#4728)
* cosmetics

Twitter counter is broken
be more precise in terms of 64 bit

* Replace Twitter with Mastodon

* Add fosstodon below to contacts

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2023-01-23 11:18:21 +01:00
Erik
31b5113c75 added support for MediaTek USB drivers (#4727)
* added support for MediaTek USB drivers

* merged most recent pull

* fixed merge

* removed unset comments
2023-01-23 07:18:19 +01:00
Markus Hoffrogge
fba71fa703 Extend BUILD_ONLY value to single value "default" (#4519)
* Extend BUILD_ONLY value to single value "any"

- build-tasks.sh:
  - build_task_is_enabled():
    - handle value "any" adequate to logic for empty string
  - build_validate_buildOnly():
    - handle value "any" adequate to logic for empty string
    - add specific error message in case "any" appears in a list of task names
  - add function build_only_value_for_kernel_only_build():
    - provide a constant list of task names for kernel only package build
      supposed to be used unique at several places
  - backward_compatibility_build_only():
    - propagate KERNEL_ONLY="no" to BUILD_ONLY="any"
    - propagate KERNEL_ONLY="yes" to BUILD_ONLY="$(build_only_value_for_kernel_only_build)"
    - update log messages accordingly

- interactive.sh:
  - re-factor interactive_config_ask_kernel_only()
    -> interactive_config_ask_build_only()
  - interactive_config_ask_build_only():
    - provide three pre-defined choices:
      - "u-boot" - "U-boot package only"
      - "$(build_only_value_for_kernel_only_build)" - "U-boot and kernel packages"
      - "any" - "Full OS image for flashing"
  - un-comment call of interactive_config_ask_build_only
    in interactive_config_ask_kernel()

* Extend BUILD_ONLY value to single value "default"

- build-tasks.sh:
  - change BUILD_ONLY setting of "any" to "default"
    to be closer to parallel WIP of #4526

- interactive.sh:
  - interactive_config_ask_build_only():
    - improve menu selection texts for unique quick selection first characters:
      - "u-boot" - "U-boot package only"
      - "$(build_only_value_for_kernel_only_build)" - "Kernel and U-boot packages only"
      - "default" - "Full OS image for flashing"

* Update sequence of BUILD_ONLY selection

- start with default to "Kernel and U-Boot packages only"

Co-authored-by: Igor <igor@armbian.com>
2023-01-22 08:57:50 +01:00
Kirill
e1482b1e9a Fix uninitialized cfg80211_chan_def for rtlwifi (#4714)
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2023-01-22 08:40:27 +01:00
Igor Pečovnik
6d38906c8d Move UWE5622 from kernel patches to misc (#4723)
Todo: Compare and unify with the driver that floats in Rockchip patches
2023-01-22 08:40:12 +01:00
The-going
fc70c73608 sunxi: switch CURRENT to v5.15.89, EDGE to v6.1.7 (#4724) 2023-01-22 08:39:59 +01:00
catalinii
fadcb7d915 Fix cec disconnecting after TV restart (#4725)
Co-authored-by: Catalin Toda <catalinii@yahoo.com>
2023-01-22 08:39:48 +01:00
M. Efe Çetin
2fd67982bb Add missing I2C, SPI, PWM, UART, LCD overlays to Orange Pi 5 (#4712) 2023-01-20 18:44:38 +01:00
Igor Velkov
d1a7a49277 up version actions/checkout (#4715) 2023-01-20 18:44:25 +01:00
Kirill
58cc85f3b7 Make different MAC for if1 (#4716) 2023-01-20 18:44:04 +01:00
Kirill
4c5f202e50 rtlwifi: Fix p2p-go advertising (#4717) 2023-01-20 18:43:53 +01:00
Oleg
eb7b1aa1d1 fix kernel edge for Jetson Nano (#4719) 2023-01-20 18:43:42 +01:00
Oleg
09408c6f6c move bpir2pro csc to config (#4720) 2023-01-20 18:43:30 +01:00
The-going
4fe4e21969 fix: pass an argument to the awk script as a variable
MonitorIO: Add an argument check and a hint to the user
2023-01-20 20:28:07 +03:00
The-going
fc417f5c29 Fix: Uniquely determine the mount point in GetDevice 2023-01-20 20:28:07 +03:00
The-going
bf462f3517 clean: remove unused code, replaced df with findmnt 2023-01-20 20:26:37 +03:00
Igor Velkov
fe61154cc1 Mount /tmp in docker builder container as tmpfs. Same as #4703 (#4704)
Signed-off-by: Igor Velkov <iav@iav.lv>

Signed-off-by: Igor Velkov <iav@iav.lv>
2023-01-19 18:50:20 +01:00
Julian Sikorski
0c914b32c5 Update odroidxu4-current to 5.4.229 (#4711) 2023-01-19 18:49:59 +01:00
Igor Pečovnik
066ea2be99 Change old not supported releases to EOS (#4707) 2023-01-19 18:49:44 +01:00
Igor
dfd5d40c93 Re-enabling support for Rpi3
The boot partition is flagged ESP, which the PI3 does not support.
2023-01-18 16:59:19 +01:00
schwar3kat
8e87237cbf Clean_up_mbox_format_in_rk3399-ehci-probe-usb2.patch
U-boot-rockchip64. No code changes. Original patch applied and new patch generated then mbox tweaked to retain relevant details. Prevents patching errors in armbian-next.
2023-01-18 16:55:37 +01:00
schwar3kat
73f4776bf2 Clean_up_mbox_format_in_general-add-overlay-configfs.patch (#4705)
For rockchip64 all applicable versions. No code changes. Prevents patching errors in armbian-next.
2023-01-17 19:30:22 +01:00
henkiejan1
10e0971c7b Adding Linux Mint Vera 21.1 as building host (#4699)
* Update prepare-host.sh

* Updated so it´s equal to prepare-host.sh

Made the file as advised equal to prepare-host.sh. There where also some other Ubuntu distributions not added to this file.
2023-01-16 10:33:11 +01:00
Paolo
2a51ee3d77 rk322x: fix tsadc-related bootloop on some boards (#4701) 2023-01-16 10:33:01 +01:00
Hannes Braun
f13fc83465 RockPro64: add thermal fan control (#4702) 2023-01-16 10:32:48 +01:00
The-going
43ac0cc3fd CCACHE_TEMPDIR="/tmp/ccache-tmp" if /tmp is mounted as tmpfs 2023-01-16 10:59:06 +03:00
The-going
3188514771 sunxi: switch EDGE to v6.1.6 CURRENT to v5.15.88 (#4698) 2023-01-15 17:19:18 +01:00
SteeManMI
fee2f3a4b4 Enable MGLRU on meson64-edge (#4697)
This is already enabled in the rockchip family on edge and per the discussion
here: https://forum.armbian.com/topic/20018-mglru-patches-to-bring-down-kswapd-cpu-usage
I would like to enable it on meson64-edge.  And if that goes smoothly,
I will followup with a PR to enable it on meson64-current also since that is
now on 6.1.

 Changes to be committed:
	modified:   config/kernel/linux-meson64-edge.config
2023-01-15 07:48:12 +01:00
Igor Pečovnik
55f422b77a Lets generate minimal images instead of CLI (#4694) 2023-01-13 13:49:59 +01:00
The-going
087ddb39b2 sunxi: switch EDGE to v6.1.5, CURRENT to v5.15.87 2023-01-13 12:56:12 +03:00
hzyitc
0b437bfd75 buildscript: Bugfix: handle over-mounted mountpoint (#4660)
Adjust the parameters when calculating the mount point
2023-01-12 13:52:01 +03:00
hzyitc
242e78034e lint-script-pr: bugfix: fail too fastly to check the remaining scripts (#4693) 2023-01-12 11:34:52 +01:00
Igor Pečovnik
1955f4fcfe Move htoprc to proper location as this method doesn't work properly (#4689)
* Move htoprc to proper location as this method doesn't work properly

* Remove the file
2023-01-12 13:31:45 +03:00
Paolo Sabatino
a3feee9ec9 rk322x: reinstate AUFS, adjust some kernel config options 2023-01-11 23:19:42 +01:00
Paolo Sabatino
2568d8b042 adjust video4linux2 patch for rk322x and rockchip families 2023-01-11 23:19:42 +01:00
simple
f9740dbe8c Add overlays for rockpro64 7″ lcd (#4684) 2023-01-11 19:00:44 +01:00
Paolo Sabatino
23b9770eef rockchip64: fix borked 6.1 kernel configuration 2023-01-11 18:59:04 +01:00
dependabot[bot]
21186c0577 Bump Vucko130/delete-older-releases from 0.2.1 to 0.2.2 (#4678)
Bumps [Vucko130/delete-older-releases](https://github.com/Vucko130/delete-older-releases) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/Vucko130/delete-older-releases/releases)
- [Commits](https://github.com/Vucko130/delete-older-releases/compare/v0.2.1...v0.2.2)

---
updated-dependencies:
- dependency-name: Vucko130/delete-older-releases
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 07:03:20 +01:00
Ricardo Pardini
5656417c9d mvebu64: remove dangling symlinks for both current and edge (#4679) 2023-01-10 07:03:09 +01:00
Igor Pečovnik
0250fdd756 Merge pull request #4680 from rpardini/meson64-edge-6.2
`meson64`: `edge`: bump to 6.2
2023-01-10 07:02:38 +01:00
Ricardo Pardini
0ea5a3547b meson64: edge: bump to 6.2 - rebased patches against tag v6.2-rc3
- usual conflict resolution (Makefiles, mostly)
2023-01-10 00:31:41 +01:00
Ricardo Pardini
80dffbc761 meson64: edge: bump to 6.2 - copy patches as-is from 6.1 2023-01-10 00:31:35 +01:00
Igor Pečovnik
65d6891e33 Switch Meson64 CURRENT to K6.1 (#4677)
- remove older patches
2023-01-09 16:33:57 +01:00
Igor Pečovnik
23bf63454f Bananapi M5 - switch to more recent boot loader (#4675) 2023-01-09 14:53:19 +01:00
Ricardo Pardini
952fc55acb meson64: 6.1.y/edge: BananaPi M5: use 270 clock phase via amlogic,mmc-phase (#4674) 2023-01-09 13:36:20 +01:00
Igor Pečovnik
f2cdc8478a meson64 - update kernel config (#4676) 2023-01-09 13:33:29 +01:00
hzy
66cf974672 Clean extras-buildpkgs 2023-01-09 11:47:16 +03:00
Ricardo Pardini
513e318cdb mvebu: 6.1: fix mbox formatting for 12-net-dsa-mv88e6xxx.patch (#4670)
- `FFrom `... -> `\nFrom ` makes it mbox-valid again
- detected by armbian-next's Python patching which now matches mbox-to-magic-markers count
2023-01-09 08:25:22 +01:00
Ricardo Pardini
2eec233f52 uefi-arm64: 6.1: add patch for Phytium D2000 onboard Ethernet (#4671)
- ACPI stmmac glue, PHY hack
- there are 2 gmacs, but only eth1 has an actual PHY
- original https://gitee.com/atzlinux/atzlinux-kernel/tree/master/debian/patch
- adapted to default to =m, not require Feiteng kernel reqs, and small api change around 5.19.y (done before)
- squash and rename patch to reflect what it is
- remove numbering, let's not do numbered patches in UEFI families?
2023-01-09 08:24:53 +01:00
Ricardo Pardini
2a9b374634 meson64: 6.1.y/edge: docs: fix zero2's patch after bpim2s's addition (#4672) 2023-01-09 08:22:45 +01:00
Ricardo Pardini
321fec6f41 meson64: 6.1.y/edge: rebase patches against v6.1.4 (no actual changes) (#4673) 2023-01-09 08:22:23 +01:00
The-going
591ae55fcd Sunxi 6.1 (#4669)
* sunxi-6.1: Remove pre-applied patches for v6.1.4
* sunxi-6.1: switch to v6.1.4 tag
2023-01-08 11:11:08 +01:00
schwar3kat
25c8de0056 add-board-orangepi-r1-plus-lts-patch-remove-trailing-spaces (#4668)
and line feeds. Improve parser compatibility. No functional changes.
2023-01-08 11:10:57 +01:00
Ricardo Pardini
0936a4200b Revert "extrawifi: Clean code (#4636)" (#4667)
This reverts commit 764214156e.

- This needs fixing. many failures
2023-01-08 11:10:21 +01:00
Kirill
ba48245f29 RTL8189FS: Fix P2P-GO advertising (#4661)
* RTL8189FS: fix P2P-GO adverising

* Add patch to drivers_network.sh

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2023-01-07 21:05:30 +01:00
Igor Pečovnik
8d6e611fba Add kernel config security analysis Action script (#4616)
- it never fails, just making a report
- adjust run conditions on lint action
2023-01-07 21:02:38 +01:00
hzyitc
764214156e extrawifi: Clean code (#4636) 2023-01-07 21:00:29 +01:00
Igor Pečovnik
adac8d4a46 Update Opi Zero 2 legacy kernel (#4642)
* Update Opi Zero 2 Legacy kernel

+ enable images back as those works decently, mainline is too fragile.

* Fix broken patch
2023-01-07 21:00:16 +01:00
technikian
693ff96248 fixed "unrecognized symbol [[" (#4656)
* fixed "unrecognized symbol [["

the old way caused the compilation to abort with a syntax error.  idk why, but it did, this is how I got it to work.

* fixed syntax error

improvement to previous fix
2023-01-07 20:59:22 +01:00
Kirill
c8c6f91e78 RTL8189FS: Fix and enable secondary iface (wlan1) (#4662)
* RTL8189FS: Fix and enable wlan1

* fix paths in the patch
2023-01-07 20:58:43 +01:00
Kirill
ff318b4c97 i2c: mv64xxx: Atomic i2c for 5.15 kernel (#4664) 2023-01-07 20:58:32 +01:00
Paolo
362e777f11 Rebase Nanopi patches over existing kernel source (#4665)
* rockchip64: apply nanopi-r2s patches over existing kernel source

* rockchip64: apply nanopi-r4s patch over existing kernel source
2023-01-07 20:53:40 +01:00
Daniel Pinto
b9170c2f22 Add patch to support sata on Orange Pi 5 (#4666) 2023-01-07 20:53:29 +01:00
M. Efe Çetin
8ce93a2eb3 Fix common OPi 5 HDMI issues (#4659) 2023-01-06 20:12:36 +01:00
Igor Pečovnik
0c1cf00e73 Change smoke test label (#4657)
Lets rather show success percentage instead of binary values.
2023-01-06 14:29:00 +01:00
Ricardo Pardini
b3aa97fd6b bananapim2s: fix test for $BOARD == bananapim2s to find FIP blobs (board was renamed) 2023-01-05 17:43:00 +01:00
Ricardo Pardini
1b64cfa271 bananapim2s: rename u-boot patch folder, required, since board file was renamed in #4644 2023-01-05 17:43:00 +01:00
Igor Pečovnik
a72be5f853 Improve GitHub issues handling (#4646) 2023-01-04 20:21:10 +01:00
Jannis
b619876210 [AR-1313] Move mvebu edge to 6.1 (#4652)
* Initial work on bringing mvebu to 6.0

* Switch mvebu edge to 6.1

* Remove link leftover

* Update kernel config

Co-authored-by: Igor <igor@armbian.com>
2023-01-04 18:37:42 +01:00
m][sko
1df33255c0 rock 5b edge add sd card support, remove tegra and update to Linux rc2 (#4653)
* add sdcard support, remove tegra support and update to rc2

* cleaner tegra config cleanup
2023-01-04 18:37:21 +01:00
M. Efe Çetin
f6bc7602a4 Add CLI beta build for Orange Pi 5, fix desktop build (#4651) 2023-01-04 12:53:07 +01:00
Igor Pečovnik
6adac92f00 Adjust filename and board description (#4644)
* Lets keep consistent board naming

* Rename

* Delete
2023-01-04 12:52:51 +01:00
AGM1968
8ce4bbcded Add fix all 5.19.17 updated patches megous 2023-01-03 19:11:01 +03:00
Igor Pečovnik
a48f004690 Disable broken kernel function (#4649)
Forgot to save.
2023-01-03 11:15:23 +01:00
Igor
17bbbc6867 Update kernel configs for sunxi family 2023-01-03 12:39:00 +03:00
The-going
a0fbc74998 sunxi-6.1: promotion to version 6.1.2 (#4647) 2023-01-03 11:55:56 +03:00
Igor
c75001411d Bump sunxi to latest 2023-01-03 11:55:56 +03:00
Igor Velkov
68b6dede3f Add .yml ext into .editorconfig (#4640) 2023-01-03 01:11:49 +01:00
Azq2
03c414dc6b CONFIG_DEVFREQ_GOV_*=y for sunxi (#4641) 2023-01-03 01:11:36 +01:00
Igor Pečovnik
735da88903 Enable Opi5 desktop build (#4645) 2023-01-03 01:11:15 +01:00
Ricardo Pardini
e2c55c5f23 BananaPi M2S: u-boot 22.10; remove patch from 22.07 2023-01-02 11:31:44 +01:00
Igor Pečovnik
b8b160ad2f Enable nightly compilation for rockpi5 mainline (#4639) 2023-01-01 23:29:38 +01:00
catalinii
48e45d0c9c Mainline support for Rock 5B (#4606)
Co-authored-by: root <catalinii@yahoo.com>
2023-01-01 10:01:16 -08:00
jeanrhum
2c58242006 Initial support for Bananapi M2S (#4597)
* Initial support for Bananapi M2S

BPI-M2S is a small form factor SBC based on the Amlogic A311D chipset (or s922x, not supported yet):

- Amlogic A311D (Quad A73 + Dual A53) CPU
- 4GB LPDDR4 RAM
- 16GB eMMC
- Mali G52-MP4 GPU
- HDMI 2.1 output
- 2 Gigabit ports
- 40 pins GPIO
- 1x USB-A 2.0
- 1 USB-C (5V power)

Not working/tested:
- 2nd ethernet port
- MIPI DSI/CSI

* Edge kernel for BPI M2S

* filename fixes; call attention to sharing FIP blobs

* Adding u-boot patches for BPI M2S

* meson-g12.conf update after amlogic FIP blobs for Bananapi M2S are now part of librelec FIP repo

Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
2023-01-01 14:28:49 +01:00
M. Efe Çetin
e9fea8af93 Use Fat as default bootfs type of Orange Pi 5 (#4635) 2023-01-01 08:05:17 +01:00
M. Efe Çetin
71ac9beb28 Fix USB2 and Type C ports on Orange Pi 5 (#4634) 2022-12-31 13:37:31 -08:00
Ricardo Pardini
18198b1d7d orangepi5.wip: initial OrangePi5 support; collab with @efectn (#4582)
* `orangepi5.wip`: initial OrangePi5 support

- OPi5's Xunlong vendor u-boot; override family in board hook
  - using original config from vendor, needs `BOOT_SOC`
- OPi5's kernel patches, all extracted from Xunlong's tree
  - Only enable the DT patch and the Motorcomm PHY patch
  - Other stuff that looks might be useful is grouped in a few other disabled patches
  - Most panel/overlays/etc from Xunlong tree not included
- everything is on top of existing `rockchip-rk3588` family,
  - thus the same crazy half-android rk kernel tree and ancient rk u-boot

Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>

* `linux-rockchip-rk3588-legacy`: `.config` updated to 5.10.110; no actual changes

- prepare for merging Xunlong config

* `linux-rockchip-rk3588-legacy`: `.config` Xunlong config, manually merged; preserved previous PR's

- preserved previous PR's changes:
  - 1fdbab346a
  - bf3b8a8fb7
  - 7a3ad3afb2
  - f1952f97f4
  - ab70cb247f
  - 62adba7825
  - ba10622c32
  - cd4da2a77b
  - 7b3325c95e
  - b4945d973c
  - a8473e8143

* `linux-rockchip-rk3588-legacy`: `.config` re-updated to 5.10.110 after Xunlong changes

* OPi5: `rockchip-rk3588-legacy`: add patch to remove chosen > bootargs from `rk3588-linux.dtsi`

* Opi5: add build targets (by Igor)

Co-authored-by: Ricardo Pardini <ricardo@pardini.net>

Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
Co-authored-by: Igor <igor@armbian.com>
2022-12-31 16:55:55 +01:00
Igor Pečovnik
7684dae801 Address permission issue when cleaning added packages (#4628) 2022-12-31 15:54:39 +01:00
Igor Pečovnik
b120ddaed0 Enable AUFS on 6.1.y (#4632) 2022-12-31 15:08:38 +01:00
Igor Pečovnik
ab82ebac78 Do not run Action scripts for every reviewer (#4631) 2022-12-31 15:00:56 +01:00
Igor Pečovnik
3ce4b66a3a Adjust broken bootsplash patchset (#4630) 2022-12-31 15:00:31 +01:00
Igor Pečovnik
0d3cbf3049 Remove hostapd from packages list (#4626)
- rely on installation from armbian-config
2022-12-31 13:31:33 +01:00
Igor Pečovnik
4dec9ae2a2 Debian SID package version fix (#4629) 2022-12-31 13:30:54 +01:00
Samuel Chelini
8534f4edb0 fix xradio random mac address issue on linux 5.13+ (#4623) 2022-12-30 21:17:55 +01:00
Konstantin Litvinov
44c4cdf865 Fixed issue with NVMe identification in rk3399-rock-pi-4.dts (#4627)
Co-authored-by: Konstantin Litvinov <klitvinov@piesoft.us>
2022-12-30 21:17:33 +01:00
Igor Pečovnik
ff6c515e3f Add next Ubuntu 23.04 / Lunar lobster (#4625) 2022-12-30 20:59:35 +01:00
Konstantin Litvinov
6d20fa48ac This code was added to the sources, which creates a mess in rk3399-rock-pi-4.dts (#4619)
Co-authored-by: Konstantin Litvinov <klitvinov@piesoft.us>
2022-12-28 17:28:55 +01:00
Konstantin Litvinov
68802d5c78 Disable patch breaks Bluetooth (#4620)
Co-authored-by: Konstantin Litvinov <klitvinov@piesoft.us>
2022-12-28 17:28:19 +01:00
Konstantin Litvinov
97fae815f8 Leds was added to the sources, which creates a mess in rk3399-rock-pi-4.dts (#4621)
Co-authored-by: Konstantin Litvinov <klitvinov@piesoft.us>
2022-12-28 17:27:27 +01:00
SteeManMI
0fc16bf556 Fix the last reference for old bootscreen to plymouth (#4622)
This fix impacts all boards that use extlinux.conf
I have tested the aml-s9xx-box build to ensure that this works as expected.
I think the only other boards that use extlinux.conf are those under
the media kernel

In testing I realized that I needed to add SRC_CMDLINE to the aml-s9xx-box
config file to get the correct append line added to the extlinux.conf file

 Changes to be committed:
	modified:   config/boards/aml-s9xx-box.tvb
	modified:   config/sources/common.conf
2022-12-28 17:27:14 +01:00
Igor Pečovnik
24d2510c28 Proper device lookup (#4612)
* Proper device lookup

* Remove unnecessary part

* Add closing double quote
2022-12-28 16:39:47 +03:00
Vyacheslav
1e097c1b43 Merge pull request #4618 from SteeManMI/rtl8822cs_meson64_edge
Enable rtl8822cs in meson64-edge kernel
2022-12-28 11:41:14 +03:00
Igor
d76643db70 Enable on two others 2022-12-28 09:07:43 +01:00
Barry Lind (SteeManMI)
36484b7d6f In researching a post in the forums, I found that the meson64-edge kernel
config doesn't include rtl8822cs (which apparently some TV boxes use).
This is enabled in most kernel configs:

linux-bcm2711-current.config:CONFIG_RTL8822CS=m
linux-bcm2711-edge.config:CONFIG_RTL8822CS=m
linux-imx6-current.config:CONFIG_RTL8822CS=m
linux-imx6-edge.config:CONFIG_RTL8822CS=m
linux-media-current.config:CONFIG_RTL8822CS=m
linux-media-edge.config:CONFIG_RTL8822CS=m
linux-media-legacy.config:# CONFIG_RTL8822CS is not set
linux-meson64-current.config:CONFIG_RTL8822CS=m
linux-meson64-edge.config:# CONFIG_RTL8822CS is not set
linux-mvebu64-current.config:CONFIG_RTL8822CS=m
linux-mvebu64-edge.config:CONFIG_RTL8822CS=m
linux-mvebu-current.config:CONFIG_RTL8822CS=m
linux-mvebu-edge.config:CONFIG_RTL8822CS=m
linux-odroidxu4-edge.config:CONFIG_RTL8822CS=m
linux-rk322x-current.config:CONFIG_RTL8822CS=m
linux-rk322x-edge.config:CONFIG_RTL8822CS=m
linux-rockchip64-current.config:CONFIG_RTL8822CS=m
linux-rockchip64-edge.config:CONFIG_RTL8822CS=m
linux-rockchip-current.config:CONFIG_RTL8822CS=m
linux-rockchip-edge.config:# CONFIG_RTL8822CS is not set
linux-rockchip-rk3588-legacy.config:# CONFIG_RTL8822CS is not set
linux-sunxi64-current.config:CONFIG_RTL8822CS=m
linux-sunxi64-edge.config:CONFIG_RTL8822CS=m
linux-sunxi64-legacy.config:CONFIG_RTL8822CS=m
linux-sunxi-current.config:CONFIG_RTL8822CS=m
linux-sunxi-edge.config:CONFIG_RTL8822CS=m
linux-sunxi-legacy.config:CONFIG_RTL8822CS=m
linux-uefi-arm64-current.config:CONFIG_RTL8822CS=m
linux-uefi-arm64-edge.config:# CONFIG_RTL8822CS is not set
linux-uefi-riscv64-current.config:# CONFIG_RTL8822CS is not set
linux-uefi-riscv64-edge.config:# CONFIG_RTL8822CS is not set
linux-uefi-x86-current.config:CONFIG_RTL8822CS=m
linux-uefi-x86-edge.config:CONFIG_RTL8822CS=m

This commit enables this for just the meson64-edge kernel as that resolves the
issue I was researching, but I suspect it probably should also be enabled for
rockchip-edge as well, but I don't have any such devices.

On branch rtl8822cs_meson64_edge
Changes to be committed:
	modified:   ../kernel/linux-meson64-edge.config
2022-12-27 16:08:43 -05:00
Oleg
94b921ff2b fix build kernel media legacy\curren\edge (#4617) 2022-12-27 21:10:15 +01:00
The-going
36d9420d65 Fix issues 4589 (#4614)
* Fix: Install dependencies if we install kernel headers

* DEBUG builddeb for armhf

* Remove DEBUG echo
2022-12-26 21:12:34 +03:00
dependabot[bot]
d20fb2811e Bump ossf/scorecard-action from 2.1.0 to 2.1.2 (#4613)
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](937ffa90d7...e38b1902ae)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-26 09:31:26 +01:00
Igor Pečovnik
c982e54f7b Suppress RX today error in MOTD if wrong NIC is detected (#4610)
* Don't display RX today: Error: No interface matching when wrong NIC is detected

* Improve checking

* Address shellcheck problem

* Switch conditions order
2022-12-25 08:45:25 +01:00
Jamie Starke
2115899f6a Enable ISCSI_TCP for Rock 5b (#4611)
This support was added for all other boards in https://github.com/armbian/build/pull/2300.
2022-12-24 16:57:52 -08:00
Igor Pečovnik
bd1756ff8d It seems this patch breaks Bluetooth on PBP (#4609) 2022-12-24 09:44:17 +01:00
simple
235d246fa1 Fix nanopct4 rt5651 sound&clean wireless,bluetooth&add general-add-panel-simple-dsi.patch (#4608)
* Fix nanopct4 rt5651 sound&clean wireless,bluetoorh

* add panel-simple-dsi.patch
2022-12-24 09:44:07 +01:00
simple
3b78b57fe3 Fix general-add-panel-simple-dsi.patch on linux6.1 (#4607) 2022-12-24 09:43:51 +01:00
Igor Pečovnik
d751ff51ae Adjust action scripts to adjusted logic (#4605)
* Add new way of synching

* Add sync and torrent creation

* Update build-images.yml
2022-12-24 09:43:40 +01:00
Markus Hoffrogge
1a59152009 armbian-install: further fixes plus MTD char driven flash support (#4596)
* Fix variable $root_partition_device to be a device path

- variable $root_partition_device is intended to be a
  device path as /dev/$root_partition_device_name

* Fix determination and usage of variable $sduuid

- a) lookup mmc devices excluding the mmc device probably providing
     the current root partition
- b) if there is no sduuid determined by this lookup,
     then lookup any mmc partition matching /dev/mmcblk*p1
- c) move the sduuid calculation to the script header
     to enable usage for scenario selection filtering
- d) hide installation scenario #1 selection,
     if $sduuid is empty, since $sduuid is essential for that scenario

* Hide current root partition device from destination selection

- add new variable $root_partition_name
- use this variable to filter current root partition
  from destination selection in check_partitions()

* Fix behavior in case of no available partition

- The logic in check_partitions() in case of no available
  partition is improved not to fail for a hidden reason
  and UX for fresh disk devices is improved
- Fix the calculation of $FREE_SPACE for devices without or
  with an empty partition table
- Ask the user to proceed AFTER the minimum free capacity
  required is verified
- Improve the logic for auto-creating initial partitions
  as follows:
    1. Check for a minimum free space of 4GB for a partition
    2. Ask user to proceed with auto-created partition(s) or not
    3. Distinguish between UEFI and non UEFI device
    4. Create a partition of full free size for non UEFI devices also

* Add support for MTD char driven flash

- replace $spicheck by $mtdcheck
- add probable MTD char device partitions to $mtdcheck
- update comments and dialog content:
  - replace "SPI Flash" by "MTD Flash"
- replace call of "create_armbian 'spi' ..." by "create_armbian 'mtd' ..."
- update description for /dev/nand1 /dev/nand2 as "legacy SUNXI NAND"
- additional parameters passed to import function "write_uboot_platform_mtd":
   $3 - Log file name
   $4 - SPACE separated list of all MTD device partition(s)
2022-12-23 21:58:19 +01:00
Igor Pečovnik
84ca39c83c Moving repository handling from main script (#4600)
* Moving repository handling from main script

- cleaning
- working

TBD: handling of parameters

* Not needed anymore

* Paramter handling, edit config in mktemp

* Typo

* Improve string handling

* Cleanining

* Compacting

* Change to backslash compatible sed replacement

* Publish all, update selected to avoid having erros at update

* Add support for html index generation

* Bugfix

* More arch

* Don't run publish if there is nothing in the incoming

* Add repo sync control file creation

* Fix hardcoded value
2022-12-23 21:58:06 +01:00
brentr
588c2ec17e Rockpis devtree mainlined (#4603)
* moved rockpro64 patch out of rockpis patch sequence

It had been misnamed

* patch new mainline devtree for Rock Pi-S instead of overwritting it.

Also restores lost bluetooth compatibility items on UART4
2022-12-23 21:57:53 +01:00
The-going
3c79a24253 Fix: patch/kernel/sunxi-edge -> archive/sunxi-6.1 2022-12-23 17:20:50 +03:00
The-going
542e78edac switch sunxi EDGE to 6.1.1; CURRENT to 5.15.85 2022-12-23 17:20:50 +03:00
Tony
ec5cc85467 Delete board-roc-rk3399-pc-fix-fusb302-compatible.patch (#4598)
Patch was already eliminated in 5.15, resolve "edge"

9680fc46a0
2022-12-23 00:10:50 +01:00
Vyacheslav
8207377583 Update u-boot patches for JetHub D1/D1+: (#4602)
- add rescue boot from microSD
- revert JetHub D1 eth mac generation with manufacturer OUI

Signed-off-by: Viacheslav Bocharov <adeep@lexina.in>

Signed-off-by: Viacheslav Bocharov <adeep@lexina.in>
2022-12-23 00:10:37 +01:00
Julian Sikorski
8cc5b2664c Update odroidxu4-current to 5.4.228 (#4595) 2022-12-20 12:16:09 +01:00
The-going
c30a7c0d20 Sunxi 6.1 add armbian patches (#4594)
* sunxi-6.1: add armbian patches

* sunxi-5.15: switch to v5.15.84
2022-12-20 10:36:17 +01:00
dependabot[bot]
b54d6d6653 Bump ossf/scorecard-action from 2.0.6 to 2.1.0 (#4593)
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.0.6 to 2.1.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](99c53751e0...937ffa90d7)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-20 10:36:06 +01:00
dependabot[bot]
9c714ff596 Bump cirrus-actions/rebase from 1.7 to 1.8 (#4592)
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.7 to 1.8.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.7...1.8)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-20 10:35:51 +01:00
dependabot[bot]
e176521080 Bump tj-actions/changed-files from 34 to 35 (#4591)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 34 to 35.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v34...v35)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-20 10:35:38 +01:00
Paolo Sabatino
eba079d42e rk322x: increase to 16 stations the maximum number of ESP8089 AP clients 2022-12-19 15:21:15 +01:00
Markus Hoffrogge
893ed2347d Fix for selecting non formatted target partitions (#4577)
- function check_partitions():
  - remove file system filter on lsblk commands
    for listing probable target partitions
  - fix typo "Destnation" -> "Destination"
  - fix indentation on if scopes

fixes #4576
2022-12-19 07:34:23 +01:00
Igor Pečovnik
da56dabf1a Adjust build targets (#4578) 2022-12-19 07:31:03 +01:00
SteeManMI
17d7e7b67b Remove attempt to support install to emmc on s905 based TV Boxes. (#4588)
There is no way to support this on s905 TV Boxes while reusing the
android u-boot as the android uboot on s905 conflicts with the partition
table location of standard mainline linux.

 Changes to be committed:
	modified:   config/sources/families/meson-gxl.conf
	deleted:    packages/bsp/aml-s9xx-box/root/install-aml-s905-emmc.sh
2022-12-19 07:30:34 +01:00
Igor Pečovnik
140e394c45 Improve CODEOWNERS relations (#4586)
* Improve CODEOWNER relations

* Align spaces
2022-12-19 07:30:19 +01:00
Tony
141d3d285a Delete add-board-rk3399-roc-pc-plus.patch (#4587)
Device tree exists in mainline and is more complete.  Also likely this board is not using this kernel anyway.
2022-12-18 16:27:53 -05:00
Tony
1428d73fdb Rename add-board-roc-pc.patch to add-board-rk3328-roc-pc.patch (#4583)
* Rename add-board-roc-pc.patch to add-board-rk3328-roc-pc.patch

there are a large number of "roc-pc" boards as firefly has adopted/misapplied the Libre Computer naming convention.  Be as specific as possible.

ALSO NOTE A DTS EXISTS IN MAINLINE.  

This patch is overwriting the mainline DTS entirely, and should be replaced with patches changing the mainline instead to avoid further deviation from the base.

* Rename add-board-roc-pc.patch to add-board-rk3328-roc-pc.patch

Specify which roc-pc it is
2022-12-18 15:29:27 -05:00
Igor Pečovnik
ce61bd7827 Update kernel configs for Meson64 CURRENT / EDGE (#4585) 2022-12-18 20:49:59 +01:00
Tony
20d388b65a Delete rk3399-pci-rockchip-support-ep-gpio-undefined-case.patch (#4584)
This patch doesn't make any changes to the source file:

-		rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep",
-							    GPIOD_OUT_HIGH);
+		rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH);
2022-12-18 13:55:04 -05:00
The-going
0a4822d2f5 Bump sunxi (#4580)
* Bump sunxi - tested for build

* Add configs

* Bump sunxi - tested for build

* Add configs

* sunxi-6.1: add series.conf file include megous patches

* Switch to initial tag=v6.1

* Add patches fixses

* Switch CURRENT to v5.15.83

Co-authored-by: Igor <igor@armbian.com>
2022-12-17 15:58:45 +01:00
Igor Pečovnik
92f1a22d76 Re-add rockchip64 6.0 patches (#4575) 2022-12-16 13:38:13 +01:00
Ricardo Pardini
5a7ae3ab76 rockchip-6.1: fix xt-q8l-v10-remote-keymap.patch mbox formatting; rebase against 6.1.0
- this patch had "half-mbox" formatting
  - first a bare patch (no mbox headers, From/Subject etc)
  - then an mbox-formatted patch
- this causes the 1st/bare patch to be lost when parsing this file with a proper mbox-enabled tool
2022-12-16 12:20:17 +01:00
Igor Pečovnik
fc8a0ca8ed Change GitHub workflow badge routes (#4573)
https://github.com/badges/shields/issues/8671
2022-12-15 22:16:18 +01:00
Paolo
73739badd7 Fix rk322x edge kernel 6.1 compilation (#4572)
* rk322x: fix renamed constant

* rk322x: fix rtl8723cs wireless driver
2022-12-14 23:50:07 +01:00
Igor Pečovnik
d2420a26af Fix instructions for preparing build environment (#4568)
https://github.com/armbian/build/issues/4567
2022-12-14 23:49:53 +01:00
Igor Pečovnik
3f1cebabc7 Adding codeowners configuration (#4563) 2022-12-14 23:49:38 +01:00
Igor Pečovnik
b9b8912de0 Bump rockchip64 EDGE to 6.1 with disabling few drivers (#4570)
* Bump rockchip64 EDGE to 6.1 with disabling few drivers

Broken fsusb30, uwe5662, lps170, simple panel ...

* Fix Rpi4 from not generating DT
2022-12-14 16:44:53 +01:00
Oleg
276f346ee9 move kernel media to current 6.0 and edge 6.1 (#4566) 2022-12-14 10:17:09 +01:00
Igor Pečovnik
c0001d566b Bump bcm, imx, mvebu64 and xu4 EDGE to 6.1.y (#4560)
* Bump bcm, imx, mvebu64, xu4 and rockchip to 6.1.y

* Add configs for imx6 and xu4

* Add broadcom kernel config

* Move XU4 edge to mainline kernel as hardkernel branch contain nothing for it

* Move Rockchip64 EDGE to 6.1

* Move rockchip (32 bit) edge to kernel 6.1

* Move rk322x edge kernel to 6.1

Co-authored-by: Paolo Sabatino <paolo.sabatino@gmail.com>
2022-12-14 01:43:31 +01:00
Igor Pečovnik
cbbbaf7e96 Adjust action due to label change (#4564) 2022-12-14 01:43:15 +01:00
Igor Pečovnik
6e4ad5aa1f Switch to better working rtl88x2bu wifi driver (#4552) 2022-12-14 01:43:00 +01:00
Igor Pečovnik
a3a5d44c8e Adjust 3rd party drivers for kernel 6.1.y (#4558)
* Disable kernel bootsplash. We don't use it anymore and its time to go rest

* Switch to more recent commits

* Fix remaining drivers and fix shellcheck errors
2022-12-13 14:43:54 +01:00
hzyitc
e4bb1fed8f meson: edge: bump to v6.1 (#4562)
* meson: edge: Bump v6.1
* meson: edge: refresh patches
* meson: edge: refresh config
2022-12-13 14:42:31 +01:00
Igor Pečovnik
7c87c7654a Disable treating warning as errors (#4559)
Suppress Shellcheck warnings.
2022-12-13 12:38:23 +01:00
swordow
1166723044 Fix rk3399 ehci probe failed for usb2 in uboot (#4512)
* mod: separate some network driver patchs

* fix: rk3399 ehci probe failed in uboot, using patch from here:https://lore.kernel.org/all/20220701185959.GC1700@begut/

* mod: format rk3399 ehci probe usb2 patch
2022-12-12 20:00:16 +01:00
Ricardo Pardini
fc19046930 uefi: bump kernel to 6.1.y; remove dangling symlinks (#4555) 2022-12-12 19:59:06 +01:00
The-going
d6dc1404a3 Sunxi 6.1 (#4561)
* sunxi-6.1: Initial state

* Add the ability to extract the source kernel version 6.1
2022-12-12 19:57:50 +01:00
Ricardo Pardini
14f0f0a8bc odroidm1: bump kernel to 6.1.y (#4556) 2022-12-12 19:55:42 +01:00
Ricardo Pardini
1988233971 meson64: switch edge kernel to 6.1.y branch (from 6.1-rc8 tag) (#4557) 2022-12-12 19:55:30 +01:00
The-going
6146943c83 The choice for kernel headers if the version is more than 5.19. (#4518)
* The choice for kernel headers if the version is more than 5.19.

* Depends: Add linux-base for build kernel
2022-12-12 21:21:07 +03:00
Matthijs Kooijman
0aa61abe78 armbian-audio-config: Massively speed up script (#4549)
* armbian-audio-config: Massively speed up script

This script calls amixer to set various mixer volumes, by simply trying
a bunch of mixer names for each sound card in the system. In practice,
this meant the amixer command was called 158 times for each sound card.
The overhead of all these forks and probably also amixer startup added
together to produce a noticable slowdown in startup.

For example on an Orange Pi PC, the script took about 6 seconds per
soundcard. This was on a system with a few extra USB soundcards (6 alsa
cards in total):

    $ time bash ./armbian-audio-config.original

     real    0m35.662s
     user    0m20.145s
     sys     0m15.145s

This commit modifies the script to spawn amixer only once per alsa card,
passing all the mixer set commands through stdin. This pretty much
completely kills the slowdown. On the same 6-card system:

    $ time bash ./armbian-audio-config

    real    0m0.406s
    user    0m0.345s
    sys     0m0.229s

* armbian-audio-config: Add quotes to fix lint errors
2022-12-12 08:15:35 +01:00
Nyanmisaka
a8473e8143 Enable ath10k pcie card for rock-5b (#4551)
support for Qualcomm 802.11ac wlan cards.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2022-12-12 08:15:10 +01:00
Oleg
0de2891bcd fix install mode SPI for extlinux.conf (#4553) 2022-12-12 08:14:50 +01:00
Ricardo Pardini
eb7d4a0bd2 meson64: bump edge to 6.1-rc8 (#4554)
* `meson64-6.1` - rebased patches; 3 were mainlined

- JetHub device was mainlined
- ODROID's hack for pwm1_enable was re-done diffrently in mainline

* `meson64`: switch `current` to `6.0`, `edge` to `6.1-rc8`
2022-12-12 08:02:49 +01:00
Ricardo Pardini
5b46bd7273 meson64-6.0 kernel patches: mbox formatting, archeology to find lost authors/descriptions; rebase against 6.0.12; no actual changes (#4546) 2022-12-12 08:02:25 +01:00
Igor Pečovnik
33c0f0c737 Expose correct download target for Rock 5 (#4550) 2022-12-09 14:40:31 +01:00
Igor Pečovnik
0d29aa0653 Switch to external workflow for making index (#4548)
* Improve making releases

* Update build-images.yml

* Update build-images.yml

* Update build-images.yml
2022-12-09 11:06:28 +01:00
Igor Pečovnik
1568618954 Remove workflow cancellation when generating images (#4547)
* Remove workflow cancellation 

We should be able to run multiple images build jobs at once.

* Leave 32 releases
2022-12-09 11:06:18 +01:00
Igor Pečovnik
a438c08aaa Separate riscv64 from script for building images (#4539)
* Separate riscv64

We also need to specify runners

* Update build-images.yml

* Update build-images.yml
2022-12-08 15:15:19 +01:00
Igor Pečovnik
7409e24427 Improve build train logic - bump version first (#4542)
* Cleaning upload

* Update build-train.yml

* Update build-train.yml

* Update build-train.yml
2022-12-08 15:15:03 +01:00
Igor Pečovnik
ebc4ceaca7 Typo, missing quote in Bananapi M5 config (#4544) 2022-12-08 15:14:48 +01:00
armbianworker
41e0663c51 Merge pull request #4545 from armbian/sunxi
Bump sunxi
2022-12-08 15:13:46 +01:00
Igor
c8afb77675 Bump sunxi 2022-12-08 15:07:48 +01:00
Oleg
6762c278b8 fix buils kernel media deb (#4538) 2022-12-07 21:27:42 +01:00
Derek
e0dbc8def9 add emmc variants to FIT image (#4521) 2022-12-07 21:26:59 +01:00
Steven P. Goldsmith
8d153c008b Add nanopiduo target (#4543)
* Add nanopiduo target

* Two are exposed

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2022-12-07 20:33:24 +01:00
Ivan Podogov
b4945d973c Use modules for btintel, btbcm, btrtl, btusb (#4541)
Radxa's official guide for the A8 card says these modules should be blacklisted,
but you can't blacklist them unless they're built as modules.
2022-12-07 13:22:08 +01:00
Jianfeng Liu
7700dc5dd1 Merge pull request #4540 from amazingfate/update-rk3588-kernel
update legacy kernel of rk3588 to linux-5.10-gen-rkr3.4
2022-12-07 17:01:09 +08:00
amazingfate
2bc8eee1ff update legacy kernel of rk3588 to linux-5.10-gen-rkr3.4 2022-12-07 16:13:29 +08:00
Igor Pečovnik
eb3de7917a Switch clockworkpi-a06 to older boot loader end enable CI images (#4536) 2022-12-07 08:34:08 +01:00
Igor Pečovnik
7b4f1e3773 Move Bananapi M5 to U-boot 2022.04 (#4524)
* Move Bananapi M5 to U-boot 2022.04

* Enable minimal build images
2022-12-07 08:33:55 +01:00
Igor Pečovnik
2b9fca9117 Port meson sm1 emmc related patches from edge to current (#4523) 2022-12-06 21:52:37 +01:00
Ivan Podogov
7b3325c95e Enable RTL8852BU (#4537)
It's enabled in the Radxa config
2022-12-06 21:52:23 +01:00
Igor Pečovnik
1ab07d6471 Add build target for Rockpi 5B (#4520) 2022-12-06 09:48:06 +01:00
Igor Pečovnik
568ff6c011 When adding PPA, we need to run apt update before installing dependencies (#4527) 2022-12-06 09:47:45 +01:00
Igor Pečovnik
854834e166 armbian-install: limit automated swap creation to 16Gb (#4528) 2022-12-06 09:47:30 +01:00
Igor Pečovnik
d66e8205ed Replace nand-sata-install with symlink to armbian-install (#4529) 2022-12-06 09:47:20 +01:00
Igor Pečovnik
c6b5e1d329 Add gnome-disk-utility to the desktops (#4530) 2022-12-06 09:47:10 +01:00
Igor Pečovnik
eee984cf2d Move btrfs-progs to the minimal images (#4531) 2022-12-06 09:47:00 +01:00
Igor Pečovnik
e27f90b856 Add fonts-ubuntu to the desktop packages (#4533)
Missing font in Bullseye desktop cause strange fonts in Terminator
2022-12-06 09:46:48 +01:00
Markus Hoffrogge
be86d1bd27 Add missing print for NAND boot source
fixes #4532
2022-12-06 10:01:59 +03:00
Igor Pečovnik
974c31029a Bump sunxi to recent and adjust broken patches (#4535)
* Bump sunxi to recent

* Adjust patches for EDGE
2022-12-06 09:52:24 +03:00
Igor Pečovnik
424ac69206 Change text on interactive menu (#4522)
* Change text on interactive menu
2022-12-05 20:20:07 +01:00
marcone
bc82a8e0fd Don't use "edge" patches for "current"
meson64 (Radxa Zero and possibly others) config was using
meson64-edge for both kernel 5.19 and kernel 6.0 based builds.
2022-12-05 08:47:23 -08:00
Marco Nelissen
d893360377 Fix USB OTG on Radxa Zero
The USB node was accidentally set to host mode in the dtb, preventing
OTG from working.
Patch origin: https://github.com/radxa-repo/bsp/blob/main/linux/stable/0020-radxa-zero/0005-arm64-dts-radxa-zero-set-dr_mode-of-usb-node-to-otg.patch
2022-12-05 08:46:33 -08:00
The-going
215bba7dac sunxi-6.0: initial state patches armbian 2022-12-03 22:22:31 +03:00
Igor Pečovnik
1068789309 Switch BananapiM5 images from EDGE to Current (#4516) 2022-12-03 14:32:45 +01:00
Igor Pečovnik
f99dedc47a Bump version (#4513) 2022-12-01 12:11:18 +01:00
The-going
d85c545f3b sunxi-6.0: fix for v6.0.10 (#4514) 2022-12-01 12:11:07 +01:00
Barry Lind (SteeManMI)
3b8e37f311 Fix the builddeb script so linux-image upgrades work correctly
on fat /boot partitions

 Changes to be committed:
	modified:   packages/armbian/builddeb
2022-11-30 16:39:17 +03:00
3619 changed files with 3146044 additions and 602239 deletions

View File

@@ -1,4 +0,0 @@
### output directories
.tmp/
output/
cache/

View File

@@ -8,9 +8,12 @@ charset = utf-8
end_of_line = lf
indent_style = tab
indent_size = 8
trim_trailing_whitespace = false
trim_trailing_whitespace = true
insert_final_newline = true
[*.patch]
trim_trailing_whitespace = false
[*.md]
indent_style = space
indent_size = 4
@@ -19,12 +22,9 @@ insert_final_newline = false
[*.json]
indent_style = space
indent_size = 4
trim_trailing_whitespace = false
insert_final_newline = true
# Custom Armbian formatting for bash sources and configuration
[*.{sh,inc,conf,eos,wip,tvb,csc}]
indent_style = tab
indent_size = 4
shell_variant = bash
binary_next_line = false
@@ -33,18 +33,11 @@ space_redirects = true
keep_padding = false
function_next_line = false
# C coding style based on Linux kernel.
# https://www.kernel.org/doc/html/v5.0/process/coding-style.html
[*.c]
indent_style = tab
indent_size = 8
[*.h]
indent_style = tab
indent_size = 8
[*.yaml]
[*.{yaml,yml}]
indent_style = space
indent_size = 2
insert_final_newline = false
[*.py]
indent_size = 4
max_line_length = 150

56
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,56 @@
# Default code owner
* @igorpecovnik
# the last matching pattern takes the most
*.md @EvilOlaf @littlecxm @TheLinuxBug @TRSx80 @igorpecovnik
.github/ @igorpecovnik @rpardini @hzyitc
lib/ @armbian/build-scripts
packages/ @armbian/build-scripts
tools/ @The-going @iav @neheb @hzyitc @mhoffrog
config/kernel/linux-bcm2711-current.config @igorpecovnik
config/kernel/linux-bcm2711-edge.config @igorpecovnik
config/kernel/linux-jetson-nano-legacy.config @150balbes
config/kernel/linux-media-current.config @150balbes
config/kernel/linux-media-edge.config @150balbes
config/kernel/linux-meson64-current.config @rpardini
config/kernel/linux-meson64-edge.config @rpardini
config/kernel/linux-meson-current.config @hzyitc
config/kernel/linux-meson-edge.config @hzyitc
config/kernel/linux-meson-legacy.config @hzyitc
config/kernel/linux-mvebu64-current.config @ManoftheSea
config/kernel/linux-mvebu64-edge.config @ManoftheSea
config/kernel/linux-mvebu-current.config @Heisath
config/kernel/linux-mvebu-edge.config @Heisath
config/kernel/linux-odroidxu4-current.config @belegdol
config/kernel/linux-odroidxu4-edge.config @belegdol
config/kernel/linux-rk322x-current.config @paolosabatino
config/kernel/linux-rk322x-edge.config @paolosabatino
config/kernel/linux-rk322x-legacy.config @paolosabatino
config/kernel/linux-rk3568-odroid-edge.config @rpardini
config/kernel/linux-rk35xx-legacy.config @catalinii
config/kernel/linux-rockchip64-current.config @brentr @Tonymac32 @paolosabatino @Manouchehri @piter75
config/kernel/linux-rockchip64-edge.config @brentr @Tonymac32 @paolosabatino @Manouchehri @piter75
config/kernel/linux-rockchip64-legacy.config @brentr @Tonymac32 @paolosabatino @Manouchehri @piter75
config/kernel/linux-rockchip-current.config @jpegxguy @iav @paolosabatino
config/kernel/linux-rockchip-edge.config @jpegxguy @iav @paolosabatino
config/kernel/linux-rockchip-rk3588-legacy.config @amazingfate @nyanmisaka @ginkage
config/kernel/linux-rockpis-legacy.config @brentr
config/kernel/linux-station-m3-legacy.config @150balbes
config/kernel/linux-station-p2-legacy.config @150balbes
config/kernel/linux-sun50iw9-legacy.config @The-going
config/kernel/linux-sunxi64-current.config @The-going
config/kernel/linux-sunxi64-edge.config @The-going
config/kernel/linux-sunxi64-legacy.config @The-going
config/kernel/linux-sunxi-current.config @The-going
config/kernel/linux-sunxi-edge.config @The-going
config/kernel/linux-sunxi-legacy.config @The-going
config/kernel/linux-uefi-arm64-current.config @igorpecovnik
config/kernel/linux-uefi-arm64-edge.config @igorpecovnik
config/kernel/linux-uefi-riscv64-current.config @igorpecovnik
config/kernel/linux-uefi-riscv64-edge.config @igorpecovnik
config/kernel/linux-uefi-x86-current.config @igorpecovnik
config/kernel/linux-uefi-x86-edge.config @igorpecovnik

View File

@@ -1,19 +0,0 @@
---
name: Build issues
about: Create a new issue if there is something wrong with building Armbian. Do **not** report if you used `EXPERT` switch.
title: 'Problem found in ...'
labels: '0.question'
assignees: 'armbian/build-scripts'
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
**Provide logs:**
Drop logs to pastebin service of your choice and supply logs from output/debug

75
.github/ISSUE_TEMPLATE/bugreport.yml vendored Normal file
View File

@@ -0,0 +1,75 @@
name: Armbian Linux Build Framework Bug Report
description: Create a bug report if there is something wrong with build framework mechanism.
title: "Problem found ... "
labels: ["bug"]
assignees: "armbian/build-scripts"
body:
- type: markdown
attributes:
value: |
Thank you for helping us make Armbian better!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: "
<br>
Tell us, what did you expect to happen?
"
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: How to reproduce?
description: "
<br>
Provide command line or explain steps which you did?
"
placeholder: Tell us how you did it!
value: "Command you gave to the framework!"
validations:
required: true
- type: dropdown
id: version
attributes:
label: Branch
description: "
<br>
Which branch are you using?
"
options:
- main (main development branch)
- other
validations:
required: true
- type: dropdown
id: host
attributes:
label: On which host OS are you observing this problem?
multiple: false
options:
- Jammy
- Bullseye
- Other
validations:
required: true
- type: input
id: logs
attributes:
label: Relevant log URL
description: |
Run with `SHARE_LOG=yes`, at the end of log you will get something like this
```[🌿] Log uploaded, share URL: [ https://paste.armbian.com/xxx ]```
Paste the URL on here.
placeholder: https://paste.armbian.com/xxx
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/armbian/build/blob/master/.github/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,15 +1,20 @@
blank_issues_enabled: false
contact_links:
- name: Bug reporting
- name: Armbian OS Bug Report
url: https://www.armbian.com/bugs/
about: Use our bug reporting wizzard to file your bug in the correct place
- name: Troubles using Armbian
url: https://forum.armbian.com/forum/23-community-forums/
about: Support for Linux applications is provided "as is" by community.
- name: Feature Requests
- name: Armbian OS Feature Requests
url: https://forum.armbian.com/forum/38-feature-requests/
about: Feature requests and enhancement ideas. A request does not guarantee consideration.
- name: Jira - our internal bug | issue and project tracking system
url: https://armbian.atlassian.net/jira/dashboards/10000
about: Armbian project management shows you what we are working on but only developers have write access.
- name: Armbian Linux kernel related bug report
url: https://www.armbian.com/bugs/
about: For changes to the kernel code made by Armbian
- name: Vanilla Linux kernel related bug report
url: https://bugzilla.kernel.org/
about: If you are using upstream Linux kernel
- name: Issue with armbian-config
url: https://github.com/armbian/config/issues/new
about: Utility for configuring your board, adjusting services and installing applications.
- name: Issue with infrastructure
url: https://github.com/armbian/mirror/issues/new
about: Broken download links or just slow download

28
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: Armbian Linux Build Framework Feature request
description: Suggest a feature that you want to see implemented
title: "I would like to ..."
labels: ["feature"]
assignees: "igorpecovnik"
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out a feature reqest. A request does not guarantee consideration.
- type: textarea
id: what
attributes:
label: Which feature would you like to have?
description: "<br>What do you miss?<br>"
placeholder: Tell us what is missing!
value: "I think ..."
validations:
required: true
- type: checkboxes
id: financing
attributes:
label: Funding
description: "
You are welcome to submit your feature request, but keep in mind we can only afford to cover minor tasks. If we decide to.<br>"
options:
- label: "[I am willing to cover expenses](https://www.armbian.com/contact/)"
required: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,38 +0,0 @@
name: Build All Desktops
#
# Generates supported desktops for uefi-arm64 and uefi-x86 every day or if label "Desktop" is set
#
on:
schedule:
- cron: "30 22 * * *"
workflow_dispatch:
pull_request:
types: [ready_for_review]
pull_request_review:
types: [submitted]
permissions:
contents: read
jobs:
##########################################################################################
# #
# Test build of all desktops #
# #
##########################################################################################
Test:
permissions:
contents: none
if: ${{ (github.repository_owner == 'Armbian') && (contains( github.event.pull_request.labels.*.name, 'Desktop :desktop_computer:') || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
uses: armbian/scripts/.github/workflows/build-test-image-docker.yml@master
with:
runner: "ubuntu-latest"
reference: ${{ github.event.pull_request.head.sha }}

20
.github/workflows/build-board-list.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Rebuild board list in GHA menu
on:
push:
paths:
- 'config/boards/*.*'
branches: [ main ]
jobs:
Run:
name: "Execute workflow"
if: ${{ github.repository_owner == 'Armbian' }}
runs-on: ubuntu-latest
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.ACCESS_TOKEN }}
repository: armbian/os
event-type: "Refresh board list"

View File

@@ -1,468 +0,0 @@
name: Build Images
#
# Generates beta, stable or RC images. You can select build runners. By default it generates all images, but you can build images only for one target
# Images are placed at www.arnmbian.com and nighly beta also at https://github.com/armbian/build/releases/tag/latest
#
on:
# workflow_run:
# workflows: ["Build train"]
# types:
# - completed
schedule:
- cron: "30 0 * * *"
workflow_dispatch:
inputs:
choice:
type: choice
description: Build targets
options:
- beta
- stable
- rc
runner:
type: choice
description: Build runners for CLI
options:
- small
- ubuntu-latest
sourcerepo:
description: Source repository
required: false
default: 'nightly'
packagesrepo:
type: choice
description: Beta packages repository
options:
- "yes"
- "no"
fromsources:
type: choice
description: Build from sources
options:
- "no"
- "yes"
advanced:
description: 'Single board (grep -w tinkerboard |)'
required: false
default: ''
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
Cancel:
name: "Cancel currently active"
if: ${{ github.repository_owner == 'Armbian' && github.event.schedule == '' }}
runs-on: small
timeout-minutes: 3
steps:
- uses: styfle/cancel-workflow-action@0.11.0
if: ${{ github.event.schedule == '' }}
with:
all_but_latest: true
access_token: ${{ secrets.GITHUB_TOKEN }}
clean:
if: ${{ github.repository_owner == 'Armbian' }}
name: Purge older releases
needs: [ Cancel ]
runs-on: [ubuntu-latest]
steps:
- name: Purge old releases of trunk build
uses: Vucko130/delete-older-releases@v0.2.1
with:
keep_latest: 7
delete_tag_pattern: trunk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Purge action workflow logs
uses: igorjs/gh-actions-clean-workflow@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
days_old: 14
fake:
if: ${{ github.repository_owner == 'Armbian' }}
runs-on: small
needs: [ clean ]
name: Source changes
outputs:
changes: ${{steps.list_releases.outputs.changes}}
version: ${{steps.list_releases.outputs.version}}
steps:
- run: |
echo "not empty" > changes
- uses: actions/checkout@v3
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
with:
fetch-depth: 1
path: build
clean: false
ref: nightly
- name: "Get latest release version"
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
id: list_releases
run: |
RELE=$(curl -ks https://api.github.com/repos/armbian/build/releases/latest ^| grep "browser_download_url" | grep -o -P '(?<=Armbian.).*(?=_)' | cut -d"_" -f1 | sort | uniq | head -1)
SOUR=$(cat build/VERSION)
# skip if version in git is the same as at release
if [[ "$RELE" == "$SOUR" ]]; then
echo "changes=true" >> $GITHUB_OUTPUT
fi
# output version
echo "version=${SOUR}" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v3
with:
path: changes
name: changes
if-no-files-found: ignore
- uses: actions/upload-artifact@v3
with:
path: changes
name: changes
if-no-files-found: ignore
generaterelease:
needs: [ fake ]
if: ${{ github.repository_owner == 'Armbian' && needs.fake.outputs.changes != 'true' }}
runs-on: ubuntu-latest
name: "Update latest release"
steps:
- run: |
echo "Env: ${{ github.event.inputs.choice }}"
echo "Env: ${{ github.event.inputs.runner }}"
echo "Env: ${{ github.event.inputs.sourcerepo }}"
echo "Branch: ${{ github.event.inputs.branch }}"
echo "Version: ${{ needs.fake.outputs.version }}"
- uses: actions/checkout@v3
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
with:
fetch-depth: 1
- uses: ClementTsang/delete-tag-and-release@v0.3.1
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
with:
delete_release: true
tag_name: latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: ncipollo/release-action@v1
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
with:
artifacts: "LICENSE"
tag: "${{ needs.fake.outputs.version }}"
name: "Build in progress"
bodyFile: ".github/Releases-wip.md"
allowUpdates: true
removeArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
merge:
needs: [ generaterelease ]
uses: armbian/scripts/.github/workflows/merge-from-branch.yml@master
with:
branch: 'nightly'
runner: small
secrets:
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
x86:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'cli:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: ubuntu-latest
part: 1
of: 1
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
exclude: ''
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
x86-desktop:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'desktop:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: "big"
part: 1
of: 1
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
exclude: ''
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
x86-minimal:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'minimal:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: "big"
part: 1
of: 1
include: 'grep uefi-x86 | ${{ github.event.inputs.advanced }}'
exclude: ''
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
cli1:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'cli:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: ubuntu-latest
part: 1
of: 2
include: '${{ github.event.inputs.advanced }}'
exclude: 'grep -v uefi-x86 | '
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
cli2:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'cli:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
runner: '${{ github.event.inputs.runner }}'
fromsources: '${{ github.event.inputs.fromsources }}'
part: 2
of: 2
include: '${{ github.event.inputs.advanced }}'
exclude: 'grep -v uefi-x86 | '
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
minimal:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'minimal:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
runner: '${{ github.event.inputs.runner }}'
fromsources: '${{ github.event.inputs.fromsources }}'
part: 1
of: 1
include: '${{ github.event.inputs.advanced }}'
exclude: 'grep -v uefi-x86 | '
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
desktop1:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'desktop:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: "big"
part: 1
of: 2
include: '${{ github.event.inputs.advanced }}'
exclude: 'grep -v uefi-x86 | '
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
desktop2:
needs: [ merge ]
uses: armbian/scripts/.github/workflows/build-with-docker.yml@master
with:
variant: 'desktop:${{ github.event.inputs.choice }}'
sourcerepo: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
fromsources: '${{ github.event.inputs.fromsources }}'
runner: "big"
part: 2
of: 2
include: '${{ github.event.inputs.advanced }}'
exclude: 'grep -v uefi-x86 | '
uploading: false
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
jobsend:
name: finish
needs: [x86,x86-desktop,x86-minimal,minimal,cli1,desktop1,cli2,desktop2]
runs-on: [ubuntu-latest]
if: ${{ github.repository_owner == 'Armbian' && github.event.inputs.choice != 'stable' && github.event.inputs.choice != 'rc' }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 1
ref: nightly
- name: Make build list
run: |
sudo npm install --location=global json || true
truncate README.me --size=0 || true
echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
cat ".github/Releases.md" >> README.tmp
echo -en "&nbsp;\n\n" >> README.tmp
echo "| Image &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | GPG | SHA | Release | Branch | Variant | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size | Kernel |" >> README.tmp
echo "| --- | :--: | :--: | :--: | :--: | :--: | --: | --: |" >> README.tmp
gh release view --json assets 2>/dev/null | python3 -mjson.tool | sed '1,2d;$d' | json -ga name url size -d, | sort | (
while read -r line; do
name=$(echo $line | cut -d"," -f1 | awk '{print tolower($0)}')
url=$(echo $line | cut -d"," -f2)
size=$(echo $line | cut -d"," -f3)
if [ "${name: -3}" == ".xz" ]; then
board_name=$(echo $name | cut -d"_" -f3)
source config/boards/$board_name.*
out_release=$(echo $name | cut -d"_" -f4)
out_branch=$(echo $name | cut -d"_" -f5)
out_kernel=$(echo $name | cut -d"_" -f6-7 | cut -d"." -f1-3 | cut -d"_" -f1)
out_desktop=$(echo $name | cut -d"_" -f7- | cut -d"." -f1 | cut -d"_" -f1)
out_desktop=${out_desktop:-cli}
out_size=$(echo "scale=2; $size/1024/1024" | bc -l)" Mb"
echo -ne "| [$BOARD_NAME]($url) | [:file_folder:]($url".asc") | [:file_folder:]($url".sha") | $out_release | $out_branch | $out_desktop | $out_size | $out_kernel |\n" >> README.tmp
fi
done
)
echo -en "\n &nbsp;\n" >> README.tmp
cat README.tmp
- uses: ncipollo/release-action@v1
with:
tag: "${{ env.VERSION }}"
bodyFile: "README.tmp"
name: "Armbian ${{ env.VERSION }}"
allowUpdates: true
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,60 +0,0 @@
name: Build Kernels at PR
#
# Generates kernels at PR if their code, patches or config was changed in any way. Packages are uploaded as Github action build artefakts
# Build starts if label is set to "Ready"
#
on:
workflow_dispatch:
pull_request:
types: [opened,synchronize,reopened,ready_for_review,review_requested]
paths:
- 'config/kernel/**'
- 'config/sources/**'
- 'patch/**'
jobs:
Check:
name: Checking
if: ${{ github.repository_owner == 'Armbian' && contains( github.event.pull_request.labels.*.name, 'Ready :arrow_right:') }}
uses: armbian/scripts/.github/workflows/check-for-changes.yml@master
with:
reference: ${{ github.event.pull_request.head.sha }}
runner: small
Build:
needs: Check
if: ${{ github.repository_owner == 'Armbian' && contains( github.event.pull_request.labels.*.name, 'Ready :arrow_right:') }}
uses: armbian/scripts/.github/workflows/build-kernel.yml@master
with:
uploading: "false"
runner: "fast"
artifacts: "true"
reference: ${{ github.event.pull_request.head.sha }}
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
# Repo:
# needs: [Check,Build]
# #if: ${{ github.repository_owner == 'Armbian' && contains( github.event.pull_request.labels.*.name, 'Ready :arrow_right:') }}
# uses: armbian/scripts/.github/workflows/repo.yml@master
# secrets:
# GPG_KEY1: ${{ secrets.GPG_KEY1 }}
# GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
# GPG_KEY2: ${{ secrets.GPG_KEY2 }}
# GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
# SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
# KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
# KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}

View File

@@ -1,375 +1,21 @@
name: Build train
#
# Generates kernels at push if their code, patches or config was changed in any way. If those conditions are met, then it also rebuild
# desktops, firmware, u-boot, update repository and increment nighlty build version.
#
name: Run build train on config changes
on:
schedule:
- cron: "30 2 * * *"
workflow_dispatch:
inputs:
sourcerepo:
description: Source repository
required: true
default: 'nightly'
packagesrepo:
type: string
description: Beta packages repository
default: 'yes'
push:
branches:
- master
- 'main'
paths:
- 'config/*.config'
jobs:
##########################################################################################
# #
# cancels previous runs associated with a workflow #
# #
##########################################################################################
Cancel:
name: "Cancel currently active"
Run:
name: "Execute workflow"
if: ${{ github.repository_owner == 'Armbian' }}
runs-on: small
timeout-minutes: 3
steps:
- uses: styfle/cancel-workflow-action@0.11.0
if: ${{ github.event.schedule == '' }}
with:
all_but_latest: true
access_token: ${{ secrets.GITHUB_TOKEN }}
##########################################################################################
# #
# Merge master into nighly image from which we build packages #
# #
##########################################################################################
Merge:
name: Merging
needs: Cancel
if: ${{ github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/merge-from-branch.yml@master
with:
branch: 'nightly'
runner: small
secrets:
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
##########################################################################################
# #
# Check for changes in patches, kernel config and upstream #
# #
##########################################################################################
Check:
permissions:
contents: none
name: Checking
needs: Merge
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/check-for-changes.yml@master
with:
reference: '${{ github.event.inputs.sourcerepo }}'
runner: ubuntu-latest
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
##########################################################################################
# #
# Build changed kernel packages #
# #
##########################################################################################
Kernel:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-kernel.yml@master
with:
uploading: true
runner: fast
reference: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
##########################################################################################
# #
# Build changed firmware, zsh, armbian-config #
# #
##########################################################################################
Firmware:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-firmware.yml@master
with:
reference: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
uploading: true
runner: small
secrets:
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
##########################################################################################
# #
# Build changed desktop packages #
# #
##########################################################################################
Desktop:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-desktop.yml@master
with:
uploading: true
runner: ubuntu-latest
reference: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
##########################################################################################
# #
# Build u-boot and board support packages #
# #
##########################################################################################
legacy:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "small"
include: 'grep legacy | '
exclude: ''
uploading: false
destref: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
current:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "small"
include: 'grep current | '
exclude: ''
uploading: false
destref: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
edge:
permissions:
contents: none
needs: Check
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "small"
include: 'grep edge | '
exclude: ''
uploading: false
destref: '${{ github.event.inputs.sourcerepo }}'
packagesrepo: '${{ github.event.inputs.packagesrepo }}'
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
##########################################################################################
# #
# Store build hashes for future comparission #
# #
##########################################################################################
Deploycheck:
permissions:
contents: none
needs: [Kernel,Desktop,Firmware,legacy,current,edge]
if: ${{ inputs.sourcerepo == 'nightly' || inputs.sourcerepo == '' }}
runs-on: ubuntu-latest
steps:
- name: Delete control artefact
uses: geekyeggo/delete-artifact@v2
if: ${{ inputs.checking }}
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
with:
name: changes
Deploy:
permissions:
contents: none
needs: [Deploycheck]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/deploy.yml@master
with:
uploading: true
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
apt-armbian-com:
permissions:
contents: none
name: "Stable repository"
needs: [Deploy]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/update-repository.yml@master
with:
KEY_ID: 'repository'
secrets:
KEY_REPOSITORY: ${{ secrets.KEY_REPOSITORY }}
USER_REPOSITORY: ${{ secrets.USER_REPOSITORY }}
HOST_REPOSITORY: ${{ secrets.HOST_REPOSITORY }}
KNOWN_HOSTS_REPOSITORY: ${{ secrets.KNOWN_HOSTS_REPOSITORY }}
beta-armbian-com:
permissions:
contents: none
name: "Nighly repository"
needs: [Deploy]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/update-repository.yml@master
with:
KEY_ID: 'repository-beta'
secrets:
KEY_REPOSITORY: ${{ secrets.KEY_REPOSITORY_BETA }}
USER_REPOSITORY: ${{ secrets.USER_REPOSITORY }}
HOST_REPOSITORY: ${{ secrets.HOST_REPOSITORY }}
KNOWN_HOSTS_REPOSITORY: ${{ secrets.KNOWN_HOSTS_REPOSITORY }}
sync-servers:
permissions:
contents: none
name: "Sync servers"
needs: [apt-armbian-com,beta-armbian-com]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/sync-servers.yml@master
with:
KEY_ID: 'upload'
secrets:
KEY_UPLOAD: ${{ secrets.KEY_UPLOAD }}
USER_REPOSITORY: ${{ secrets.USER_REPOSITORY }}
HOST_REPOSITORY: ${{ secrets.HOST_REPOSITORY }}
KNOWN_HOSTS_REPOSITORY: ${{ secrets.KNOWN_HOSTS_REPOSITORY }}
##########################################################################################
# #
# Bump with version if compilation succeeded #
# #
##########################################################################################
Bump:
needs: [apt-armbian-com,beta-armbian-com,sync-servers]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/update-version.yml@master
with:
uploading: true
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
Clean:
name: Clean
needs: [Bump]
runs-on: Linux
if: ${{ success() && github.repository_owner == 'Armbian' }}
steps:
- name: Cleaning
uses: geekyeggo/delete-artifact@v2
with:
name: changes
failOnError: false
token: ${{ secrets.ACCESS_TOKEN }}
repository: armbian/os
event-type: "Repository update"

View File

@@ -1,105 +0,0 @@
name: Build u-boot & BSP
#
# Manually generates u-boot & BSP packages
#
on:
workflow_dispatch:
inputs:
destref:
type: choice
description: Beta builds
options:
- nightly
- master
permissions:
contents: read
jobs:
fake:
permissions:
contents: none
runs-on: small
name: Source changes
if: ${{ github.repository_owner == 'Armbian' }}
steps:
- run: |
echo "not empty" > changes
- uses: actions/upload-artifact@v3
with:
path: changes
name: changes
if-no-files-found: ignore
legacy:
permissions:
contents: none
needs: [ fake ]
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "ubuntu-latest"
include: 'grep legacy | '
exclude: ''
uploading: false
destref: ${{ github.event.inputs.destref }}
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
current:
permissions:
contents: none
needs: [ fake ]
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "small"
include: 'grep current | '
exclude: ''
uploading: false
destref: ${{ github.event.inputs.destref }}
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
edge:
permissions:
contents: none
needs: [ fake ]
uses: armbian/scripts/.github/workflows/build-u-boot-with-docker.yml@master
with:
runner: "small"
include: 'grep edge | '
exclude: ''
uploading: false
destref: ${{ github.event.inputs.destref }}
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
SSH_KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}

View File

@@ -1,44 +0,0 @@
name: Bump Version
#
# Manually bump version of nightly builds
#
on:
workflow_dispatch:
jobs:
fake:
permissions:
contents: none
runs-on: small
name: Source changes
if: ${{ github.repository_owner == 'Armbian' }}
steps:
- run: |
echo "not empty" > changes
- uses: actions/upload-artifact@v3
with:
path: changes
name: changes
if-no-files-found: ignore
Bump:
needs: [fake]
if: ${{ success() && github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/update-version.yml@master
with:
uploading: true
secrets:
GPG_KEY1: ${{ secrets.GPG_KEY1 }}
GPG_PASSPHRASE1: ${{ secrets.GPG_PASSPHRASE1 }}
GPG_KEY2: ${{ secrets.GPG_KEY2 }}
GPG_PASSPHRASE2: ${{ secrets.GPG_PASSPHRASE2 }}
SCRIPTS_ACCESS_TOKEN: ${{ secrets.SCRIPTS_ACCESS_TOKEN }}
KEY_TORRENTS: ${{ secrets.KEY_TORRENTS }}
KNOWN_HOSTS_UPLOAD: ${{ secrets.KNOWN_HOSTS_UPLOAD }}

View File

@@ -1,41 +0,0 @@
name: Check images integrity
#
# Manually checks images integrity
#
on:
workflow_dispatch:
jobs:
Update:
permissions:
contents: none
name: Check images integrity
runs-on: [fast, igor]
if: ${{ github.repository_owner == 'Armbian' }}
steps:
- uses: igorpecovnik/freespace@main
- name: Install dependencies
run: |
sudo apt-get -y -qq install parallel
- name: Mount test folders
run: |
sudo mkdir -p dl
sudo mount nas:/tank/armbian/dl.armbian.com/ dl
- name: Integrity test in parallel
run: |
FILES=$(find dl -type f -name "*.xz")
for FILE in ${FILES[@]}
do
echo "$FILE"
done | sudo --preserve-env parallel --jobs 18 '
xz -t {}
'
sudo umount dl

View File

@@ -0,0 +1,48 @@
name: Kernel hardening analysis
#
# Check the Linux kernel options against security hardening
#
# Attention! Changing security parameters may also affect system performance and functionality of userspace software!
# More info:
# https://github.com/a13xp0p0v/kconfig-hardened-check/blob/master/README.md
on:
workflow_dispatch:
pull_request:
types: [ready_for_review, opened, reopened, synchronize]
permissions:
contents: read
jobs:
Analysis:
name: Analyse
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'Armbian' }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v35
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: a13xp0p0v/kconfig-hardened-check
path: kconfig-hardened-check
- name: Check kernel config for security issues
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
if [[ "${file}" = config/kernel/*.config ]]; then
kconfig-hardened-check/bin/kconfig-hardened-check -m show_fail -c $file | sed -e 's/^/ /' >> $GITHUB_STEP_SUMMARY
fi
done

View File

@@ -6,7 +6,7 @@ name: Lint On Scripts
on:
workflow_dispatch:
pull_request:
types: [review_requested, ready_for_review, opened, reopened, edited, synchronize]
types: [opened, reopened, edited, synchronize]
permissions:
contents: read
@@ -27,15 +27,30 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: List all changed files
run: |
# use framework internal mechanism for checking `lib` and `extensions` code only one file is passed,
# and source's are followed, thus the whole project is "understood" by shellcheck.
# For example, when checking individual files, one variable might be thought "unused" because it
# is only used in another file, which does not happen when done properly.
bash lib/tools/shellcheck.sh
ret=0
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
if grep -qE "#\!/" $file; then
shellcheck $file
if [[ ! "${file}" =~ lib/|extensions/|.py|.service|.rules|.network|.netdev ]]; then
if grep -qE "^#\!/.*bash" $file; then
shellcheck --severity=error $file || ret=$?
fi
fi
fi
done
exit $ret

19
.github/workflows/open-jira-ticket.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Jira Sync
on:
issues:
types: [opened]
jobs:
sync:
name: Sync Items
runs-on: ubuntu-latest
steps:
- name: Sync
uses: igorpecovnik/github-action-issue-to-jira@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
jiraHost: armbian.atlassian.net
jiraUsername: ${{ secrets.JIRA_USER }}
jiraPassword: ${{ secrets.JIRA_PASSWORD }}
project: AR
assignee: default_assignee

View File

@@ -24,6 +24,6 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.7
uses: cirrus-actions/rebase@1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -6,7 +6,7 @@ on:
# Weekly on Saturdays.
- cron: '30 1 * * 6'
push:
branches: [ master ]
branches: [ main ]
# Declare default permissions as read only.
permissions: read-all
@@ -26,12 +26,12 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # v3.0.0
uses: actions/checkout@v3.3.0
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@99c53751e09b9529366343771cc321ec74e9bd3d # v1.1.1
uses: ossf/scorecard-action@v2.1.3
with:
results_file: results.sarif
results_format: sarif
@@ -50,7 +50,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 # v3.0.0
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: SARIF file
path: results.sarif

View File

@@ -1,31 +0,0 @@
name: Smoke tests on DUTs
#
# Runs varios tests with latest nighly codebase on a real hardware
#
on:
workflow_dispatch:
# workflow_run:
# workflows: ["Build train"]
# types:
# - completed
permissions:
contents: read
jobs:
Smoke:
permissions:
contents: none
if: ${{ github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/smoke-tests.yml@master
secrets:
NETBOX_TOKEN: ${{ secrets.NETBOX_TOKEN }}
KEY_CI: ${{ secrets.KEY_CI }}
KEY_POWER_ON: ${{ secrets.KEY_POWER_ON }}
KEY_POWER_OFF: ${{ secrets.KEY_POWER_OFF }}
USER_REPOSITORY: ${{ secrets.USER_REPOSITORY }}
HOST_REPOSITORY: ${{ secrets.HOST_REPOSITORY }}
KNOWN_HOSTS_REPOSITORY: ${{ secrets.KNOWN_HOSTS_REPOSITORY }}

View File

@@ -1,43 +0,0 @@
name: Update Docker
#
# Update Docker images we use for building CI
#
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 0'
# automatically rebuild docker images when VERSION is changed on master branch
push:
branches:
- master
paths:
- 'VERSION'
permissions:
contents: read
jobs:
Docker:
permissions:
contents: none
if: ${{ github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/update-docker-image.yml@master
secrets:
CR_PAT: ${{ secrets.CR_PAT }}
Docker-test:
permissions:
contents: none
needs: Docker
if: ${{ github.repository_owner == 'Armbian' }}
uses: armbian/scripts/.github/workflows/build-test-image-docker.yml@master
with:
runner: "ubuntu-latest"
reference: master

5
.gitignore vendored
View File

@@ -22,6 +22,11 @@ ubuntu-*-cloudimg-console.log
.DS_Store
*~
*.swp
/__pycache__/*
# Mainly generated by merge tools like 'meld'
*.orig
# Dockerfile and .dockerignore is generated by docker.sh
Dockerfile
.dockerignore

View File

@@ -22,19 +22,18 @@ This section describes how to start contributing to Armbian.
### Prepare your environment
* Create an Ubuntu 22.04 VM with VirtualBox or any other suitable hypervisor. Then proceed with:
* Create an Ubuntu 22.04 VM with VirtualBox or any other suitable hypervisor.
* Install [Github CLI tool](https://github.com/cli/cli/blob/trunk/docs/install_linux.md)
* Configure git:
```bash
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-add-repository https://cli.github.com/packages
sudo apt update
sudo apt -y install gh git
# Configure git
git config --global user.email "your@email.com"
git config --global user.name "Your Name"
# Generate gpg key
```
* Generate GPG key
```bash
gpg --generate-key
```

2
CREDITS.md Normal file
View File

@@ -0,0 +1,2 @@
[https://github.com/orgs/armbian/people](https://github.com/orgs/armbian/people)
[https://www.armbian.com/authors](https://www.armbian.com/authors)

View File

@@ -2,21 +2,10 @@
<a href="#build-framework">
<img src=".github/armbian-logo.png" alt="Armbian logo" width="144">
</a><br>
<strong>Armbian Linux Build Framework</strong><br>
<br>
<a href=https://github.com/armbian/build/actions/workflows/build-train.yml><img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/armbian/build/Build%20train?logo=githubactions&label=Kernel%20compile&logoColor=white&style=for-the-badge"></a>
<a href=https://github.com/armbian/build/actions/workflows/build-all-desktops.yml><img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/armbian/build/Build%20All%20Desktops?logo=githubactions&logoColor=white&label=Images%20assembly&style=for-the-badge"></a>
<a href=https://github.com/armbian/build/actions/workflows/smoke-tests.yml><img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/armbian/build/Smoke%20tests%20on%20DUTs?logo=speedtest&label=Smoke%20test&style=for-the-badge"></a>
<br>
<br>
<a href=https://twitter.com/armbian><img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/armbian?logo=twitter&style=flat-square"></a>
<a href=http://discord.armbian.com/><img alt="Discord" src="https://img.shields.io/discord/854735915313659944?label=Discord&logo=discord&style=flat-square"></a>
<a href=https://liberapay.com/armbian><img alt="Liberapay patrons" src="https://img.shields.io/liberapay/patrons/armbian?logo=liberapay&style=flat-square"></a>
</p>
<strong>Armbian Linux Build Framework</strong><br><h3>
$${\color{black}NEXT\space \color{red}gen}$$
</h3>
## Table of contents
- [What this project does?](#what-this-project-does)
@@ -28,12 +17,12 @@
- [Support](#support)
- [Contact](#contact)
- [Contributors](#contributors)
- [Sponsors](#sponsors)
- [Partners](#armbian-partners)
- [License](#license)
## What this project does?
- Builds custom kernel, image or a distribution optimized for low resource HW such as single board computers,
- Builds custom kernel, image or a distribution optimized for low resource hardware,
- Include filesystem generation, low-level control software, kernel image and bootloader compilation,
- Provides a consistent user experience by keeping system standards across different platforms.
@@ -41,15 +30,16 @@
### Basic requirements
- x64 or aarch64 machine with at least 2GB of memory and ~35GB of disk space for a virtual machine, container or bare metal installation,
- Ubuntu Jammy 22.04 x64 or aarch64 for native building or any [Docker](https://docs.armbian.com/Developer-Guide_Building-with-Docker/) capable x64 / aarch64 Linux for containerised,
- x86_64 or aarch64 machine with at least 2GB of memory and ~35GB of disk space for a virtual machine, [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install), container or bare metal installation
- Ubuntu Jammy 22.04.x amd64 or aarch64 for native building or any Docker capable amd64 / aarch64 Linux for containerised
- Superuser rights (configured sudo or root access).
- Make sure all your system components are up-to-date. Outdated Docker binaries for example can cause troubles.
### Simply start with the build script
```bash
apt-get -y install git
git clone https://github.com/armbian/build
git clone --depth=1 --branch=main https://github.com/armbian/build
cd build
./compile.sh
```
@@ -68,12 +58,6 @@ Show work in progress areas in interactive mode:
./compile.sh EXPERT="yes"
```
Run build framework inside Docker container:
```bash
./compile.sh docker
```
Build minimal CLI Armbian Focal image for Orangepi Zero. Use modern kernel and write image to the SD card:
```bash
@@ -85,17 +69,15 @@ BUILD_MINIMAL=yes \
BUILD_DESKTOP=no \
KERNEL_ONLY=no \
KERNEL_CONFIGURE=no \
CARD_DEVICE="/dev/sda"
CARD_DEVICE="/dev/sdX"
```
More information:
- [Building Armbian](https://docs.armbian.com/Developer-Guide_Build-Preparation/) — how to start, how to automate;
- [Build options](https://docs.armbian.com/Developer-Guide_Build-Options/) — all build options;
- [Building with Docker](https://docs.armbian.com/Developer-Guide_Building-with-Docker/) — how to build inside container;
- [User configuration](https://docs.armbian.com/Developer-Guide_User-Configurations/) — how to add packages, patches and override sources config;
## Download prebuilt images
- quarterly released **supported** builds — <https://www.armbian.com/download>
@@ -120,11 +102,23 @@ Function | Armbian | Yocto | Buildroot |
## Project structure
<details><summary>Expand</summary>
```text
├── cache Work / cache directory
│   ├── rootfs Compressed userspace packages cache
│   ├── sources Kernel, u-boot and various drivers sources.
│   ├── toolchains External cross compilers from Linaro™ or ARM™
│   ├── aptcache Packages
│   ├── ccache C/C++ compiler
│   ├── docker Docker last pull
│   ├── git-bare Minimal Git
│   ├── git-bundles Full Git
│   ├── initrd Ram disk
│   ├── memoize Git status
│   ├── patch Kernel drivers patch
│   ├── pip Python
│   ├── rootfs Compressed userspaces
│   ├── sources Kernel, u-boot and other sources
│   ├── tools Additional tools like ORAS
│   └── utility
├── config Packages repository configurations
│   ├── targets.conf Board build target configuration
│   ├── boards Board configurations
@@ -137,8 +131,21 @@ Function | Armbian | Yocto | Buildroot |
│   ├── sources Kernel and u-boot sources locations and scripts
│   ├── templates User configuration templates which populate userpatches
│   └── torrents External compiler and rootfs cache torrents
├── extensions extend build system with specific functionality
├── extensions Extend build system with specific functionality
├── lib Main build framework libraries
│   ├── functions
│   │   ├── artifacts
│   │   ├── bsp
│   │   ├── cli
│   │   ├── compilation
│   │   ├── configuration
│   │   ├── general
│   │   ├── host
│   │   ├── image
│   │   ├── logging
│   │   ├── main
│   │   └── rootfs
│   └── tools
├── output Build artifact
│   └── deb Deb packages
│   └── images Bootable images - RAW or compressed
@@ -147,7 +154,7 @@ Function | Armbian | Yocto | Buildroot |
│   └── patch Created patches location
├── packages Support scripts, binary blobs, packages
│   ├── blobs Wallpapers, various configs, closed source bootloaders
│   ├── bsp-cli Automatically added to armbian-bsp-cli package
│   ├── bsp-cli Automatically added to armbian-bsp-cli package
│   ├── bsp-desktop Automatically added to armbian-bsp-desktopo package
│   ├── bsp Scripts and configs overlay for rootfs
│   └── extras-buildpkgs Optional compilation and packaging engine
@@ -169,10 +176,12 @@ Function | Armbian | Yocto | Buildroot |
   ├── misc User: various
   └── u-boot User: universal boot loader patches
```
</details>
## 🙌 Contribution
### You don't need to be a programmer to help!
### You don't need to be a programmer to help!
- The easiest way to help is by "Starring" our repository - it helps more people find our code.
- [Check out our list of volunteer positions](https://forum.armbian.com/staffapplications/) and choose what you want to do ❤️
- [Seed torrents](https://forum.armbian.com/topic/4198-seed-our-torrents/)
@@ -196,17 +205,18 @@ If you want to help with development, you should first review the [Development C
## Support
Support is provided in one of two ways:
- For commercial or prioritized assistance:
- book a an hour of [professional consultation](https://calendly.com/armbian/consultation),
- consider becoming a project partner. Reach us out at https://armbian.com/contact,
- consider becoming a project partner. Reach us out at <https://armbian.com/contact>,
- Alternatively free support is provided via [general project search engine](https://www.armbian.com/search), [documentation](https://docs.armbian.com), [community forums](https://forum.armbian.com/) or [IRC/Discord](https://docs.armbian.com/Community_IRC/). Keep in mind this is mostly provided by our awesome community members in a **best effort** manner and therefore there are no guaranteed solutions.
## Contact
- [Forums](https://forum.armbian.com) for Participate in Armbian
- IRC: `#armbian` on Libera.chat
- Discord: [http://discord.armbian.com](http://discord.armbian.com)
- Follow [@armbian](https://twitter.com/armbian) on Twitter or [LinkedIn](https://www.linkedin.com/company/armbian).
- Discord: [https://discord.gg/armbian](https://discord.gg/armbian)
- Follow [@armbian](https://twitter.com/armbian) on Twitter, [Fosstodon](https://fosstodon.org/@armbian) or [LinkedIn](https://www.linkedin.com/company/armbian).
- Bugs: [issues](https://github.com/armbian/build/issues) / [JIRA](https://armbian.atlassian.net/jira/dashboards/10000)
- Office hours: [Wednesday, 12 midday, 18 afternoon, CET](https://calendly.com/armbian/office-hours)
@@ -228,9 +238,14 @@ Thank you to all the people who already contributed Armbian!
## Armbian Partners
Armbian's partnership program helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with our Partners:
- [Click here to visit our Partners page!](https://armbian.com/partners)
- [How can I become a Partner?](https://forum.armbian.com/subscriptions)
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=armbian/build&type=Date)](https://star-history.com/#armbian/build&Date)
## License
This software is published under the GPL-2.0 License license.

View File

@@ -1 +1 @@
22.11.0-trunk
23.05.0-trunk

View File

@@ -1,19 +1,25 @@
#!/bin/bash
#!/usr/bin/env bash
#
# Copyright (c) 2013-2021 Igor Pecovnik, igor.pecovnik@gma**.com
# SPDX-License-Identifier: GPL-2.0
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
#
# This file is a part of the Armbian build script
# This file is a part of the Armbian Build Framework
# https://github.com/armbian/build/
# DO NOT EDIT THIS FILE
# use configuration files like config-default.conf to set the build configuration
# check Armbian documentation https://docs.armbian.com/ for more info
#set -o pipefail # trace ERR through pipes - will be enabled "soon"
#set -o nounset ## set -u : exit the script if you try to use an uninitialised variable - one day will be enabled
set -e
set -o errtrace # trace ERR through - enabled
set -o errexit ## set -e : exit the script if any statement returns a non-true return value - enabled
# Important, go read http://mywiki.wooledge.org/BashFAQ/105 NOW!
SRC="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
cd "${SRC}" || exit
# check for whitespace in ${SRC} and exit for safety reasons
grep -q "[[:space:]]" <<< "${SRC}" && {
@@ -21,24 +27,27 @@ grep -q "[[:space:]]" <<< "${SRC}" && {
exit 1
}
cd "${SRC}" || exit
if [[ -f "${SRC}"/lib/import-functions.sh ]]; then
# Declare this folder as safe
if ! grep -q "directory = \*" "$HOME/.gitconfig" 2> /dev/null; then
git config --global --add safe.directory "*"
fi
# shellcheck source=lib/import-functions.sh
source "${SRC}"/lib/import-functions.sh
else
# Sanity check.
if [[ ! -f "${SRC}"/lib/single.sh ]]; then
echo "Error: missing build directory structure"
echo "Please clone the full repository https://github.com/armbian/build/"
exit 255
fi
# shellcheck source=lib/single.sh
source "${SRC}"/lib/single.sh
# initialize logging variables. (this does not consider parameters at this point, only environment variables)
logging_init
# initialize the traps
traps_init
# make sure git considers our build system dir as a safe dir (only if actually building)
[[ "${CONFIG_DEFS_ONLY}" != "yes" && "${PRE_PREPARED_HOST}" != "yes" ]] && git_ensure_safe_directory "${SRC}"
# Execute the main CLI entrypoint.
cli_entrypoint "$@"
# Log the last statement of this script for debugging purposes.
display_alert "Armbian build script exiting" "very last thing" "cleanup"

View File

@@ -1,18 +0,0 @@
{
"rootDir": "output/repository-beta",
"downloadConcurrency": 4,
"downloadSpeedLimit": 0,
"architectures": [],
"dependencyFollowSuggests": false,
"dependencyFollowRecommends": false,
"dependencyFollowAllVariants": false,
"dependencyFollowSource": false,
"gpgDisableSign": false,
"gpgDisableVerify": false,
"gpgProvider": "internal",
"downloadSourcePackages": false,
"ppaDistributorID": "ubuntu",
"ppaCodename": "",
"S3PublishEndpoints": {},
"SwiftPublishEndpoints": {}
}

View File

@@ -1,42 +1,111 @@
|variable| meaning |
|:--|:--|
| # | Name of the board with specs displayed in the build menu |
| BOARD_NAME | welcome text and hostname |
| BOARDFAMILY | [sun8i, sun7i, rockchip64](../sources) |
| BOOTCONFIG | name of u-boot config |
| BOOTCONFIG_LEGACY | name of u-boot config for legacy branch |
| BOOTCONFIG_CURRENT | name of u-boot config for current branch |
| BOOTCONFIG_EDGE | name of u-boot config for edge branch |
| BOOTSIZE | size of a separate boot partition in Mib |
| BOOT_LOGO | yes/desktop enable armbian boot logo during booting |
| IMAGE_PARTITION_TABLE | "msdos" (default) or "gpt" (boot loader must supports it) |
| BOOTFS_TYPE | boot partition type: ext4, fat |
| DEFAULT_OVERLAYS | usbhost1 usbhost2 ... |
| DEFAULT_CONSOLE | serial = change default boot output |
| MODULES | space delimited modules for all branches |
| MODULES_LEGACY | space delimited modules for legacy branch |
| MODULES_CURRENT | space delimited modules for current branch |
| MODULES_EDGE | space delimited modules for edge branch |
| MODULES_BLACKLIST | space delimited modules blacklist for all branches |
| MODULES_BLACKLIST_LEGACY | space delimited modules blacklist for legacy branch |
| MODULES_BLACKLIST_CURRENT | space delimited modules blacklist for current branch |
| MODULES_BLACKLIST_EDGE | space delimited modules blacklist for edge branch |
| SERIALCON | ttyS0,ttyS1, ... |
| HAS_VIDEO_OUTPUT | yes/no |
| KERNEL_TARGET | legacy,current,edge |
| FULL_DESKTOP | yes/no = install Office, Thunderbird, ... |
| DESKTOP_AUTOLOGIN | yes/no |
| PACKAGE_LIST_BOARD | space delimited packages to be installed on this boards |
| PACKAGE_LIST_BOARD_REMOVE | space delimited packages to be removed |
| PACKAGE_LIST_DESKTOP_BOARD | space delimited packages to be installed on this boards desktop build |
| PACKAGE_LIST_DESKTOP_BOARD_REMOVE | space delimited packages to be removed |
| BOOT_FDT_FILE | Forcing loading specific device tree configuration - if its different than the one defined by u-boot |
| CPUMIN | Minimum CPU frequency to scale (Hz) |
| CPUMAX | Maximum CPU frequency to scale (Hz) |
| FORCE_BOOTSCRIPT_UPDATE | install bootscripts if they are not present |
| OVERLAY_PREFIX | prefix for DT and overlay file paths which will be set while creating image |
# Internal build options
These options are used to declare variables used by the armbian build system to build a board-specific configuration.
If you are unsure about the documentation then invoke `$ grep -r -A5 -B5 "BUILD_OPTION_HERE" /path/to/local/armbian/build/repository` to get context to the option from the source code.
- **BOARD_NAME** ( company product version ): defines the board name used in welcome text, hostname and others relevant usage.The general convention is `COMPANY PRODUCT VERSION` - Often used as part of the scripting logic (namely for hacks) so follow the name declared in the board configuration.
- Example: `OLIMEX Teres A64`
- **BOARDFAMILY** ( board-family ): defines the family of the board to apply board-specific configuration during build time such as adjustments for the temperature, LED behavior, etc..
- Refer to [sources table](https://github.com/armbian/build/blob/master/config/sources/README.md)
- Example: `sun50iw1`
- **BOOTCONFIG** ( u-boot identifier ): declares the name of the u-boot configuration for the build without the '\_defconifig' suffix
- Refer to the [u-boot source tree](https://github.com/u-boot/u-boot/tree/master/configs) to find configuration for the board
- Example: `teres-i`
- **BOOTSIZE** ( int ): Declares the size of the boot partitin in Mib
- Default: `256`
- Example: `256`
- **BOOT_LOGO** ( string ): defines whether to use a eyecandy during bootloader phase
- Values:
- yes: Show the armbian boot logo
- desktop: Show the armbian boot logo when `BUILD_DESKTOP` is set to `yes`
- Default: `not set`
- **IMAGE_PARTITION_TABLE** ( string ): defines which disklabel type to use
- Values:
- msdos: Use dos/msdos disklabel
- gpt: Use GPT disklabel
- Default: msdos
- **BOOTFS_TYPE** ( filesystem ): defines the expected filesystem for the boot file system
- Values:
- none: Uses /boot on the root filesystem
- ext4: Use the [Fourth Extended Filesystem](https://en.wikipedia.org/wiki/Ext4)
- ext2: Use the [Second Extended Filesystem](https://en.wikipedia.org/wiki/Ext2)
- fat: Use the [File Allocation Table 32](https://en.wikipedia.org/wiki/File_Allocation_Table#FAT32)
- Default: `ext4`
- **DEFAULT_OVERLAYS** ( space-separated list list of dtb overlays ): defines dtb overlays that are enabled by default. There is a basic dtb for each family but they have different level of used SoC features. Board X might have four USB ports but others might not. Therefore other does not need to have those enabled while board X does.
- Examples:
- usbhost0
- usbhost2
- usbhost3
- cir
- analog-codec
- gpio-regulator-1.3v
- uart1
- **DEFAULT_CONSOLE** ( string ): declares default console for the boot output
- Values:
- serial: Output boot messages to serial console
- Default: `not set`
- **MODULES** ( space-separated list of kernel modules ): appends modules to the kernel command line for **all** kernel branches
- **MODULES_LEGACY** ( space-separated list of kernel modules ): appends modules to the kernel command line for **legacy** kernel
- **MODULES_CURRENT** ( space-separated list of kernel modules ): appends modules to the kernel command line for **current** kernel
- **MODULES_EDGE** ( space-separated list of kernel modules ): appends modules to the kernel command line for **edge** kernel
- **MODULES_BLACKLIST** ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for **all** kernel branches
- **MODULES_BLACKLIST_LEGACY** ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for **legacy** kernel
- **MODULES_BLACKLIST_CURRENT** ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for **current** kernel
- **MODULES_BLACKLIST_EDGE** ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for **edge** kernel
- **SERIALCON** ( comma-separated list of terminal interfaces [:bandwidth] ): declares which serial console should be used on the system
- Example: `ttyS0:15000000,ttyGS1`
- **SKIP_ARMBIAN_REPO** ( boolean ): Whether to include the armbian repository in the built image
- Values:
- yes: Include (default)
- no: Do NO include
- **HAS_VIDEO_OUTPUT** ( boolean ): defines whether the system has video output such as eye candy, bootsplash, etc..
- Values:
- yes: Enable video-related configuration
- no: Disable video-related configuration
- **KERNEL_TARGET** ( comma-separated list of kernel releases or branches ): declares which kernels should be used for the build
- Values:
- legacy: Use legacy kernel
- current: Use current kernel
- edge: Use edge kernel
- [branch]: Use specified [branch] kernel
- [none]: Exits with error
- **FULL_DESKTOP** ( boolean ): defines whether to install desktop stack of applications such as office, thunderbird, etc..
- Values:
- yes: install desktop stack
- no: doesn't install desktop stack
- **DESKTOP_AUTOLOGIN** ( boolean ): Toggle desktop autologin
- Values:
- yes: Automatically login to the desktop
- no: disable desktop autologin
- Default: `no`
- **PACKAGE_LIST_BOARD** ( space-separated list of packages ): Declares which packages should be installed on the system
- **PACKAGE_LIST_BOARD_REMOVE** ( space-separated list of packages ): Declares packages to be removed from the system
- **BOOT_FDT_FILE** ( device tree configuration ): Force to load specific device tree configuration if different from the one defined by u-boot
- Values:
- [family]/[file.dtb]: Replace device tree with the one specified
- none: Do not use device tree configuration
- Example: `rockchip/rk3568-rock-3-a.dtb`
- **CPUMIN** ( minimum CPU frequency to scale in Hz ): Set minimal CPU frequency of the system
- Default: Differs per family `480000` for sunxi8 boards
- **CPUMAX** ( minimum CPU frequency to scale in Hz ): Set maximal CPU frequency of the system
- Default: Differs per family `1400000` for sunxi8 boards
- **FORCE_BOOTSCRIPT_UPDATE** ( boolean ): Force bootscript installation if they are not present
- Values:
- yes: Enable
- no: Disable
- **OVERLAY_PREFIX** ( prefix ): Prefix for device tree and overlay file paths which will be set while creating an image
- Example: `sun8i-h3`
## Deprecated
- **BOOTCONFIG_LEGACY** ( u-boot identifier ): use **BOOTCONFIG** instead
- **BOOTCONFIG_CURRENT** ( u-boot identifier ): use **BOOTCONFIG** instead
- **BOOTCONFIG_EDGE** ( u-boot identifier ): use **BOOTCONFIG** instead
- **PACKAGE_LIST_BOARD_DESKTOP** ( space-separated list of packages ): use **PACKAGE_LIST_BOARD** instead
- **PACKAGE_LIST_BOARD_DESKTOP_REMOVE** ( space-separated list of packages ): use **PACKAGE_LIST_BOARD** instead
## File extensions
Statuses displayed at the login prompt:
@@ -45,4 +114,3 @@ Statuses displayed at the login prompt:
|.csc or .tvb |community creations or no active maintainer|
|.wip |work in progress|
|.eos |end of life|

View File

@@ -9,3 +9,14 @@ SERIALCON="ttyAML0"
FULL_DESKTOP="yes"
ASOUND_STATE="asound.state.mesongx"
BOOT_LOGO="desktop"
SRC_CMDLINE='rootflags=data=writeback console=ttyAML0,115200n8 console=tty0'
function post_family_tweaks__config_aml-s9xx-box_bsp() {
display_alert "$BOARD" "Installing bsp files" "info"
cp -r $SRC/packages/bsp/aml-s9xx-box/boot $SDCARD
install -m 755 $SRC/packages/bsp/aml-s9xx-box/root/install-aml.sh $SDCARD/root
install -m 644 $SRC/packages/bsp/aml-s9xx-box/root/fstab.template $SDCARD/root
}

View File

@@ -0,0 +1,11 @@
# Amlogic A311D 4GB RAM eMMC GBE USB3
BOARD_NAME="Banana Pi CM4IO"
BOARDFAMILY="meson-g12b"
BOOTCONFIG="bananapi-cm4-cm4io_defconfig"
KERNEL_TARGET="edge"
FULL_DESKTOP="yes"
SERIALCON="ttyAML0"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="amlogic/meson-g12b-bananapi-cm4-cm4io.dtb"
BOOTBRANCH_BOARD="tag:v2023.01"
BOOTPATCHDIR="v2023.01"

View File

@@ -0,0 +1,11 @@
# Amlogic S905X3 quad core 2-4GB RAM SoC eMMC GBE USB3 SPI Wifi
BOARD_NAME="Banana Pi M2Pro"
BOARDFAMILY="meson-sm1"
BOOTCONFIG="bananapi-m5_defconfig" # u-boot is still shared betwen m5 and m2pro
BOOT_FDT_FILE="amlogic/meson-sm1-bananapi-m2-pro.dtb"
KERNEL_TARGET="edge" # current does not carry the DTB yet; @TODO re-add when 6.2+ is current for meson64
FULL_DESKTOP="yes"
SERIALCON="ttyAML0"
BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2022.10"
BOOTPATCHDIR="v2022.10"

View File

@@ -0,0 +1,13 @@
# Amlogic A311D 4GB RAM eMMC 2xGBE USB3
BOARD_NAME="Banana Pi M2S"
BOARDFAMILY="meson-g12b"
BOOTCONFIG="bananapim2s_defconfig"
KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
SERIALCON="ttyAML0"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="amlogic/meson-g12b-a311d-bananapi-m2s.dtb"
# Newer u-boot; new DT, Makefile and defconfig in patch/u-boot/v2022.10/board_bananapi-m2s
BOOTBRANCH_BOARD="tag:v2022.10"
BOOTPATCHDIR="v2022.10"

View File

@@ -1,8 +1,11 @@
# Amlogic S905X3 quad core 2-4GB RAM SoC eMMC GBE USB3 SPI (M2P has wifi)
BOARD_NAME="Banana Pi M5/M2P"
# Amlogic S905X3 quad core 2-4GB RAM SoC eMMC GBE USB3 SPI
BOARD_NAME="Banana Pi M5"
BOARDFAMILY="meson-sm1"
BOOTCONFIG="bananapi-m5_defconfig"
BOOT_FDT_FILE="amlogic/meson-sm1-bananapi-m5.dtb"
KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
SERIALCON="ttyAML0"
BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2022.10"
BOOTPATCHDIR="v2022.10"

View File

@@ -3,4 +3,4 @@ BOARD_NAME="Banana Pi M64"
BOARDFAMILY="sun50iw1"
BOOTCONFIG_DEFAULT="sun50iw1p1_config"
BOOTCONFIG="bananapi_m64_defconfig"
KERNEL_TARGET="current,edge"
KERNEL_TARGET="legacy,current,edge"

47
config/boards/beaglev.csc Normal file
View File

@@ -0,0 +1,47 @@
# RISC-V StarFive BeagleV
BOARD_NAME="BeagleV"
BOARDFAMILY="starfive"
KERNEL_TARGET="edge"
BOOT_FDT_FILE="starfive/jh7100-beaglev-starlight-a1.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0 earlycon=sbi rootflags=data=writeback stmmaceth=chain_mode:1 rw"
BOOTCONFIG=none
function post_family_tweaks__beaglev_uenv() {
# rpardini: uEnv.txt is needed to re-enable distroboot-like behaviour on the board's SPI u-boot
display_alert "$BOARD" "creating uEnv.txt" "info"
cat <<- UENV_SCRIPT_HEADER > "${SDCARD}/boot/uEnv.txt"
fdt_high=0xffffffffffffffff
initrd_high=0xffffffffffffffff
scriptaddr=0x88100000
script_offset_f=0x1fff000
script_size_f=0x1000
kernel_addr_r=0x84000000
kernel_comp_addr_r=0x90000000
kernel_comp_size=0x10000000
fdt_addr_r=0x88000000
ramdisk_addr_r=0x88300000
distro_bootpart=1
uenvcmd=run mmc_boot
UENV_SCRIPT_HEADER
display_alert "$BOARD" "creating 10-hdmi.conf" "info"
mkdir -p "${SDCARD}/etc/X11/xorg.conf.d"
cat <<- XORG_HDMI_CONF > "${SDCARD}/etc/X11/xorg.conf.d/10-hdmi.conf"
Section "Device"
Identifier "Default Device"
Driver "modesetting"
Option "AccelMethod" "none" ### "glamor" to enable 3D acceleration, "none" to disable.
EndSection
Section "ServerFlags"
Option "AutoAddGPU" "off"
Option "Debug" "dmabuf_capable"
EndSection
XORG_HDMI_CONF
return 0
}

View File

@@ -1,7 +0,0 @@
# Rockchip RK3399 hexa core 4GB RAM SoC WiFi/BT
BOARD_NAME="Clockworkpi A06"
BOARDFAMILY="rockchip64"
BOOTCONFIG="clockworkpi-a06-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="no"

View File

@@ -0,0 +1,45 @@
# Rockchip RK3399 hexa core 4GB RAM SoC WiFi/BT
BOARD_NAME="Clockworkpi A06"
BOARDFAMILY="rockchip64"
BOOTCONFIG="clockworkpi-a06-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="no"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
function post_family_tweaks_bsp__clockworkpi-a06() {
display_alert "Installing BSP firmware and fixups"
# rotate screen & disable dpms
mkdir -p "$destination"/etc/X11/xorg.conf.d
cat <<- EOF > "$destination"/etc/X11/xorg.conf.d/10-monitor.conf
# set monitor
Section "Monitor"
Identifier "DSI-1"
Option "Rotate" "right"
Option "DPMS" "false"
EndSection
Section "ServerLayout"
Identifier "ServerLayout0"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
EOF
# fan support
install -Dm644 $SRC/packages/bsp/clockworkpi-a06/temp_fan_daemon_a06.py $destination/usr/share/clockworkpi-a06-fan-daemon/bin/temp_fan_daemon_a06.py
cp $SRC/packages/bsp/clockworkpi-a06/clockworkpi-a06-fan-daemon.service $destination/lib/systemd/system/
# alsa-ucm-conf profile for DevTerm A06
mkdir -p $destination/usr/share/alsa/ucm2/Rockchip/es8388
install -Dm644 $SRC/packages/bsp/clockworkpi-a06/es8388.conf $destination/usr/share/alsa/ucm2/Rockchip/es8388/es8388.conf
install -Dm644 $SRC/packages/bsp/clockworkpi-a06/HiFi.conf $destination/usr/share/alsa/ucm2/Rockchip/es8388/HiFi.conf
mkdir -p $destination/usr/share/alsa/ucm2/conf.d/simple-card
ln -sfv /usr/share/alsa/ucm2/Rockchip/es8388/es8388.conf \
$destination/usr/share/alsa/ucm2/conf.d/simple-card/rockchip,es8388-codec.conf
return 0
}

View File

@@ -9,3 +9,20 @@ BOOT_FDT_FILE="rockchip/rk3399-firefly.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS2,1500000 console=tty0"
#ASOUND_STATE="asound.state.station-p1"
function post_family_tweaks_bsp__firefly-rk3399_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# need to swap chips in the service
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
fi
return 0
}

View File

@@ -10,3 +10,49 @@ FULL_DESKTOP="yes"
PACKAGE_LIST_BOARD="mdadm i2c-tools fancontrol"
PACKAGE_LIST_BOARD_REMOVE="fake-hwclock"
CPUMAX="1800000"
function post_family_tweaks__helios64_enable_heartbeat() {
display_alert "$BOARD" "Installing board tweaks" "info"
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable helios64-heartbeat-led.service >/dev/null 2>&1"
return 0
}
function post_family_tweaks_bsp__helios64() {
display_alert "Installing BSP firmware and fixups"
mkdir -p $destination/etc/udev/rules.d/
mkdir -p $destination/etc/systemd/system/fancontrol.service.d/
mkdir -p $destination/lib/systemd/system/
mkdir -p $destination/lib/systemd/system-shutdown/
cp $SRC/packages/bsp/helios64/50-usb-realtek-net.rules $destination/etc/udev/rules.d/
cp $SRC/packages/bsp/helios64/70-keep-usb-lan-as-eth1.rules $destination/etc/udev/rules.d/
cp $SRC/packages/bsp/helios64/90-helios64-ups.rules $destination/etc/udev/rules.d/
cp $SRC/packages/bsp/helios64/asound.conf $destination/etc/
install -m 755 $SRC/packages/bsp/helios64/disable_auto_poweron $destination/lib/systemd/system-shutdown/
### Fancontrol tweaks
# copy hwmon rules to fix device mapping
# changed to only use one file regardless of branch
install -m 644 $SRC/packages/bsp/helios64/90-helios64-hwmon.rules $destination/etc/udev/rules.d/
install -m 644 $SRC/packages/bsp/helios64/fancontrol.service.pid-override $destination/etc/systemd/system/fancontrol.service.d/pid.conf
# copy fancontrol config
install -m 644 $SRC/packages/bsp/helios64/fancontrol.conf $destination/etc/fancontrol
# LED tweak
if [[ $BRANCH == legacy ]]; then
install -m 644 $SRC/packages/bsp/helios64/helios64-heartbeat-led-legacy.service $destination/etc/systemd/system/helios64-heartbeat-led.service
else
install -m 644 $SRC/packages/bsp/helios64/helios64-heartbeat-led.service $destination/etc/systemd/system/
fi
# UPS service
cp $SRC/packages/bsp/helios64/helios64-ups.service $destination/lib/systemd/system/
cp $SRC/packages/bsp/helios64/helios64-ups.timer $destination/lib/systemd/system/
install -m 755 $SRC/packages/bsp/helios64/helios64-ups.sh $destination/usr/bin/helios64-ups.sh
return 0
}

View File

@@ -0,0 +1,25 @@
# Rockchip RK3588 SoC octa core 4-16GB eMMC USB3 NVMe SATA 4G WiFi/BT HDMI DP HDMI-In
BOARD_NAME="Hinlink H88K"
BOARDFAMILY="rockchip-rk3588"
BOOTCONFIG="rock-5b-rk3588_defconfig"
KERNEL_TARGET="legacy"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588-hinlink-h88k.dtb"
BOOT_SCENARIO="spl-blobs"
WIREGUARD="no"
IMAGE_PARTITION_TABLE="gpt"
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
function post_family_tweaks__hinlink_h88k_naming_audios() {
display_alert "$BOARD" "Renaming hinlink-h88k audios" "info"
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
return 0
}

View File

@@ -3,5 +3,5 @@ BOARD_NAME="JetHub D1"
BOARDFAMILY="jethub"
BOOTCONFIG="jethub_j100_defconfig"
KERNEL_TARGET="current,edge"
PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools python3-pip watchdog"
PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools python3-pip watchdog python3-serial python3-intelhex python3-intelhex"
DEFAULT_CONSOLE="serial"

View File

@@ -3,5 +3,5 @@ BOARD_NAME="JetHub H1"
BOARDFAMILY="jethub"
BOOTCONFIG="jethub_j80_defconfig"
KERNEL_TARGET="current,edge"
PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools python3-pip watchdog"
PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools python3-pip watchdog python3-serial python3-intelhex python3-intelhex"
DEFAULT_CONSOLE="serial"

View File

@@ -2,10 +2,30 @@
BOARD_NAME="Jetson Nano"
BOARDFAMILY="media"
BOOTCONFIG="none"
KERNEL_TARGET="legacy,current,edge"
KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="nvidia/tegra210-p3450-0000.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0"
function post_family_tweaks__Jetson-nano() {
display_alert "$BOARD" "Installing bsp firmware and fixups" "info"
install -m 755 $SRC/packages/blobs/jetson/jetson.sh $SDCARD/etc/initramfs-tools/hooks/jetson.sh
if [[ $BRANCH == legacy ]]; then
install -m 755 $SRC/packages/blobs/jetson/tegra21x_xusb_firmware $SDCARD/lib/firmware/tegra21x_xusb_firmware
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrahda $SDCARD/etc/asound.conf.tegrahda
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrahda $SDCARD/etc/asound.conf
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrasndt210ref $SDCARD/etc/asound.conf.tegrasndt210ref
install -m 755 $SRC/packages/blobs/jetson/tegra-hda.conf $SDCARD/usr/share/alsa/cards/tegra-hda.conf
install -m 755 $SRC/packages/blobs/jetson/tegra-snd-t210r.conf $SDCARD/usr/share/alsa/cards/tegra-snd-t210r.conf
sed -e 's/exit 0//g' -i $SDCARD/etc/rc.local
echo "su -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'" >> $SDCARD/etc/rc.local
echo "exit 0" >> $SDCARD/etc/rc.local
else
cp -R $SRC/packages/blobs/jetson/firmware/* $SDCARD/lib/firmware/
fi
return 0
}

View File

@@ -1,9 +0,0 @@
# Rockchip RK3399 hexa core 2G/4GB SoC GBe eMMC USB3 WiFi
BOARD_NAME="Khadas Edge"
BOARDFAMILY="rockchip64"
BOOTCONFIG="khadas-edge-v-rk3399_defconfig"
KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_SUPPORT_SPI=yes
ASOUND_STATE="asound.state.rk3399"

View File

@@ -0,0 +1,10 @@
# Rockchip RK3399 hexa core 2G/4GB SoC GBe eMMC USB3 WiFi
BOARD_NAME="Khadas Edge"
BOARDFAMILY="rockchip64"
BOOTCONFIG="khadas-edge-v-rk3399_defconfig"
KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_SUPPORT_SPI=yes
BOOT_SCENARIO="tpl-spl-blob"
ASOUND_STATE="asound.state.rk3399"

View File

@@ -0,0 +1,20 @@
# Rockchip RK3588s 2GB-16GB GBE eMMC NVMe SATA USB3 WiFi
BOARD_NAME="Khadas EDGE2"
BOARDFAMILY="media"
BOOT_SOC="rk3588"
BOOTCONFIG="khadas-edge2-rk3588s_defconfig"
KERNEL_TARGET="legacy"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588s-khadas-edge2.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS02,1500000 console=tty0"
IMAGE_PARTITION_TABLE="gpt"
function post_family_tweaks__khadas-edge-2-firmware() {
display_alert "$BOARD" "Installing board tweaks" "info"
cp -R $SRC/packages/blobs/station/firmware/* $SDCARD/lib/firmware/
return 0
}

View File

@@ -0,0 +1,8 @@
# RISC-V Mangopi-MQ D1
BOARD_NAME="Mangopi-MQ"
BOARDFAMILY="d1"
KERNEL_TARGET="edge"
BOOT_FDT_FILE="allwinner/sun20i-d1-nezha.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0 earlycon=sbi cma=96M rootflags=data=writeback stmmaceth=chain_mode:1 rw"
BOOTCONFIG="nezha_defconfig"

View File

@@ -0,0 +1,18 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 1GBe eMMC USB3 SATA WiFi/BT
declare -g BOARD_NAME="Mekotronics R58 MiniPC"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g KERNEL_TARGET="legacy"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-minipc-linux.dtb" # Specific to this board
declare -g BOOT_SCENARIO="spl-blobs" # so we don't depend on defconfig naming convention
declare -g BOOTCONFIG="mekotronics-r58-rk3588_defconfig" # patched-in in BOOTPATCHDIR, set below.
# post_family_config which only runs when branch is legacy. a shortcut, to avoid if's. you're welcome.
function post_family_config_branch_legacy__uboot_mekotronics() {
display_alert "$BOARD" "Configuring Mekotronics R58 ($BOARD) u-boot" "info"
declare -g BOOTSOURCE='https://github.com/radxa/u-boot.git'
declare -g BOOTBRANCH='branch:stable-5.10-rock5'
declare -g OVERLAY_PREFIX='rockchip-rk3588'
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
declare -g BOOTDELAY=1 # build injects this into u-boot config. we can then get into UMS mode and avoid the whole rockusb/rkdeveloptool thing
}

View File

@@ -0,0 +1,18 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 2x1GBe eMMC USB3 NVMe SATA 4G WiFi/BT HDMI DP HDMI-In RS232 RS485
declare -g BOARD_NAME="Mekotronics R58X-4G"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g KERNEL_TARGET="legacy"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v12-linux.dtb" # Specific to this board
declare -g BOOT_SCENARIO="spl-blobs" # so we don't depend on defconfig naming convention
declare -g BOOTCONFIG="mekotronics-r58-rk3588_defconfig" # patched-in in BOOTPATCHDIR, set below.
# post_family_config which only runs when branch is legacy. a shortcut, to avoid if's. you're welcome.
function post_family_config_branch_legacy__uboot_mekotronics() {
display_alert "$BOARD" "Configuring Mekotronics R58 ($BOARD) u-boot" "info"
declare -g BOOTSOURCE='https://github.com/radxa/u-boot.git'
declare -g BOOTBRANCH='branch:stable-5.10-rock5'
declare -g OVERLAY_PREFIX='rockchip-rk3588'
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
declare -g BOOTDELAY=1 # build injects this into u-boot config. we can then get into UMS mode and avoid the whole rockusb/rkdeveloptool thing
}

View File

@@ -0,0 +1,18 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 2x1GBe eMMC USB3 NVMe SATA WiFi/BT HDMI DP HDMI-In RS232 RS485
declare -g BOARD_NAME="Mekotronics R58X-4G"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g KERNEL_TARGET="legacy"
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v10-linux.dtb" # Specific to this board
declare -g BOOT_SCENARIO="spl-blobs" # so we don't depend on defconfig naming convention
declare -g BOOTCONFIG="mekotronics-r58-rk3588_defconfig" # patched-in in BOOTPATCHDIR, set below.
# post_family_config which only runs when branch is legacy. a shortcut, to avoid if's. you're welcome.
function post_family_config_branch_legacy__uboot_mekotronics() {
display_alert "$BOARD" "Configuring Mekotronics R58 ($BOARD) u-boot" "info"
declare -g BOOTSOURCE='https://github.com/radxa/u-boot.git'
declare -g BOOTBRANCH='branch:stable-5.10-rock5'
declare -g OVERLAY_PREFIX='rockchip-rk3588'
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
declare -g BOOTDELAY=1 # build injects this into u-boot config. we can then get into UMS mode and avoid the whole rockusb/rkdeveloptool thing
}

View File

@@ -2,5 +2,5 @@
BOARD_NAME="MiQi"
BOARDFAMILY="rockchip"
BOOTCONFIG="miqi-rk3288_defconfig"
KERNEL_TARGET="legacy,current,edge"
KERNEL_TARGET="current,edge"

View File

@@ -9,3 +9,20 @@ BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3399-nanopc-t4.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS2,1500000 console=tty0"
function post_family_tweaks_bsp__nanopc-t4_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# need to swap chips in the service
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
fi
return 0
}

View File

@@ -9,3 +9,13 @@ MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima ha
SERIALCON="ttyS2:1500000,ttyGS0"
HAS_VIDEO_OUTPUT="no"
BOOT_FDT_FILE="rockchip/rk3328-nanopi-r2-rev06.dtb"
function post_family_tweaks__nanopi-r2c_rename_USB_LAN() {
display_alert "$BOARD" "Installing board tweaks" "info"
# rename USB based network to lan0
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="eth1", NAME="lan0"' > $SDCARD/etc/udev/rules.d/70-rename-lan.rules
return 0
}

View File

@@ -9,3 +9,13 @@ MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima ha
SERIALCON="ttyS2:1500000,ttyGS0"
HAS_VIDEO_OUTPUT="no"
BOOT_FDT_FILE="rockchip/rk3328-nanopi-r2-rev00.dtb"
function post_family_tweaks__nanopi-r2s_rename_USB_LAN() {
display_alert "$BOARD" "Installing board tweaks" "info"
# rename USB based network to lan0
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="eth1", NAME="lan0"' > $SDCARD/etc/udev/rules.d/70-rename-lan.rules
return 0
}

View File

@@ -8,3 +8,20 @@ MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima ha
HAS_VIDEO_OUTPUT="no"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
function post_family_tweaks_bsp__nanopi-r4s_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# need to swap chips in the service
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
fi
return 0
}

View File

@@ -0,0 +1,10 @@
# Rockchip RK3399 hexa core 4GB RAM SoC 2 x GBE 32GB eMMC USB3 USB-C
BOARD_NAME="NanoPi R4SE"
BOARDFAMILY="rk3399"
BOOTCONFIG="nanopi-r4se-rk3399_defconfig"
KERNEL_TARGET="current,edge"
DEFAULT_CONSOLE="serial"
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu panfrost"
HAS_VIDEO_OUTPUT="no"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"

View File

@@ -0,0 +1,23 @@
# Rockchip RK3588S octa core 8GB RAM SoC eMMC USB3 USB2 1x GbE 2x 2.5GbE
BOARD_NAME="NanoPi R6S"
BOARDFAMILY="rockchip-rk3588"
BOOTCONFIG="nanopi-r6s-rk3588s_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate
BOOT_SOC="rk3588"
KERNEL_TARGET="legacy"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588s-nanopi-r6s.dtb"
BOOT_SCENARIO="spl-blobs"
WIREGUARD="no"
IMAGE_PARTITION_TABLE="gpt"
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
BOOTFS_TYPE="fat"
function post_family_tweaks__nanopir6s_naming_audios() {
display_alert "$BOARD" "Renaming nanopir6s audio" "info"
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' >$SDCARD/etc/udev/rules.d/90-naming-audios.rules
return 0
}

View File

@@ -8,3 +8,29 @@ ASOUND_STATE="asound.state.rt5651"
BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
function post_family_tweaks__m4() {
display_alert "$BOARD" "Installing board tweaks" "info"
# enable fan support
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable nanopim4-pwm-fan.service >/dev/null 2>&1"
return 0
}
function post_family_tweaks_bsp__M4() {
display_alert "Installing BSP firmware and fixups"
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# Swap out the chip for some boards
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
# Fan support
cp $SRC/packages/bsp/nanopim4/nanopim4-pwm-fan.service $destination/lib/systemd/system/
install -m 755 $SRC/packages/bsp/nanopim4/nanopim4-pwm-fan.sh $destination/usr/bin/nanopim4-pwm-fan.sh
return 0
}

View File

@@ -1,8 +0,0 @@
# Rockchip RK3399 hexa core 4GB RAM SoC GBE eMMC USB3 USB-C WiFi/BT
BOARD_NAME="NanoPi M4V2"
BOARDFAMILY="rk3399"
BOOTCONFIG="nanopi-m4v2-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
ASOUND_STATE="asound.state.rt5651"
BOOT_LOGO="desktop"

View File

@@ -0,0 +1,34 @@
# Rockchip RK3399 hexa core 4GB RAM SoC GBE eMMC USB3 USB-C WiFi/BT
BOARD_NAME="NanoPi M4V2"
BOARDFAMILY="rk3399"
BOOTCONFIG="nanopi-m4v2-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
ASOUND_STATE="asound.state.rt5651"
BOOT_LOGO="desktop"
function post_family_tweaks__m4v2() {
display_alert "$BOARD" "Installing board tweaks" "info"
# enable fan support
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable nanopim4-pwm-fan.service >/dev/null 2>&1"
return 0
}
function post_family_tweaks_bsp__M4V2() {
display_alert "Installing BSP firmware and fixups"
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# Swap out the chip for some boards
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
# Fan support
cp $SRC/packages/bsp/nanopim4/nanopim4-pwm-fan.service $destination/lib/systemd/system/
install -m 755 $SRC/packages/bsp/nanopim4/nanopim4-pwm-fan.sh $destination/usr/bin/nanopim4-pwm-fan.sh
return 0
}

View File

@@ -9,3 +9,4 @@ DEFAULT_CONSOLE="serial"
SERIALCON="ttyS0,ttyGS0"
HAS_VIDEO_OUTPUT="no"
KERNEL_TARGET="legacy,current,edge"
BOOTBRANCH_BOARD="tag:v2022.04"

View File

@@ -5,3 +5,20 @@ BOOTCONFIG="nanopi-neo4-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
function post_family_tweaks_bsp__nanopineo4_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# need to swap chips in the service
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
fi
return 0
}

8
config/boards/nezha.wip Normal file
View File

@@ -0,0 +1,8 @@
# RISC-V Nezha D1
BOARD_NAME="Nezha"
BOARDFAMILY="d1"
KERNEL_TARGET="edge"
BOOT_FDT_FILE="all winner/sun20i-d1-nezha.dtb"
SRC_EXTLINUX="yes"
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0 earlycon=sbi cma=96M rootflags=data=writeback stmmaceth=chain_mode:1 rw"
BOOTCONFIG="nezha_defconfig"

View File

@@ -1,7 +1,7 @@
# Amlogic S805 C1 quad core 1GB RAM SoC GBE
BOARD_NAME="Odroid C1"
BOARDFAMILY="meson8b"
KERNEL_TARGET="legacy,current,edge"
KERNEL_TARGET="current,edge"
BOOTCONFIG="odroidc_config"
BOOTSCRIPT="boot-odroid-c1.ini:boot.ini"

View File

@@ -6,3 +6,4 @@ KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
ASOUND_STATE="asound.state.mesongx"
BOOTBRANCH_BOARD="tag:v2022.01"
BOOTPATCHDIR="v2022.01"

View File

@@ -8,12 +8,37 @@ SERIALCON="ttyAML0"
BOOT_FDT_FILE="amlogic/meson-sm1-odroid-hc4.dtb"
PACKAGE_LIST_BOARD="mtd-utils lm-sensors fancontrol" # SPI, sensors, manual fan control via 'pwmconfig'
# We build u-boot twice: C4 config for SD cards, and HC4 (with SATA) config for SPI.
# To be able to flash to SPI (via nand-sata-install), you need to use the C4 (SD) version.
UBOOT_TARGET_MAP="odroid-c4_defconfig u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img
odroid-hc4_defconfig u-boot-dtb.img;;u-boot.bin:u-boot-spi.bin"
# Newer u-boot for the HC4. There's patches in `board_odroidhc4` for the defconfigs used in the UBOOT_TARGET_MAP below.
BOOTBRANCH_BOARD="tag:v2023.01"
BOOTPATCHDIR="v2023.01"
# We build u-boot twice: odroid-hc4_sd_defconfig config for SD cards, and HC4 (with SATA/PCI/SPI) config for SPI.
# Go look at the related patches for speculations on why.
UBOOT_TARGET_MAP="
odroid-hc4_sd_defconfig u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img
odroid-hc4_defconfig u-boot-dtb.img;;u-boot.bin:u-boot-spi.bin
"
# The SPI version (u-boot-spi.bin, built from odroid-hc4_defconfig above) is then used by nand-sata-install
function write_uboot_platform_mtd() {
dd if=$1/u-boot-spi.bin of=/dev/mtdblock0
}
# @TODO: this is no longer needed in `edge` branch -- Neil has sent a patch with a trip for the cooling map in the DT - also doesn't hurt.
function post_family_tweaks__config_odroidhc4_fancontrol() {
display_alert "Configuring fancontrol" "for Odroid HC4" "info"
cat <<- FANCONTROL > "${SDCARD}"/etc/fancontrol
# Default config for the Odroid HC4 -- adjust to your needs (MINTEMP=40)
INTERVAL=10
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon2=devices/platform/pwm-fan
DEVNAME=hwmon0=cpu_thermal hwmon2=pwmfan
FCTEMPS=hwmon2/pwm1=hwmon0/temp1_input
FCFANS= hwmon2/pwm1=hwmon2/fan1_input
MINTEMP=hwmon2/pwm1=40
MAXTEMP=hwmon2/pwm1=60
MINSTART=hwmon2/pwm1=150
MINSTOP=hwmon2/pwm1=30
MAXPWM=hwmon2/pwm1=180
FANCONTROL
chroot_sdcard systemctl enable fancontrol.service
}

View File

@@ -11,3 +11,21 @@ DDR_BLOB="rk35/rk3568_ddr_1560MHz_v1.10.bin" # Real blob, is actually used. i
BL31_BLOB="rk35/rk356x_usbplug_v1.10.bin--FAKE" # Not really used for anything, as the name proves.
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
# Include fw_setenv, configured to point to Petitboot's u-env mtd partition, so users can re-enable Petitboot
# with `fw_setenv skip_spiboot false` in Armbian.
PACKAGE_LIST_BOARD="libubootenv-tool" # libubootenv-tool provides fw_printenv and fw_setenv, for talking to U-Boot environment / Petitboot
function post_family_tweaks__config_odroidm1_fwenv() {
display_alert "Configuring fw_printenv and fw_setenv" "for Odroid M1" "info"
# Addresses below come from
# - https://github.com/hardkernel/u-boot/blob/356906e6445378a45ac14ec184fc6e666b22338a/configs/odroid_rk3568_defconfig#L212-L213
# - https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts#L637-L662
# The kernel DT has a convenient partition table, so mtd1 is ready to use, just gotta set the size.
cat <<- 'FW_ENV_CONFIG' > "${SDCARD}"/etc/fw_env.config
# MTD on the SPI for the Odroid-M1; this requires the MTD partition table in the board kernel DTS
# MTD device name Device offset Env. size Flash sector size Number of sectors
/dev/mtd1 0x0000 0x20000
FW_ENV_CONFIG
}

View File

@@ -5,15 +5,14 @@ KERNEL_TARGET="current,edge"
FULL_DESKTOP="yes"
FORCE_BOOTSCRIPT_UPDATE="yes"
BOOT_LOGO="desktop"
# Odroid N2 requires Odroid's u-boot for legacy kernel booting.
# These vars will be handled by the family (meson-g12b.conf)
USE_ODROID_UBOOT="legacy"
BOOTCONFIG="odroid-n2_defconfig" # For mainline uboot
BOOTCONFIG_ODROID="odroidn2_config" # For odroid uboot
BOOTSCRIPT_ODROID="boot-odroid-n2.ini:boot.ini" # For odroid uboot, default BOOTSCRIPT is boot-meson64.cmd for mainline (in meson64_common.inc)
# Newer u-boot for the N2/N2+, less patches: a single boot order patch
BOOTBRANCH_BOARD="tag:v2022.10"
BOOTPATCHDIR="v2022.10"
# Enable writing u-boot to SPI on the N2(+) for current and edge
# @TODO: replace this with an overlay, after meson64 overlay revamp
# To enable the SPI NOR the -spi .dtb is required, because eMMC shares a pin with SPI on the N2(+). To use it:
# fdtfile=amlogic/meson-g12b-odroid-n2-plus-spi.dtb # in armbianEnv.txt and reboot, then run nand-sata-install
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img u-boot.bin:u-boot-spi.bin"
@@ -22,6 +21,7 @@ write_uboot_platform_mtd() {
}
# MAX might be different for N2/N2+, for now use N2+'s
# @TODO: remove? cpufreq is not used anymore, instead DT should be patched
CPUMIN=1000000
CPUMAX=2400000
GOVERNOR=performance # some people recommend performance to avoid random hangs after 24+ hours running.
@@ -30,3 +30,5 @@ GOVERNOR=performance # some people recommend performance to avoid random hangs a
# https://github.com/u-boot/u-boot/blob/v2021.04/board/amlogic/odroid-n2/odroid-n2.c#L35-L106
# Unfortunately it uses n2_plus instead of n2-plus as the Kernel expects it.
# So there is a hack at and around config/bootscripts/boot-meson64.cmd L90
# If needed (eg for extlinux) you can specify the N2/N2+/ DTB in BOOT_FDT_FILE, example for the N2+:
# BOOT_FDT_FILE="amlogic/meson-g12b-odroid-n2-plus.dtb"

View File

@@ -0,0 +1,20 @@
# Allwinner A64 quad core 2GB SoC Wi-Fi/BT Revision C
BOARD_NAME="OLIMEX Teres A64"
# Specified in https://linux-sunxi.org/Allwinner_SoC_Family
BOARDFAMILY="sun50iw1"
# Legacy has been removed as it's too old and disfunctional for this board
KERNEL_TARGET="current,edge"
# NOTE(Krey): IMAGE_PARTITION_TABLE="gpt" was not tested, uses msdos by default
# Enable serial console by default
DEFAULT_CONSOLE="serial"
SERIALCON="ttyS0:115200"
# Bootloader
BOOTCONFIG="teres_i_defconfig"
# NOTE(Krey): Pulseaudio is needed for the audio to work especially in pipewire configuration, I wasn't able to make it work just off of ALSA
PACKAGE_LIST_BOARD="pulseaudio"

View File

@@ -1,7 +1,7 @@
# Amlogic S805 quad core 1GB RAM SoC GBE
BOARD_NAME="OneCloud"
BOARDFAMILY="meson8b"
KERNEL_TARGET="legacy,current,edge"
KERNEL_TARGET="current,edge"
BOOTCONFIG="none"
BOOTSCRIPT="boot-onecloud.cmd:boot.cmd"

View File

@@ -9,3 +9,17 @@ HAS_VIDEO_OUTPUT="no"
DEFAULT_CONSOLE="serial"
SERIALCON="ttyS0,ttyGS0"
KERNEL_TARGET="current,edge"
function post_family_tweaks_bsp__orangepi-r1_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -4,8 +4,68 @@ BOARDFAMILY="rockchip64"
BOOTCONFIG="orangepi_r1_plus_lts_rk3328_defconfig"
KERNEL_TARGET="current,edge"
DEFAULT_CONSOLE="serial"
MODULES="g_serial"
MODULES="g_serial ledtrig_netdev"
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu"
SERIALCON="ttyS2:1500000,ttyGS0"
HAS_VIDEO_OUTPUT="no"
BOOT_FDT_FILE="rockchip/rk3328-orangepi-r1-plus-lts.dtb"
# SYS-TRIGGERED LEDs:
# NOTE: If LED funcionality is hard coded into an Armbian service for a board or family, it may override one or more of these settings.
# This will add a file /etc/armbian-leds.conf to the build to configure the three board LEDs.
# Green lan LED will flicker on lan0 RX. Green eth LED will flicker on eth0 RX.
# Red status led will display heartbeat pattern.
# For netdev trigger to work, ledtrig-netdev must be enabled in kernel.
# either in the board config file: e.g. MODULES="...,ledtrig_netdev"
# or in the family config file: e.g. CONFIG_LEDS_TRIGGER_NETDEV=y in linux-rockchip64-current.config
# Content:
function post_family_tweaks_bsp__enable_leds_orangepi_r1_plus_lts() {
display_alert "Creating board support LEDs config for orangepi-r1-plus-lts"
cat <<- EOF > "${destination}"/etc/armbian-leds.conf
[/sys/class/leds/orangepi-r1-plus-lts:green:lan]
trigger=netdev
interval=52
brightness=1
link=1
tx=0
rx=1
device_name=eth0
[/sys/class/leds/orangepi-r1-plus-lts:green:wan]
trigger=netdev
interval=52
brightness=1
link=1
tx=0
rx=1
device_name=lan0
[/sys/class/leds/orangepi-r1-plus-lts:red:status]
trigger=heartbeat
brightness=0
invert=0
EOF
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
# add a network rule to work-around Debian issues with two NICs on one network.
mkdir -p "${destination}"/etc/udev/rules.d/
cat <<- EOF > "${destination}"/etc/udev/rules.d/70-rename-lan.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="eth*", NAME="lan0", \
RUN+="/usr/sbin/ip link set lan0 down", \
RUN+="/usr/sbin/ip link set eth0 down", \
RUN+="/usr/bin/sleep 5s ", \
RUN+="/usr/sbin/ip link set eth0 up", \
RUN+="/usr/bin/sleep 10s ", \
RUN+="/usr/sbin/ip link set lan0 up"
EOF
}

View File

@@ -9,3 +9,27 @@ MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima ha
SERIALCON="ttyS2:1500000,ttyGS0"
HAS_VIDEO_OUTPUT="no"
BOOT_FDT_FILE="rockchip/rk3328-orangepi-r1-plus.dtb"
function post_family_tweaks__opi-r1plus_rename_USB_LAN() {
display_alert "$BOARD" "Installing board tweaks" "info"
# rename USB based network to lan0
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="eth1", NAME="lan0"' > $SDCARD/etc/udev/rules.d/70-rename-lan.rules
return 0
}
function post_family_tweaks_bsp__orangepi-r1plus_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -5,3 +5,20 @@ BOOTCONFIG="orangepi-rk3399_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
function post_family_tweaks_bsp__orangepi-rk3399_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
# need to swap chips in the service
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
fi
return 0
}

View File

@@ -3,3 +3,17 @@ BOARD_NAME="Orange Pi"
BOARDFAMILY="sun7i"
BOOTCONFIG="Orangepi_defconfig"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepi_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -3,3 +3,17 @@ BOARD_NAME="Orange Pi 2"
BOARDFAMILY="sun8i"
BOOTCONFIG="orangepi_2_defconfig"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepi2_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -1,8 +0,0 @@
# Allwinner H6 quad core 2GB RAM SoC GBE USB3
BOARD_NAME="Orange Pi 3 LTS"
BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_3_lts_defconfig"
KERNEL_TARGET="current,edge"
MODULES="sprdbt_tty sprdwl_ng"
MODULES_BLACKLIST_LEGACY="bcmdhd"
ATFBRANCH="tag:v2.2"

View File

@@ -0,0 +1,22 @@
# Allwinner H6 quad core 2GB RAM SoC GBE USB3
BOARD_NAME="Orange Pi 3 LTS"
BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_3_lts_defconfig"
KERNEL_TARGET="current,edge"
MODULES="sprdbt_tty sprdwl_ng"
MODULES_BLACKLIST_LEGACY="bcmdhd"
ATFBRANCH="tag:v2.2"
function post_family_tweaks_bsp__orangepi3-lts_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -1,7 +0,0 @@
# Allwinner H6 quad core 2GB RAM SoC GBE USB3
BOARD_NAME="Orange Pi 3"
BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_3_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
ATFBRANCH="tag:v2.2"

View File

@@ -0,0 +1,21 @@
# Allwinner H6 quad core 2GB RAM SoC GBE USB3
BOARD_NAME="Orange Pi 3"
BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_3_defconfig"
KERNEL_TARGET="legacy,current,edge"
FULL_DESKTOP="yes"
ATFBRANCH="tag:v2.2"
function post_family_tweaks_bsp__orangepi3_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -13,3 +13,23 @@ ASOUND_STATE="asound.state.rk3399"
BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
function post_family_tweaks_bsp__OPi4lts() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
# Bluetooth on orangepi 4 LTS board is handled by a Spreadtrum (sprd) chip and requires
# a custom hciattach_opi binary, plus a systemd service to run it at boot time
install -m 755 $SRC/packages/bsp/rk3399/hciattach_opi $destination/usr/bin
cp $SRC/packages/bsp/rk3399/sprd-bluetooth.service $destination/lib/systemd/system/
return 0
}

View File

@@ -8,3 +8,17 @@ ASOUND_STATE="asound.state.rt5651"
BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2022.04"
BOOTPATCHDIR="u-boot-rockchip64-v2022.04"
function post_family_tweaks_bsp__orangepi4_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -0,0 +1,53 @@
# Rockchip RK3588S octa core 4/8/16GB RAM SoC NVMe USB3 USB-C GbE
BOARD_NAME="Orange Pi 5"
BOARDFAMILY="rockchip-rk3588"
BOOTCONFIG="orangepi_5_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate
BOOT_SOC="rk3588"
KERNEL_TARGET="legacy"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588s-orangepi-5.dtb"
BOOT_SCENARIO="spl-blobs"
WIREGUARD="no"
BOOT_SUPPORT_SPI="yes"
BOOT_SPI_RKSPI_LOADER="yes"
IMAGE_PARTITION_TABLE="gpt"
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
BOOTFS_TYPE="fat"
function post_family_tweaks_bsp__orangepi5_copy_usb2_service() {
display_alert "Installing BSP firmware and fixups"
# Add USB2 init service. Otherwise, USB2 and TYPE-C won't work by default
cp $SRC/packages/bsp/orangepi5/orangepi5-usb2-init.service $destination/lib/systemd/system/
return 0
}
function post_family_tweaks__orangepi5_enable_usb2_service() {
display_alert "$BOARD" "Installing board tweaks" "info"
# enable usb2 init service
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable orangepi5-usb2-init.service >/dev/null 2>&1"
return 0
}
function post_family_tweaks__orangepi5_naming_audios() {
display_alert "$BOARD" "Renaming orangepi5 audios" "info"
mkdir -p $SDCARD/etc/udev/rules.d/
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
return 0
}
# Override family config for this board; let's avoid conditionals in family config.
function post_family_config__orangepi5_use_vendor_uboot() {
BOOTSOURCE='https://github.com/orangepi-xunlong/u-boot-orangepi.git'
BOOTBRANCH='branch:v2017.09-rk3588'
BOOTPATCHDIR="legacy"
}

View File

@@ -1,8 +0,0 @@
# Allwinner H3 quad core 512MB RAM WiFi
BOARD_NAME="Orange Pi Lite"
BOARDFAMILY="sun8i"
BOOTCONFIG="orangepi_lite_defconfig"
MODULES_LEGACY="g_serial"
MODULES_CURRENT="g_serial"
KERNEL_TARGET="legacy,current,edge"

View File

@@ -0,0 +1,21 @@
# Allwinner H3 quad core 512MB RAM WiFi
BOARD_NAME="Orange Pi Lite"
BOARDFAMILY="sun8i"
BOOTCONFIG="orangepi_lite_defconfig"
MODULES_LEGACY="g_serial"
MODULES_CURRENT="g_serial"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepilite_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -3,3 +3,17 @@ BOARD_NAME="Orange Pi Lite 2"
BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_lite2_defconfig"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepilite2_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -3,3 +3,17 @@ BOARD_NAME="Orange Pi Mini"
BOARDFAMILY="sun7i"
BOOTCONFIG="Orangepi_mini_defconfig"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepimini_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -1,5 +0,0 @@
# Allwinner H3 quad core 512MB RAM SoC
BOARD_NAME="Orange Pi One"
BOARDFAMILY="sun8i"
BOOTCONFIG="orangepi_one_defconfig"
KERNEL_TARGET="legacy,current,edge"

View File

@@ -0,0 +1,19 @@
# Allwinner H3 quad core 512MB RAM SoC
BOARD_NAME="Orange Pi One"
BOARDFAMILY="sun8i"
BOOTCONFIG="orangepi_one_defconfig"
KERNEL_TARGET="legacy,current,edge"
function post_family_tweaks_bsp__orangepione_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

View File

@@ -4,3 +4,17 @@ BOARDFAMILY="sun50iw6"
BOOTCONFIG="orangepi_one_plus_defconfig"
KERNEL_TARGET="legacy,current,edge"
ATFBRANCH="tag:v2.2"
function post_family_tweaks_bsp__orangepioneplus_BSP() {
display_alert "Installing BSP firmware and fixups"
if [[ $BRANCH == legacy ]]; then
# Bluetooth for most of others (custom patchram is needed only in legacy)
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
fi
return 0
}

Some files were not shown because too many files have changed in this diff Show More