Commit Graph

12256 Commits

Author SHA1 Message Date
Patrick Yavitz
94f7bfff89 packages: bsp: odroid: fanctrl: maintenance
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
2023-08-20 19:20:06 +02:00
Patrick Yavitz
40530ee344 Improve Meson64 Support: ODROID
Backport DTS/DTSI changes from linux-6.4.y to 6.1.y
Add meson64-reboot driver to all boards
Add board: ODROID N2L
Add uart_A uart_AO_B uart_B uart_C where appropriate
U-Boot v2023.07.02: ODROID N2/N2L/N2Plus/C4

Meson64-reboot driver: (source: tobetter)
While the current meson64-reboot driver is cleaner and doesn't
depend on modding other kernel sources, its functionality leaves
much to be desired. One example can be found in the ODROID C4.
Using the current driver, the board will not properly power off,
leaving the POWER LED still on. The new driver powers off the unit
completely.

Fan control: (ODROID N2L/N2PLus)
Added service and script for controlling the trip point.
fanctrl: arguments: 65 55 45 35 25 menu run

                              ┌──┤ Fan Control ├──┐
                              │                   │
                              │    6) 65°C        │
                              │    5) 55°C        │
                              │    4) 45°C        │
                              │    3) 35°C        │
                              │    2) 25°C        │
                              │    E) Exit ..     │
                              │                   │
                              │                   │
                              │      <Ok>         │
                              │                   │
                              └───────────────────┘

NOTES: (N2L/HC4): I do not own the units so I can't run tests.

Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
2023-08-20 19:20:06 +02:00
Igor Pecovnik
fb4774e2f4 Add two popular MT7921U devices to the driver pid so they work OOB
Signed-off-by: Igor <igor@armbian.com>
2023-08-20 19:19:44 +02:00
Ricardo Pardini
cc8ad531fb khadas-vim4: add modprobe config to avoid kernel panic during ISP firmware loading
- See https://armbian.atlassian.net/browse/AR-1801?focusedCommentId=11995
2023-08-19 17:38:53 +02:00
lanefu
e53ca77e51
Rock 4SE: change uboot defconfig (#5612)
* rock 4se uboot use rockpi4 defconfig for now
2023-08-18 15:04:59 -04:00
Patrick Yavitz
b4c379e391 general: extra: meson64 overlays
meson-sm1-bananapi-rtl8822cs.dtbo

Although the exp board target is for the M5 it also works
on the BananaPi M2S. Tested on the BPI-M2S.

Add support for the RTL8822CS expansion board.
https://wiki.banana-pi.org/Banana_Pi_BPI-M5#Wifi_.26_BT_support_via_expansion_board

Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
2023-08-18 17:46:49 +02:00
Phani Pavan Kambhampati
823738dedd Update armbian-add-overlay
added another case to handle stray spaces and to not add a space if no overlays are already present.
2023-08-18 17:11:51 +02:00
Lu jicong
dcd5c1c942 nanopc t4: set BOOT_SCENARIO to "spl-blobs"
Some sd cards are unable to access in uboot when using miniloader
These cards are able to access when using spl instead
Spl is not related to DDR initialization so it is unlikely to introduce
DDR problems
2023-08-18 17:11:16 +02:00
Igor
cf884049f2 Enable on remaining ones 2023-08-18 17:10:56 +02:00
gaaichan
325711eb0a enable build option with mt7921u 2023-08-18 17:10:56 +02:00
Igor
5a2e6a2f63 Add support for most recent memory chips on BPi M5 / M2PRO
Signed-off-by: Igor <igor@armbian.com>
2023-08-18 17:10:42 +02:00
Igor
f3736c990a Add functionality to delete packages from a list
Signed-off-by: Igor <igor@armbian.com>
2023-08-18 13:39:24 +02:00
Lane Jennison
d5d178d8f5 add CSC board: rock 4SE -- remember its not rockpi 4SE its rock 4SE 2023-08-18 09:09:25 +02:00
Kreyren
09fe68cd59 Address https://github.com/armbian/build/pull/5597#issuecomment-1679089917 2023-08-17 22:09:33 +02:00
Kreyren
d9c10acb07 Better output
Address https://github.com/armbian/build/pull/5597#issuecomment-1679030905

@viraniac plz review
2023-08-17 22:09:33 +02:00
Kreyren
40bfcfe0f1 utils-dpkgdeb: Add alert for compressing
The command takes long time to continue and it makes it seem like the build halted, so this adds an alert to mitigate this
2023-08-17 22:09:33 +02:00
Igor
2a8cb5793f Removing exceptions needed to support riscv64 withing Debian
Signed-off-by: Igor <igor@armbian.com>
2023-08-17 22:09:05 +02:00
igorpecovnik
d57e365e67 Update report 2023-08-17 22:08:36 +02:00
Tony
5a19f70f9d
RK OC overlays for 6.4 update (#5602) 2023-08-17 14:43:32 -04:00
Tony
214fecf045
rockchip64: bump atf to lts v2.8 (#5604) 2023-08-17 10:25:15 -04:00
Gunjan Gupta
02051676b0 meson-s4t7: Enable dtbo support
The support is implemented by using dtbo files supplied by Khadas directly
in the linux-dtb package. The files are not compiled just copied.
2023-08-15 16:03:24 +02:00
Ricardo Pardini
72883cb07c khadas boards: VIM1S/3/3L/4/Edge2: add KHADAS_OOWOW_BOARD_ID definition for use with oowow (EXT=image-output-oowow) 2023-08-15 18:53:55 +05:30
Ricardo Pardini
24db9fb2ec extensions: image-output-oowow: creates Khadas oowow compatible images
- requires `KHADAS_OOWOW_BOARD_ID` set in board file (see next commit)
- always produces xz-compressed images, so this automatically disables `COMPRESS_OUTPUTIMAGE`
- uses `xze` script from Khadas, forcing `IN` and `OUT` env vars so it's not confused by fd 1
- to use, add `EXT=image-output-oowow` parameter to build
- to get into oowow:
    - VIM3/VIM3L:
        - download oowow SD card image from Khadas:
            - VIM3: https://dl.khadas.com/products/oowow/system/vim3-oowow-latest-sd.img.gz
            - VIM3L: https://dl.khadas.com/products/oowow/system/vim3l-oowow-latest-sd.img.gz
        - write image to SD card, use BalenaEtcher or similar
        - insert SD card into board (and remove NVMe if present and bootable)
        - boot board into Upgrade mode, see https://docs.khadas.com/products/sbc/vim3/install-os/boot-into-upgrade-mode
        - oowow should be running now
        - recommended: go into Advanced and reset to factory defaults, so MCU, PCIe/USB3 etc is reset to defaults
    - VIM4/VIM4N/VIM1S/Edge2: those have oowow in SPI from factory, check out the manual
- there's a few ways to use these images with oowow:
    - Using External media
        - prepare media (USB), format it with ext4 or fat, copy produced oowow.img.xz to it
            - for ease of use, rename the image file, so it begins with the board-id (`vim1s-/vim4-/edge2-` etc)
        - boot board into oowow  (see oowow's manual)
        - insert media into board
        - exit wizard, use "Write image to eMMC", browse to "../"
            - change from "XXXX only" to "All" if you didn't rename the image
        - choose image file and write
        - (remove SD card if using one) and reboot
    - Via network (Ethernet or Wi-Fi)
        - boot board into oowow
        - plug in Ethernet cable or connect to Wi-Fi (see oowow's manual)
        - set the firewall mode to "allow" in oowow's Network Settings (see oowow's manual)
        - obtain the IP address of the board in oowow (usually shown on top of the screen, or see manual)
        - from a remote machine, use curl to upload and write the image to oowow's eMMC, example:
            - `curl -L <ip_address>/shell/write | sh -s - <image_filename>.oowow.img.xz`
        - reboot board
    - From the Internet (one day)
        - when Khadas publishes Armbian oowow images to their HTTP server
2023-08-15 18:53:55 +05:30
igorpecovnik
6cf5f41b55 Update report 2023-08-15 14:29:15 +02:00
chainsx
90c05bac23 licheepi-4a: add a .wip for Sipeed LicheePi 4A board 2023-08-14 09:21:42 +02:00
amazingfate
e474a71b5d toggle rk35xx legacy kernel to sdk rkr5.1 2023-08-14 09:20:49 +02:00
Igor Pecovnik
b26efad047 Remove deprecated patches 2023-08-14 09:03:23 +02:00
lanefu
48a788c762
move to csc and standard rockchip64 kernel (#5587) 2023-08-13 15:35:01 -04:00
Ricardo Pardini
24ee25e0c9 trap-logging: don't export markdown logs and GHA summary unless GHA_EXPORT_MD_SUMMARY=yes (try to make unicorns go away) 2023-08-12 12:04:22 +02:00
Joshua-Riek
8dbe1d7ab6 add nvme boot support for the nanopc t6 2023-08-12 10:05:20 +02:00
Ricardo Pardini
c9b5b7462d u-boot-menu: curb logging, no need to emit warn's here 2023-08-12 10:05:02 +02:00
Julian Sikorski
f0b8102718 Update odroidxu4-current to 5.4.253 2023-08-12 10:04:46 +02:00
Muhammed Efe Cetin
c6ba2283a7 rk3588: edge: update kernel to 6.5-rc5 and fix its timeout issue 2023-08-12 10:04:30 +02:00
Muhammed Efe Cetin
c268d2f916 opi5-plus: add initial support for edge kernel 2023-08-12 10:04:30 +02:00
Muhammed Efe Cetin
607ae37caa rk3588: edge: update patches according to kernel mailing and collabora 2023-08-12 10:04:30 +02:00
Muhammed Efe Cetin
bc073ff3a5 opi5: edge: update some nodes on devicetree 2023-08-12 10:04:30 +02:00
Gunjan Gupta
c9997723b4 Allwiner: bump legacy, current and edge kernel
legacy - 5.15.124 -> 5.15.126
current - 6.1.43 -> 6.1.45
edge - 6.4.8 -> 6.4.10
2023-08-12 10:00:10 +02:00
Igor Pecovnik
c2f213a6f6 Internal: repository management will run on same host
Move executing check from the script
2023-08-12 09:59:53 +02:00
Igor Pecovnik
41a88f6f5c Disable external wireless drivers on mt7623 legacy 2023-08-12 09:59:26 +02:00
Ricardo Pardini
69b212a7d7 artifact-{bsp-cli,kernel,uboot}: fix missing vars_config_hash "variables hash" in artifact_version_reason 2023-08-12 09:58:32 +02:00
Ricardo Pardini
83eff4aa3c kernel: fix: when KERNEL_SKIP_MAKEFILE_VERSION=yes, use 1- prefix for artifact_version (eg odroidxu4) 2023-08-12 09:58:32 +02:00
Ricardo Pardini
9de2ccdbdf start-end: undo unintentional damage done to python/python2 compatibility symlinks inside the BIN_WORK_DIR 2023-08-12 09:58:32 +02:00
Ricardo Pardini
df34679533 store dict of artifacts actually installed in image; use it to freeze (BSPFREEZE=yes) and check hashes without spurious errors
- eg: `linux-headers` might, or might not, be installed; same with bsp-cli transitional
- accidentally fixes [AR-1802]
2023-08-12 09:58:32 +02:00
Ricardo Pardini
622ef30f3c adapt obtain_complete_artifact() and friends to new reversioned scheme; introduce UPLOAD_TO_OCI_ONLY=yes for deploying to remote cache
> tl-dr: only deploys to remote OCI if `UPLOAD_TO_OCI_ONLY=yes`; stop leaving junk behind in local cache in many situations

- simplify CLI artifact building parameters and behaviour
    - `ARTIFACT_USE_CACHE` is now deprecated, and its behaviour is the default
    - for _any_ uploading to OCI to occur, `UPLOAD_TO_OCI_ONLY=yes` **must** be present; in this case, reversioning is not done
    - `FORCE_ARTIFACTS_DOWNLOAD` is completely removed (use `download-artifact` instead)
    - `cli_obtain_complete_artifact()`'s and `build_artifact_for_image()`'s reversioning is now moved to common `obtain_complete_artifact()`
- `standard_artifact_reversion_for_deployment()`:
    - check for hashed deb existence only if reversioned does not exist
    - touch the reversioned file if it already exists; helps to clean up junk later
    - delete hashed version after reversioning, so we don't leave trash behind
        - unless in `download-artifact` mode, which `touch`es the hashed version
        - we can later delete old files from packages-hashed to keep junk under control
- refactor `obtain_complete_artifact()`
    - extract function `artifact_dump_json_info()` since obtain is large enough already
    - when deploying to remote, always ignore all local and remote caches
    - introduce `artifact_is_available_in_revisioned_local_cache()`
        - if not deploying to remote, and revisioned cache exists, use it directly
        - if deploying to remote, reversioned is not checked and not created
    - if deploying to remote, force `DEB_COMPRESS=xz`
    - if deploying to remote, completely remove the local cache base dir after upload is done (no more junk leftover)
2023-08-12 09:58:32 +02:00
Ricardo Pardini
413212ab24 artifacts: obtain: back to using flat output/debs structure, include revisioned and hashed in filename, but no subdirectories
- handle the `global` artifact_deb_repo case specially (they go in the root, not subdir)
2023-08-12 09:58:32 +02:00
Ricardo Pardini
bd5a577e40 pipeline: streamline output-debs-to-repo-json to pass down info and avoid parsing paths completely 2023-08-12 09:58:32 +02:00
Ricardo Pardini
4624b581da pipeline: force compositor to include REVISION= just like it already did for BETA=
- this way the prepare step's REVISION (possibly passed via CLI parameter) is always sovereign
2023-08-12 09:58:32 +02:00
Ricardo Pardini
be11e171a8 main-config: allow using REVISION from env or command-line param; ensure it begins with digit 2023-08-12 09:58:32 +02:00
Ricardo Pardini
2142f73b97 hashed-OCI-revisioned-debs: introduce "reversioning" of .deb packages
> tl-dr:
> - maximize OCI cache hit ratio across nightlies/releases/PRs/etc;
> - publish simple `Version:`'s that don't include a crazy hash in repo and images
> - introduce `output/packages-hashed` directory
> - radically change the `output/debs` directory structure

- simplify artifact's `prepare_version()` method for `deb` and `deb-tar` artifacts:
  - `artifact_base_dir` and `artifact_final_file` will now be auto-calculated; thus removed from each artifact (except `rootfs`)
  - `artifact_deb_repo` ("global", "jammy", "bookworm") is now required; "global" means common across all RELEASES
  - `artifact_deb_arch` is now required, "all" is arch-independent, otherwise use `${ARCH}`
  - `artifact_map_debs` is now auto-calculated based on the above, and shouldn't be specified manually
  - `artifact_final_version_reversioned` is optional, and can force the final version of the artifact (specific for the `base-files` case)
  - artifacts that need special handling for reversioning can add function names to `artifact_debs_reversion_functions` array (`base-files` and `bsp-cli` cases)
  - artifacts `prepare_version()` should set `artifact_version`, but _never_ include it in other variables; `artifact_version` is now changed by framework after `prepare_version()` returns
- no longer use/refer/mention `${REVISION}` when building packages. All packages should be `${REVISION}`-agnostic.
- `${REVISION}` (actually, `artifact_final_version_reversioned`) will be automatically swapped in the `control` file during reversioning
- `fakeroot_dpkg_deb_build()` now takes exactly two arguments: the directory to pack, and the deb ID (key of `artifact_map_packages` dict); add this change in all the artifact's code for this
- `obtain_complete_artifact()`:
  - automatically adds `-Rxxxx` "revisioning-hash" to `artifact_version`, by hashing the revisioning functions and any `artifact_debs_reversion_functions` set
  - calculates more complex subdirectory paths for both the `output/packages-hashed` and `output/debs`/`output/debs-beta` directories
    - with the new subdirectories we can be sure a re-version is already done correctly and can skip it (eg, for partial `download-debs` re-runs)
    - in the future we can automatically clean/remove old versions that are no longer relevant based on the dir structure
    - exports a lot more information to JSON, including the new subdirectory paths
  - comment-out code that implemented `skip_unpack_if_found_in_caches`, I'm very unsure why we had this in the first place
- `obtain_artifact_from_remote_cache()`
  - for `deb` type artifacts, OCI won't preserve the subdirectory structure, so move downloaded files to the correct subdirectory manually
  - this is not needed for `deb-tar`, since that can preserve the dir structure itself
- introduce `artifacts-reversion.sh` and its main function `artifact_reversion_for_deployment()`
  - this has the logic for reversioning .deb's, by `ar`-unpacking them, changing `control.tar` (and possibly `data.tar`), handling `.xz` compression, etc.
  - also handles hashing those functions, for consistency. Any changes in reversioning code actually change the artifact itself so we're not caught by surprise
  - by default, it changes `control` file only:
    - replace `Version:` (which is the hash-version originally) with `artifact_final_version_reversioned` (which is mostly just `${REVISION}`)
    - add a custom field `Armbian-Original-Hash:` with the original hash-version
  - `artifact_reversion_for_deployment()` is called by
    - new CLI wrapper `cli_obtain_complete_artifact()`, used for CLI building of specific artifact, but also for `download-artifact`
    - `build_artifact_for_image()` used during image build
- `armbian-bsp-cli-deb.sh`: move `${REVISION}` related stuff from the main package build to new reversioning functions.
- `artifact-armbian-base-files.sh`: move `${REVISION}` related stuff from the main package build to new reversioning functions.
- `kernel`:
  - add some custom fields to `DEBIAN/control`:
    - `Armbian-Kernel-Version:` / `Armbian-Kernel-Version-Family:` (for future use: cleanup of usage of `Source: ` field which should be removed)
  - declutter the `Description:` field, moving long description out of the first line
  - obtain `IMAGE_INSTALLED_KERNEL_VERSION` from the reversioned deb (this is still a hack and has not been fixed)
- `uboot`:
  - declutter the `Description:` field, moving long description out of the first line
  - use the reversioned .deb when deploying u-boot to the image
- `main_default_build_packages()` now stores reversioned values and complete paths to reversioned .deb's
- `list_installed_packages()` now compares custom field `Armbian-Original-Hash: `, and not the `Version:` to make sure debs in the image are the ones we want
- `install_artifact_deb_chroot()` is a new wrapper around `install_deb_chroot()` for easy handling of reversioned debs
  - use it everywhere `install_deb_chroot()` was used in `distro-agnostic.sh` and `distro-specific.sh`
2023-08-12 09:58:32 +02:00
Ricardo Pardini
a876d0f882 pipeline: output-debs-to-repo-json.py: adapt to new reversioned JSON info 2023-08-12 09:58:32 +02:00