Commit Graph

1976 Commits

Author SHA1 Message Date
Paolo
c27739943d
rockchip64: bump rockchip64-edge kernel to 6.4 (#5552)
undefined
2023-08-04 10:39:13 +02:00
Gunjan Gupta
154fdb83f9 Fix cryptroot setup with flash-kernel and ssh unlock on newer dropbear versions 2023-08-02 08:30:27 +02:00
Julian Sikorski
3d7e67431f Fix compiling rtl8189es, rtl8189fs and rtl8192eu 2023-07-29 15:47:24 +02:00
Ricardo Pardini
5db0066650 kernel / drivers-harness: use the kernel git SHA1 ($KERNEL_GIT_SHA1) instead of $KERNEL_MAJOR_MINOR for drivers cache key
- this should avoid (late) patching errors that might happen during a point release bump like `6.4.5` -> `6.4.6` cos we'd be using the wrong cached drivers patch
- using the SHA1 will instead (possibly) trigger the "real patching failure", during drivers-harness when building a new driver patch cache
- also try to cleanup old caches in the old format so we've not many leftovers -- each patch is ~150mb
2023-07-27 21:32:42 +02:00
Ricardo Pardini
953b9eb823 display-alert: strip newlines as well as ANSI colors if ANSI_COLOR=none
- `ANSI_COLOR=none` is used when we're driving compile.sh from Python
- some debugging messages had newlines in them, thus making Python mark those as `[LEAKED]`
2023-07-27 21:32:30 +02:00
Ricardo Pardini
ee3059eb2f pipeline: debs-to-repo-download is now done in parallel; default cores*2 limited to 16 or PARALLEL_DOWNLOADS_WORKERS
- also avoid log archiving during individual download jobs via SKIP_LOG_ARCHIVE=yes
- I've tested with PARALLEL_DOWNLOADS_WORKERS=16 and it saturates my gigabit link, ghcr.io is great at reads
- more than ~16-ish might be too much though
2023-07-27 21:32:19 +02:00
Ricardo Pardini
b92575381a pipeline: inventory all board vars; add not-eos-with-video; introduce TARGETS_FILTER_INCLUDE
> How to use:
>
> `./compile.sh inventory` - does just the board inventory; look for output in `output/info`
>
> `./compile.sh targets-dashboard` - does inventory, targets compositing, and images info; look for output in `output/info`, read the instructions output by the command if you want to load the OpenSearch dashboards.
>
> `./compile.sh targets` - does the full targets compositing and artifacts, look for output in `output/info`
>
> If you don't have a `userpatches/targets.yaml`, _one will be provided for you_ defaulting to Jammy minimal CLI
> and Jammy xfce desktop, for all boards in all branches. You can pass filters via `TARGETS_FILTER_INCLUDE=...` to narrow.
>

- board JSON inventory:
  - more generic regex parsing of variables from board files:
    - all top-level (non-indented) variables are parsed and included in the JSON board inventory
    - this allows us to add new variables to the board files without having to update the parser
    - variables can be bare, `export` or `declare -g`, but **_must_ be quoted** (single or double) and UPPER_CASE
  - some special treatment for certain variables:
    - `KERNEL_TARGET` is parsed as a _comma-separated_ list of valid BRANCH'es
    - `BOARD_MAINTAINER` is parsed as _space-separated_ list of valid maintainer GH usernames as `BOARD_MAINTAINERS: [...]` in the JSON
      - script complains if `BOARD_MAINTAINER` is not set in core boards. Empty is still allowed.
    - `HAS_VIDEO_OUTPUT="no"` causes `BOARD_HAS_VIDEO: false` in the JSON (for desktop-only inventorying, see below)
- introduce `not-eos-with-video` in `items-from-inventory` at the targets compositor
  - the same as `not-eos`, but with added `BOARD_HAS_VIDEO: true` filter, see above
- introduce `TARGETS_FILTER_INCLUDE` for targets compositor
  - this filters the targets _after_ compositing (but before getting image info), based on the board inventory data
  - it's a comma-separated list of `key:value` pairs, which are OR-ed together
  - new virtual info `BOARD_SLASH_BRANCH` post-compositing inventory for filtering of a specific BOARD/BRANCH combo (e.g. `odroidhc4/edge`)
  - some interesting possible filters:
    - `TARGETS_FILTER_INCLUDE="BOARD:odroidhc4"`: _only_ build a single board, all branches. JIRA [AR-1806]
    - `TARGETS_FILTER_INCLUDE="BOARD_SLASH_BRANCH:odroidhc4/current"`: _only_ build a single board/branch combo
    - `TARGETS_FILTER_INCLUDE="BOARD:odroidhc4,BOARD:odroidn2"`: _only_ build _two_ boards, all branches.
    - `TARGETS_FILTER_INCLUDE="BOARD_MAINTAINERS:rpardini"`: build all boards and branches where rpardini is a maintainer
    - `TARGETS_FILTER_INCLUDE="BOARDFAMILY:rockchip64"`: build all boards and branches in the rockchip64 family
  - image-info-only variables like `LINUXFAMILY` is **not** available for filtering at this stage
- rename `config/templates` `targets-all-cli.yaml` to `targets-default.yaml`
    - this is used when no `userpatches/targets.yaml` is found
    - new default includes all boards vs branches for non-EOS boards
        - also desktop for all boards that _don't_ have `HAS_VIDEO_OUTPUT='no``
- introduce simplified `targets-dashboard` CLI:
  - does only inventory, compositing, and image info, but not artifact reducing, etc.
  - ignore desktop builds in the OpenSearch indexer
  - update the OpenSearch Dashboards, including new information now available
- invert the logic used for `CLEAN_INFO` and `CLEAN_MATRIX`
    - defaults to `yes` now, so new users/CI don't get hit by stale caches by default
    - repo pipeline CLI stuff is usually run on saved/restored artifacts for `output/info`, so don't clean by default via the CLI
2023-07-26 15:15:02 +02:00
Ricardo Pardini
eab306b279 tmpfs: introduce USE_TMPFS=no to disable tmpfs usage for WORKDIR and package-specific working dirs; actually use $temp_dir_id for mktemp; see #5502
- `USE_TMPFS=no` disables usage of generic tmpfs mechanism (still possibly used for rootfs/image building, which is unrelated), for last-resort cases
- use better/more descriptive `temp_dir_id`'s for kernel build than `k` (now `kernel_dest_install_dir`) and `kd` (now `kernel_debs_temp_dir`)
  - specific image/dtb/headers packaging already had decent names, same for other .deb's
- replace `mktemp -d` with `mktemp -d --tmpdir "${temp_dir_id}-XXXXX"` in `prepare_temp_dir_in_workdir_and_schedule_cleanup()`, so we know what's using what in tmpfs
2023-07-24 23:19:15 +02:00
Patrick Yavitz
88a19f5d82 drivers: net: wireless: realtek: rtw88: upstream-wireless
This commit is cosmetic; git format-patch

Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
2023-07-23 17:00:03 +02:00
Gunjan Gupta
bc0e131747 Enforce use of bind mount for /dev within chroot
The /dev/mapper directory created by devtmpfs lacked entry for
armbian-root thereby breaking the cryptsetup configuration generated
within initrd file. Use bind mount as that doesn't seem to suffer from
that issue.
2023-07-22 02:18:49 +05:30
Gunjan Gupta
37d79f1ee2 Fix cache miss detection for initrd
We were not monitoring /usr/share/initramfs-tools before where most
of extra hooks gets installed. While testing builds with CRYPTROOT
I created build with dropbear ssh key unlock support first and then
went for password only, but it still used initrd image with dropbear
files and older keys. Including /usr/share/initramfs-tools fixes the
same. Also as dropbear keys were autogenerated, they needed to be
monitored as well.
2023-07-22 02:18:49 +05:30
Gunjan Gupta
2bf0ddc034 Fix intermitent loop device not available error when CRYPTROOT_ENABLE is enabled 2023-07-22 02:18:49 +05:30
Gunjan Gupta
909fa47b7e Fix caching of cryptroot packages. Also moved the crypt code to extension 2023-07-22 02:18:49 +05:30
Ricardo Pardini
9b70101d07 artifact: kernel: force D0000 drivers hash for artifact_version if EXTRAWIFI=no 2023-07-20 01:03:43 +02:00
Jacob Hrbek
6556a3a77e Add compatibility for non-FHS 3.0 systems
* Added `shell.nix` definition for temporary development environment for Nix(OS)
* Set uuidgen and other binaries check to not rely on hard-codded paths
2023-07-19 23:16:22 +02:00
Gunjan Gupta
2660eaeff0 lib: functions: compilation: Make it possible to toggle EXTRAWIFI
With this change, setting EXTRAWIFI=no will disable all wireless
patches applied within drivers_network.sh script. Also since #5265
the rtl88x2cs patches were suppose to be not applied to 6.1+ kernel
onwards, instead they were disabled entirely. As this was done by
adding EXTRAWIFI=no, its now replaced with kernel version limit.
Keeping EXTRAWIFI=no there would have made those patches to apply
which would have changed the meaning of the flag.
2023-07-20 02:35:17 +05:30
Igor Pecovnik
d56b56edbb Revert "armbian-desktop/aggregation: introduce DESKTOP_COMMON aggregation variant, where arch/config/appgroups are ignored; see #5439"
This reverts commit f952ae89fb.
2023-07-19 01:02:23 +02:00
Ricardo Pardini
a4c703dfb0 partitioning: declare global readonly ROOT_PART_UUID for later hooks
- re-use local `root_part_uuid` instead of running blkid multiple times
2023-07-18 14:21:01 +02:00
Ricardo Pardini
f952ae89fb armbian-desktop/aggregation: introduce DESKTOP_COMMON aggregation variant, where arch/config/appgroups are ignored; see #5439 2023-07-18 14:20:44 +02:00
Alban Browaeys
99ca2142a6 Fixup for stale kickoff removal in wireless regulator API
Cope with the fix in stable 6.3.13 bf353116d1bf and 6.5-rc1 e8c2af660ba0
"wifi: cfg80211: fix regulatory disconnect with OCB/NAN".
That is the removal of REGULATORY_IGNORE_STALE_KICKOFF
from the wireless regulator internal API to fix any driver
that allowed OCB/NAN.

Note this code will need to be expanded once and if 6.4 include the
above fixup.

Signed-off-by: Alban Browaeys <alban.browaeys@gmail.com>
2023-07-18 14:16:50 +02:00
Ricardo Pardini
3970058720 uboot: allow adding/changing uboot CFLAGS with post_config_uboot_target() hook 2023-07-12 00:51:21 +02:00
Ricardo Pardini
3262f6fcab drivers-harness: add branch to drivers base cache key declare cache_key_base="${KERNEL_MAJOR_MINOR}_${LINUXFAMILY}_${BRANCH}"
- this allows for 2 branches with the same version to not interfere with each other
2023-07-12 00:51:01 +02:00
Ricardo Pardini
718047cfd7 interactive: show all possible KERNEL_TARGET's in branch selection UI; handle current/edge/legacy, others are "experimental"
- remove `midstream` special handling
2023-07-12 02:41:02 +05:30
Patrick Yavitz
2b5e341220 rtw88: sdio: honor the host max_req_size in the rx path
Use multiple consecutive reads in rtw_sdio_read_port() to limit the number of bytes which are copied by the host from the card in one MMC/SDIO transfer. This allows receiving a buffer that's larger than the hosts max_req_size (number of bytes which can be transferred in one MMC/SDIO transfer). As a result of this the skb_over_panic error is gone as the rtw88 driver is now able to receive more than 1536 bytes from the card (either because the incoming packet is larger than that or because multiple packets have been aggregated).

Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
2023-07-11 11:15:15 +02:00
Ricardo Pardini
6cd3cbbf6b kernel-debs: headers: hack/fix for 6.5-rc1's "tools/counter: Makefile: Remove lingering 'include' directories on make clean"
- introduced at 228354ed69
  - simply creating the dir solves it
  - reported to author, let's hope for an -rc2 fix.
- better logging when DEBUG=yes (don't pass "-s"(ilent) to make clean)
2023-07-11 11:14:41 +02:00
Gunjan Gupta
95687ba057 Remove plymouth package if its not needed 2023-07-10 08:57:48 +02:00
Gunjan Gupta
60fd20a720 kernel: sunxi: make use of patches from driver harness 2023-07-10 08:56:18 +02:00
Gunjan Gupta
1d89a9f65a Make sure we upgrade armbian-bsp-cli package 2023-07-08 00:05:58 +05:30
Ricardo Pardini
38149f278f debs: remove Installed-Size: 1 from control files; Installed-Size is properly calculated at fakeroot_dpkg_deb_build() for all packages 2023-07-05 21:22:47 +02:00
Ricardo Pardini
c5fe25aa17 partitioning: move hook call image_specific_armbian_env_ready() after the end of related manipulations
- depending on rootpart/extlinux/boot.ini it might not have run or had any effect
2023-07-04 03:09:07 +05:30
Patrick Yavitz
6e6ed0e88e patch: misc: rtw88: decrease the log level of tx report
Reduce 'failed to get tx report from firmware' dmesg spam.
https://lore.kernel.org/linux-wireless/20210713104524.47101-1-pkshih@realtek.com/

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2023-07-01 23:44:02 +02:00
Gunjan Gupta
2cae0b9422 artifacts: fix hashing for u-boot and kernel 2023-07-02 02:44:41 +05:30
Ricardo Pardini
bd56746146 python2/python3: symlink python3 as python/python2 if python2 is not found in host
- this _might_ allow some u-boots to build on bookworm/sid/etc (python2-less build hosts)
2023-07-01 21:49:08 +02:00
Ricardo Pardini
e6f70a3573 docker: default COLUMNS env var to 160 if unset / not-interactive 2023-07-01 14:55:49 +02:00
Lane Jennison
ad97c1b7ee rockchip-rk3588 collabora: new branch (by @lanefu)
- `bsdextrautils` for kernel 6.4 (only if collabora branch)
- kernel 6.4 major, but skip rtw88 driver patching
2023-07-01 14:50:35 +02:00
Ricardo Pardini
079549b7fb u-boot: log what the BOOTCONFIG is when building 2023-07-01 14:50:05 +02:00
Ricardo Pardini
ba71419b58 artifact-uboot: hack: add rkbin blob paths to variables hashed (otherwise changes aren't picked up)
- this definitely needs re-thinking later, each family might have completely different requirements (eg: meson64's FIPs vs rk's rkbins vs ...)
2023-06-28 21:27:09 +02:00
Ricardo Pardini
3324449fbe kernel drivers: introduce KERNEL_DRIVERS_SKIP array to allow families to skip certain kernel drivers
- move rtw88's skip's from drivers_network.sh to their own family definitions
2023-06-28 21:26:54 +02:00
Ricardo Pardini
8b0fb1537b meson-{sm1|g12a|g12b}: default, but don't override, ASOUND_STATE; this way board-specific asound.state's are honored
- add logging during actual deployment so we know what is happening
2023-06-27 11:39:36 +02:00
Ricardo Pardini
8e4ca7d36a armbian-kernel: was too hungry in disabling kernel debug, let DEBUG_MISC & SLUB_DEBUG alone 2023-06-26 21:34:43 +02:00
Ricardo Pardini
97dbec7717 armbian-kernel: further insist on disabling kernel debug, since DEBUG_INFO is auto-enabled by DEBUG_INFO_DWARF5 and others 2023-06-26 13:51:46 +02:00
Patrick Yavitz
da0f7467a4 patch/misc/rtw88: wireless-next 2023-06-22
This brings the patch set up to 2023-06-22 wireless-next

Drivers tested;
8822CS. 8821CU and 8723DS

Notables;
Not seeing random dmesg spam `rtw_8822cs failed to get tx report from firmware` which I would see on both the CS and CU from time to time.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2023-06-26 13:46:40 +02:00
Jens J
42de8b678c handle kernel.org forks 2023-06-26 13:45:04 +02:00
Igor
e4115ad23b Disale wireless driver for private kernel 2023-06-20 23:07:22 +02:00
Gunjan Gupta
8278dc5e42 allwinner: Enable crust compilation 2023-06-20 21:36:31 +02:00
Patrick Yavitz
dc9fd25644 drivers_network.sh: driver_rtw88: reflect patching update
commit: 5810f041a6
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2023-06-19 22:06:47 +02:00
Patrick Yavitz
bea8a7cde9 patch: misc: rtw88: temporary workarounds
Review patches for information on the subject.
Tested on: BPI-CM4, X96-AIR and Tinkerboard R2

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2023-06-19 22:06:47 +02:00
Patrick Yavitz
61aee9857c patch: misc: rtw88: 6.1 / 6.2 / 6.3 / 6.4: backport updates
Patch set includes a complete backport of RTW88 as it currently stands, along with extras

Extra:
Patch: RTL8723DS (SDIO)
Patch: _rtw_download_firmware()  warn: missing unwind goto?

Hack: SDIO RX Aggregation Limiting
I only have two units available to me with an 8822CS module and in my testing this is only required on the BPI-CM4IO. With out LIMITING the unit will either kernel panic or not be able to send or receive.

This is currently being looked into:
https://lore.kernel.org/linux-wireless/CAFBinCBaXtebixKbjkWKW_WXc5k=NdGNaGUjVE8NCPNxOhsb2g@mail.gmail.com/T/#u

It may be possible to just set LIMITING across all builds, but that to me seems like a poor choice. This requires testing.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2023-06-19 22:06:47 +02:00
Michael Beck
fae99241a9
Added "midstream" to the interactive config kernel branch selection. (#5349)
Co-authored-by: Michael Beck <beck.xt3@gmail.com>
2023-06-19 22:03:07 +02:00
Igor
50a7936cad Disable RTW88 on midstream kernel as it breaks building 2023-06-16 10:30:21 +02:00