Commit Graph

236 Commits

Author SHA1 Message Date
Ricardo Pardini
ee37a0c19a ext: fs-cryptroot-support: don't abuse add_host_dependencies
- use correct hook to make config changes
2024-06-23 11:49:12 +02:00
Igor Pecovnik
e797126638 Networking: set proper hook location for extensions 2024-06-23 09:19:32 +02:00
Igor Pecovnik
75ce67f329 Run shellfmt to complete code 2024-06-22 19:22:24 +02:00
Igor Pecovnik
8ccec185be Replace add_packages_to_rootfs with add_packages_to_image as we don't want to make caches for each variant
- also fixes a problem of generating caches all over again
- change cache date scheme name to force rebuild them all
2024-06-22 13:30:28 +02:00
ColorfulRhino
b6f018a2b1 net: Use resolved for DNS resolution
- Use resolved no matter what manages the network (networkd or NetworkManager)
- Use resolved.conf.d/ directory to set DNS as recommended by resolved itself
- In armbian-firstrun, remove config specific to mvebu64|mt7623 since this is now done by default
2024-06-20 19:59:52 +02:00
ColorfulRhino
6b7284be3e bsp: firstrun: Use Netplan for setting fixed MACs
Also remove `$BRANCH == dev` line since dev branch does not exist anymore
2024-06-20 19:59:52 +02:00
Igor Pecovnik
a65cf4d9bb Remove ifupdown leftovers in the code 2024-06-20 19:59:52 +02:00
ColorfulRhino
d1c6fa6e76 net: Remove NM_IGNORE_DEVICES variable
This variable was originally introduces for the board "Espressobin" (mvebu64): 38db0b55f9
Use a hook in the mvebu64 and mt7623 family config to set ignored devices for NetworkManager instead.
2024-06-20 19:59:52 +02:00
ColorfulRhino
497c6dce0e extension: net: Refactor, fix and improve network extensions
- Rename extensions with "net-*" prefix
- Put the extensions into their own folder
- Split off time sync packages into their own extensions to be able to be used separately
- Put their config files into directories instead of using inline `cat <<- EOF >`
- Move some other NetworkManager related stuff into the extension
- Remove unneeded steps
- Install iproute2 by default on all images (for the `ip` command)
2024-06-20 19:59:52 +02:00
Igor Pecovnik
f4b160abde Move Network Manager bits into extensions
- use Chrony with Network Manager
- use timesync with systemd-networkd
- use NetPlan with Network manager only
- move command-not-found to CLI image only
- improve firstlogin ip detection
2024-06-20 19:59:52 +02:00
ZHANG Yuntian
e0762bbbb7
aic8800: update firmware package URL (#6768)
Firmware package was incorrectly marked as machine dependent.
This was fixed in radxa-pkg/aic8800#12, causing the file name to change.

Signed-off-by: ZHANG Yuntian <yt@radxa.com>
2024-06-20 11:26:13 +02:00
amazingfate
076fadd559 extensions: image-output-abl: use losetup instead of silly dd 2024-06-09 19:11:58 +02:00
mr-toolcraft
e85fe22477 fix typo 2024-06-03 11:59:32 +02:00
amazingfate
fc5e98726b add extension radxa-aic8800 for rock-5c onboard wifi 2024-05-31 00:30:19 +08:00
Igor
ddc9982286
Introduce integrated extension for 3D and multimedia (#6646) 2024-05-22 11:42:23 +02:00
Ricardo Pardini
7fe7dc189d extensions: rk-panthor: mesa-oibaf + DEFAULT_OVERLAYS="panthor-gpu"
- I had worked this before AF sent his oneliner, but I forgot to PR
- Should be the same, except avoids sadness when trying with the wrong kernel/branch
2024-05-19 19:45:04 +02:00
amazingfate
c1a0942105 rk-multimedia-amazingfate: add noble support 2024-05-15 10:17:14 +01:00
Igor Pecovnik
1cd36b1027 Add glmark2 2024-05-14 06:39:18 +01:00
Igor Pecovnik
46f73e34b7 Allow downgrade on mesa ppa as otherwise fails on KDE neon 2024-05-14 04:47:12 +01:00
amazingfate
a8890ad578 extensions: add rk-panthor for vendor 6.1 rk3588 kernel 2024-05-13 13:38:42 +01:00
Igor Pecovnik
a5ffc947a3 Use double instead of single quotes as otherwise variable is not expanded 2024-05-13 10:18:00 +01:00
Igor Pecovnik
6f8fd3a68a After enabling Ubuntu Oracular on nightly builds, oibaf extension fails to work
I think we just need to use "devel" key for unknown Ubuntu release.
2024-05-12 16:04:15 +01:00
Ricardo Pardini
10f9e7c9dc rk35xx: drop vendor-boogie-panthor BRANCH; it has been integrated into vendor
- This reverts commit 5f59fe63f1
2024-05-12 13:06:24 +01:00
Igor Pecovnik
baeaee6f20 Use oibaf and v4l2 in desktops only 2024-05-11 21:02:24 +01:00
Muhammed Efe Cetin
18e65527f7 Pin oibaf packages on mesa-oibaf extension 2024-05-11 17:35:41 +01:00
青菜萝 卜冬瓜
35d7b325f8
add support for allwinner T527 Avaota-A1 (#6495) 2024-04-26 09:22:17 +02:00
FantasyGmm
2a12c44e7b
Odin2 Use Custom ABL, boot from TF Card (#6517)
* Update sm8250: kernel add legacy and edge branch
* Update Odin2:Using a new boot method,boot from sd
2024-04-24 11:10:53 +02:00
Ricardo Pardini
3e4b2d3a03 rk-multimedia-amazingfate: add libv4l-rkmpp and gstreamer1.0-rockchip for desktop builds 2024-04-07 13:21:42 +02:00
Ricardo Pardini
e39839e6a0 extensions: (v3) amazingfated-rk35xx, now rk-multimedia-amazingfate - panfork-free
- simply skips if not on Jammy
- deploys Chromium + Widevine if desktop
2024-04-02 21:10:06 +02:00
Ricardo Pardini
0c76cf03af extensions: mesa-oibaf extension by @monkaBlyat - mainline mesa PPA for Ubuntu
- does nothing on Debian
2024-04-02 21:10:06 +02:00
Ricardo Pardini
1074c969e8 Revert "rockchip-rk3588: it's vendor boogie panthor time (experimental) (#6459)"
This reverts commit 43cf339c6c.
2024-04-02 21:10:06 +02:00
Ricardo Pardini
43cf339c6c
rockchip-rk3588: it's vendor boogie panthor time (experimental) (#6459)
* main-config: fix: avoid errors when BRANCH contains a dash; convert to underscore

* rockchip64_common: shellfmt, no changes

* rockchip64_common: move SERIALCON defaulting logic to a (verbose) hook for flexibility

* config: allow to build BRANCHes not listed in KERNEL_TARGET as long as the config is valid

- useful for `collabora` and other experimental kernels, we don't want to have to add it to each individual board's KERNEL_TARGES one by one
- but we don't want to allow typos in BRANCH to emit very strange unrelated errors

* extensions: mesa-oibaf extension by @monkaBlyat - mainline mesa PPA for Ubuntu

- does nothing on Debian

* extensions: (v3) amazingfated-rk35xx, now `rk-multimedia-amazingfate` - panfork-free

- simply skips if not on Jammy
- deploys Chromium + Widevine if desktop

* rockchip-rk3588: introduce `vendor-boogie-panthor` experimental BRANCH/kernel

- original: https://github.com/hbiyik/linux-rockchip.git (branch `rk-6.1-rkr1-panthor-v6`)
- I picked the commits on top of clean armbian/linux-rockchip `6.1-rkr1` as of 2024-04-01
  - At https://github.com/rpardini/armbian-linux-rockchip-rk3588/tree/armbian-rk-6.1-rkr1-plus-boogie-panthor-v6
  - Diff: https://github.com/armbian/linux-rockchip/compare/rk-6.1-rkr1...rpardini:armbian-linux-rockchip-rk3588:armbian-rk-6.1-rkr1-plus-boogie-panthor-v6

- rockchip-rk3588: introduce `boogie-bsp` BRANCH
- rockchip-rk3588: copy linux-rk35xx-vendor.config into linux-rk35xx-boogie-bsp.config
- rockchip-rk3588: update linux-rk35xx-boogie-bsp.config, no changes
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: `CONFIG_DRM_PANTHOR=m`
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: convert to defconfig
- rockchip-rk3588: rename to `BRANCH=vendor-boogie-panthor` for "clarity" (lol)
- rockchip-rk3588: vendor-boogie-panthor: force SERIALCON, full firmware (for blob needed for panthor) & mesa-oibaf extension
- rockchip-rk3588: vendor-boogie-panthor: enable amazingfated-rk35xx extension sans-panfork
2024-04-02 20:30:38 +02:00
Igor Pecovnik
ab7e8c5342 Expand predicted size for rootfs for abl type of images 2024-03-13 19:15:26 +01:00
David Andreoletti
a218d13345 uefi-x86: customizable UEFI_GRUB_TERMINAL per board 2024-03-06 01:10:32 +01:00
Igor Pecovnik
c2fe587716 Unifying style of variables 2024-03-03 16:08:04 +01:00
amazingfate
f85ebefb81 extensions: add preset-firstrun to preset configs for rootfs 2024-03-03 16:08:04 +01:00
FantasyGmm
52889b1079
Add ayn odin2 config (#6305) 2024-03-03 07:59:56 +08:00
Rafael
94d4c007d1
Feature lvm support (#6204)
* using the configured volume group name
* added LVM support
* ensuring /boot never on LVM volume, created hook to setup root device
* preparing root device via extension, not assuming any particular partition for root
* using tab spacing
* using global parameter to require a boot partition
* using boot require, moving cryptroot code to extension
* adds crypt image suffix
---------

Co-authored-by: rafael <rvalle@privaz.io>
2024-02-01 20:01:58 +01:00
Rafael
db93db6a4f
fixed indentation on cloud-init extension (#6231)
* fixed indentation on cloud-init extension
* indentation
---------

Co-authored-by: rafael <rvalle@privaz.io>
2024-02-01 20:01:17 +01:00
FantasyGmm
582d0e96b9 Add Xiaomi Mi10(umi) support 2024-02-02 00:00:04 +08:00
Rafael
ad9e3a01c0
added cloud-init support (#6205)
* added cloud-init support
* removed compymods, not required for our use case and not available in all distributions
* using space instead of tabs
* added template with typical use-cases and link to docs
* typo
---------
Co-authored-by: rafael <rvalle@privaz.io>
2024-01-30 18:41:29 +01:00
Ricardo Pardini
6beb573425 extensions: image-output-vhdx: add output for dynamic .vhdx (in a zip file, to avoid sparseness errors)
- new VHDX output format (for generic Hyper-V on Windows 10/11/2019/etc)
- it is always stored (no compression) in a .zip file, to avoid sparseness errors
- when building, transfer the .zip file over to Windows, and uncompress it there (not on WSL2 itself/Linux/other machine)
2024-01-14 19:40:33 +01:00
Ricardo Pardini
b14e606570 extensions: image-output-vhd renamed to image-output-vhd-azure
- only Azure wants the static, 1024-aligned original VHD images (and doesnt support VHDX?)
- new VHDX output format (for generic Hyper-V on Windows 10/11/2019/etc)
2024-01-14 19:40:33 +01:00
Ricardo Pardini
c434c3613c core: semantic change, KERNELSOURCE must be explicitly 'none' to avoid kernel compilation (not unset) 2024-01-07 18:58:36 +01:00
Ricardo Pardini
65dcd9e264 [cleanup] extensions: flash-kernel: removed (and a few references to it)
- thanks to Gunjan for replacing it
2023-12-28 13:52:19 +01:00
Gunjan Gupta
58af873a43 Add extension to perform major kernel upgrade for allwinner kernels 2023-12-22 22:02:04 +05:30
Igor
f2e663f087
Improved debootstrap hacking support with fixes for Ubuntu Noble (#6076)
* Remove extension for patching Deboostrap to support Ubuntu Noble
* Integrate Deboostrap patching to the build script
* fix problems related to Noble
2023-12-22 08:04:55 +01:00
Igor Pecovnik
b8cd5dc4fe Add extension for patching Deboostrap to support Ubuntu Noble 2023-12-21 10:54:31 +01:00
Gunjan Gupta
95f12ebfb2 Consolidate uwe5622 wireless settings into an extension 2023-12-21 06:34:59 +05:30
Igor
c5c81a8b58
Move live patch to bsp extension and limit to startup patching (#6017)
* Move live patch to extension
* Move to the board support package and keep only startup patch
2023-12-14 10:36:44 +01:00
Paolo Sabatino
d953ddb1ef better indentation for x.org lima serverflags workaround 2023-12-09 14:19:32 +01:00
Paolo Sabatino
f6baa4c2f2 Use extension for Lima X.Org serverflags
* Remove create_desktop_package.sh for rk3318 board from
   config/optional, clearing the whole directory tree
 * Add an extension to implement serverflags workaround
   for X.Org and Lima driver not being autodetected
 * Fix rk3318-box and rk322x family to use extension in place
   of 40-serverflags.conf bsp file
2023-12-09 14:19:32 +01:00
amazingfate
8289ba7bf4 xiaomi-elish: add slot_suffix arg to kernel cmdline for qbootctl 2023-12-06 23:30:15 +08:00
amazingfate
8342030f2d extensions: abl: add mkbootimg to host dep 2023-12-02 17:31:04 +05:30
Ricardo Pardini
4e37b276d1 bash: run shellfmt, no changes 2023-11-25 13:38:30 +01:00
Gunjan Gupta
c51f412df8 Flash-kernel: Add workaround for broken upgrade 2023-11-22 21:31:07 +05:30
Ricardo Pardini
820472d137 extensions: uefi-edk2-rk3588: deploy edk2 (not u-boot) for rk3588 boards
- this extension is _100% optional_ and shouldn't adversely affect any builds if not enabled
- requires `UEFI_EDK2_BOARD_ID` to be set in board file, so we know which UEFI/edk2 build to use
- it finds the latest edk2 version from GitHub automatically (currently `v0.9.1`)
- it downloads (and caches) the correct edk2 build image automatically
- if forces certain aspects of the image:
  - must use GPT partitioning
  - must NOT use a separate /boot partition
- it _disables_ the building and deploying of u-boot _completely_ (thus blobs etc are from edk2)
- it creates a GPT `"uboot"` partition pointing to edk2's FIT, required by SPL
- this extension:
  - automatically enables 'grub-with-dtb'
  - automatically enable 'initramfs-usb-gadget-ums', to compensate for lack of ums/rockusb since we dont have u-boot anymore
2023-11-19 22:31:33 +01:00
Ricardo Pardini
055d871315 extensions: initramfs-usb-gadget-ums: kernel cmdline enables initramfs UMS of all block devices
- this optional extension adds an initramfs script that:
  - enumerates and filters all block devices
  - exposes each device as an UMS (USB Mass Storage) in an USB Gadget
  - loops forever with info (board never boots)
- the idea here is to compensate for UEFI's lack of "ums" or "rockusb" mode that's present in u-boot
- it also allows to expose USB/NVMe devices that might or not be detected by bootloader, if the kernel works
2023-11-19 22:31:33 +01:00
Kevin Schmidt
72922908c5 Refresh jetson-nano board config. 2023-11-19 22:27:28 +01:00
Ricardo Pardini
ec4803f099 extensions: image-output-vhd: outputs the image in VHD format (for HyperV/Azure) with correct size 2023-11-06 16:17:33 +01:00
amazingfate
ac90826105 qcom-abl: use mkbootimg package to generate abl boot image 2023-10-26 21:17:01 +08:00
Ricardo Pardini
e436bf9e1d image-output-abl: fix shellcheck error 2023-10-26 21:17:01 +08:00
Ricardo Pardini
f5ea983f50 xiaomi-elish / image-output-abl: shellfmt, no changes 2023-10-26 21:17:01 +08:00
amazingfate
43b17bacfc add extension image-output-abl for abl images 2023-10-26 21:17:01 +08:00
Ricardo Pardini
6219927ce9 grub + grub-with-dtb: add back functions removed from mkconfig_lib in recent GRUB versions (2.12)
- this should make `09_linux_with_dtb.sh` work across all RELEASE's, `sid` and `mantic` included
- extra: if `grub-mkconfig` (`update-grub`) fails, show all involved source files
2023-10-13 18:01:17 +02:00
Ricardo Pardini
11df81403d config/lib/exts: run shellfmt
- `bash lib/tools/shellfmt.sh`
- mostly spacing changes that accumulated over time
2023-08-22 14:28:14 +02:00
Gunjan Gupta
1d6a779ed1 Drop HOST OS that doesnot support crust compilation 2023-08-22 13:03:51 +02:00
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
Ricardo Pardini
c9b5b7462d u-boot-menu: curb logging, no need to emit warn's here 2023-08-12 10:05:02 +02:00
Ricardo Pardini
c44ed98005 u-boot-menu: allow skipping U_BOOT_FDT even with BOOT_FDT_FILE set, by specifying EXTLINUX_SPECIFIC_FDT=no 2023-08-09 11:20:28 +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
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
02d428382b u-boot-menu: allow avoid using uInitrd, for when the bootloader requires modern initrd.img 2023-07-12 00:46:56 +02:00
Gunjan Gupta
5b65b6b29f Add openssh-client as a dependency when building with CRYPTROOT 2023-07-09 16:03:53 +05:30
Ricardo Pardini
1c7f2248d5 rkdevflash: don't wait for "Loader" mode after sending spl_loader; show the loop counter
- I thought sending the spl_loader blob puts it into "Loader" mode, but...
- ... turns out "Loader" mode is a separate (rockusb, etc) mode.
- So if in Maskrom mode, just send the loader, and _trust_ it can now WriteLba
- still keeps the timeout, for when a loader is not accepted
2023-07-01 14:50:20 +02:00
Ricardo Pardini
a878f3c93d rkbin-tools: allow using custom rkbin RKBIN_GIT_BRANCH as well as RKBIN_GIT_URL
- notice: the rkbin repo or the bins themselves are not hashed or included in the u-boot version (yet)
- make sure to avoid caching when building with those custom git/branch (`ARTIFACT_IGNORE_CACHE=yes CLEAN_LEVEL=make-uboot`)
2023-07-01 14:49:49 +02:00
Gunjan Gupta
a747ba2c37 Only install gcc-or1k-bin package when building images with crust-firmware support 2023-06-26 20:54:55 +02:00
Ricardo Pardini
6c232a1303 grub: add hooks, fix GRUB font & wallpaper, introduce grub-with-dtb extension
- introduce hooks `grub_early_config`, `grub_pre_install` and `grub_late_config`
  - what we see here is an extension that itself has hooks, that just works
- introduce extension `grub-with-dtb`, which
  - enables `grub` extension
  - requires `BOOT_FDT_FILE` to be set
  - includes `/etc/armbian-grub-with-dtb` with `BOOT_FDT_FILE=` in the bsp-cli
  - includes `/etc/kernel/postinst.d/armbian-grub-with-dtb` in the bsp-cli
     - which reads the above and creates links for `/boot/armbian-dtb-<version>` when deploying deb's
  - adds implementations of the hooks above to
    - replace the distro's `10_linux` with our own `09_linux_with_dtb`
      - which looks for `/boot/armbian-dtb-<version>`
    - forcibly run  `/etc/kernel/postinst.d/armbian-grub-with-dtb` during image build, since bsp-cli is installed after linux-image
- uefi-arm64: enable GRUB wallpaper by setting `UEFI_GRUB_TERMINAL=gfxterm`
- force GRUB_FONT so Ubuntu is not confused and gfxterm (incl wallpaper) finally works
2023-06-26 13:52:29 +02:00
Ricardo Pardini
017a006acb cleanup-space-final-image: keep qcom and qed firmware (for thinkpad-x13s) 2023-06-26 13:47:00 +02:00
Gunjan Gupta
8278dc5e42 allwinner: Enable crust compilation 2023-06-20 21:36:31 +02:00
Ricardo Pardini
44e547d6a8 armbian-gaming customize launcher for @NicoD-SBC (v2)
- add image suffix `-gaming`
2023-06-12 10:47:15 +02:00
Ricardo Pardini
a9cc0620ec bluetooth-hciattach: new generic extension to facilitate adding hciattach systemd service, given the correct params 2023-05-24 19:22:22 +02:00
Ricardo Pardini
89a7cc971b grub: fixes for wallpaper / gfxmode / submenu /etc
- Debian working
- Ubuntu's grub needs more work
2023-05-21 16:18:20 +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
Pander
9ed24a6e86 extension fake-vcgencmd 2023-05-03 15:10:18 +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
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
01c49e0cf1 grub: keep u-boot stuff if UEFI_GRUB=yes 2023-04-28 21:32:52 +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
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
439882ce7a extensions/grub: use array for pkg list
- also for the media-sbc clone
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
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
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
fc8536b700 extension: c-plus-plus-compiler: include g++ package as well as g++-aarch64-linux-gnu 2023-03-10 10:49:45 -03: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
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
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
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
3c5488b002
armbian-next: bump logging archive greet to 14 files 2023-02-18 07:44:59 -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
8825a99845
armbian-next: extensions: nomod: for when you really don't care about modules 2023-02-18 07:44:30 -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
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
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
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
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
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
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
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
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
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
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
3c5021b438
armbian-next: allow overriding rkbins repo URL with RKBIN_GIT_URL 2023-02-18 07:38:58 -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
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
Ash
408bc67619
Add shebangs for shellcheck (#4493)
* Add shebangs for shellcheck

See #AR-1406

* Add shebangs for shellcheck

Also for `extensions` scripts
2022-11-27 21:44:50 +01:00
Ricardo Pardini
0bfad1e7f7
flash-kernel: pass FK_FORCE=yes to flash-kernel so it actually runs in chroot; thanks Ubuntu (#4439) 2022-11-15 20:20:13 +01:00
Igor Pečovnik
3e701a857a
Add initial RiscV support (#4387)
* Add initial RISCV support

* Add UEFI edge and current kernel configs

* Cleanup and adjust packages

* Those files were in wrong path

* Fix locations

* Ubuntu images built

* Remove Debian support as its too fragile

* Remove Pinta as it doesn't work under riscv

* Limitation is only for building images

* Remove obsolete switch

* Cleanup major arch config files

* Support for Docker building
2022-11-06 20:33:11 +01:00
Oleg
d41125a5fd
move Jetson Nano EFI\Grub (#4284)
* move Jetson Nano EFI\Grub

* fix dtb for efi

* remove list module initrd curren\edge for Jetson Nano

* rename to  grub-sbc-media
2022-10-25 11:28:23 +02:00
hzyitc
c70df26cc7
grub: remove unnecessary config (#4277) 2022-10-13 18:17:57 +02:00
Ricardo Pardini
6b28de15fe run shellfmt on all of extensions 2022-10-08 14:37:22 +02:00
Igor Pečovnik
9006c54f70
GRUB optimisations (#4213)
* Add wallpaper to grup, set fixed screen size, enable hidpi mode on lightdm

* Enable graphics terminal on UEFI x86, ARM64 can't test

* Missing folder

* Enable `Plymouth`

* Add proper HiDpi support and enable intel graphics auto probing

Tested on Intel and Nvidia, both works OOB. Plymouth works as expected, no text logs on screen, if OEM vendor logo is present, it picks it up auto, otherwise shows armbian (chip) logo

Co-authored-by: hzy <hzyitc@outlook.com>
2022-09-23 09:35:07 +02:00
hzyitc
d54ebcbab4
mount /tmp as tmpfs && Use /tmp when update-initramfs (#4185)
* mount `/tmp` as `tmpfs` when chroot

* Use `/tmp` instand of `/var/tmp` when `update-initramfs`
2022-09-14 17:21:37 +02:00
Igor Pečovnik
eb6acd68d3
Add Nvidia driver to the x86 desktop images (#3572)
* Add Nvidia driver to the x86 desktop images
* Enable this driver on uefi x86 not on arm64
* Enable nvidia driver extension only on desktop builds
2022-03-29 21:16:45 +02:00
Jannis
ae3ad1fdee
Apply changes to Espressobin from Issue#2861 (#3498)
* Apply changes to Espressobin from Issue#2861

* Additional config changes

* Add cryptopp to marvell tools

* Remove local DDR topology changes

* Disable ebin MACs in armbianEnv.txt

* Change kernel options for ebin, remove mtdparts

* Add CZ.NICs ebin firmware

* Increase ATF compiler version"

* fixup external toolchains

* add gcc-aarch64-linux-gnu package (#3585)

* correct compiler names for ATF, external toolchain

Co-authored-by: Derek LaHousse <dlahouss@mtu.edu>
Co-authored-by: Derek <ManoftheSea@users.noreply.github.com>
2022-03-28 07:16:22 -04:00
Ricardo Pardini
a3db0f4397 flash-kernel: disable Armbian core's update_initramfs, it's already done
- correct mechanism, wrong/bad variable name, but should work.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-12-06 12:50:36 +01:00
Ricardo Pardini
90e0fe0ba2
extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300)
* extensions framework (née "fragments")

- this should actually change nothing at this point, just add capabilities
- the framework is implemented in lib/extensions.sh
- the "if function x exists then call x" replaced with call_extension_method()
  - +inline documentation
  - +compatibility names

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

* extensions framework; meta-extensions: auto-docs and sample extension gen

- 2 extensions dealing with extensibility itself
  - detect-unused-extensions: shows which extensions are enabled, but never called.
  - gen-sample-extension-docs: generates a sample empty extension & Markdown documentation for extensions

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

* new extension methods and features via config variables in core Armbian

- `SKIP_EXTERNAL_TOOLCHAINS=yes` - does not download or use any linaro toolchains, only build host-installed ones
- `SKIP_BOOTSPLASH=yes` - does not patch kernel for splash file
- `EXTRA_BSP_NAME=xyz` - allows for BSP variants, useful for when extensions modify the BSP
- `EXTRA_ROOTFS_MIB_SIZE=x` - add x mib's to rootfs size, for use with very small images
- `KERNEL_EXTRA_TARGETS` - what extra targets to make kernel for, default to "modules dtbs"
- `BOOTCONFIG=none` - does not build nor install u-boot; also doesn't handle bootscripts et al
- `unset KERNELSOURCE` - does not build nor install kernel, nor build initrd, nor build nor install firmware
- `ARMHF_ARCH=skip` - does not add armhf to apt/dpkg, thus pure arm64
- `SKIP_ARMBIAN_REPO=yes` - results in armbian.list.disabled in the final image
- define `APT_EXTRA_DIST_PARAMS` with apt-cacher-ng options and use it for `PACKAGE_LIST_INSTALL/REMOVE` et al
- initial support for targeting x86/amd64 UEFI and BIOS
    - some do's/don'ts for x86/amd64, like a different `UBUNTU_MIRROR` default
    - GPT/EFI(ESP) partitions (fat, `UEFISIZE=256` to enable, mount `UEFI_MOUNT_POINT=/boot/efi`, first on disk but ends
      up at `$uefipart`=15)
    - GPT/BIOS partitions (fat, `BIOSSIZE=1` to enable, second on disk but ends up at partition 14)
    - `UEFI_FS_LABEL="armbiefi"` - to set the FAT label for the EFI partition, visible in Win/Mac
    - hard-requires gdisk package host-side
- add add_host_dependencies() extension method; fill `EXTRA_BUILD_DEPS="pkg pkg2"` to install to host before toolchains
  download
- add pre_prepare_partitions() extension method, for custom partition size calculations
- add create_partition_table() extension method, used to do full-custom partitioning if `USE_HOOK_FOR_PARTITION=yes`
- add post_create_partitions() extension method, mostly for easy debugging
- add post_write_sdcard() extension method, where you can also set `SKIP_VERIFY=yes` to skip sdcard verification
- add post_install_kernel_debs() extension method.
- multiple fixes to bsp to avoid spurious errors when files are not where it expects
- v4: detect `update-initramfs` failure and abort build with useful message if it does
- v4: show useful stacktrace in `exit_with_error`
  - if `ERROR_DEBUG_SHELL=yes`, drop into a shell before unmounting/deleting everything, so we can inspect what went wrong
- v4: display a message before `apt-get remove PACKAGE_LIST_BOARD_REMOVE` packages, so any errors while removing are easy to understand
- v4: preserve kernel .config's dates when copying

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

* extensions framework; refactor tool fetching/building into extensions

- a few examples of core refactoring using extensions
- sunxi-tools extension, enabled by 2 different sunxi family includes ("reuse" example)
- marvel-tools extension, enabled by 2 different mvebu family includes
- rkbin-tools extension, enabled by rockship64_common family include
- amlogic-fip/c2-blobs stuff refactored directly into meson64_common.inc ("single-use" example)
- removed the 'testings' fetch_from_repo completely since not used anywhere.

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

* .wip's for UEFI arm64 and UEFI/BIOS x86 via new GRUB extension

- v3: added `growroot`-awareness to `armbian-resize-filesystem`
    - the partition-growing part of `armbian-resize-filesystem` does not deal correctly with the UEFI layout
    - `growroot` is installed on UEFI images by default, that handles growing partition during initramfs
    - now `armbian-resize-filesystem` handles `resize2fs` only, and works.
- v4: reworked UEFI board/family/include structure:
    - use Distro's `linux-generic` kernel only for `current`
    - `edge` now builds it's own pure-mainline `5.15.y` kernel, for both x86 and arm64
        - `.config` taken from Ubuntu, probably needs tuning for EXTRAWIFI=yes et al
- v4: introduce `SKIP_KERNEL_SYMLINK=yes`, tested in `builddeb`
    - to avoid symlinking kernel; u-boot likes it, but grub and flash-kernel hates it
- v5: many fixes
- v7: more small fixes.

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

* .wip for the RaspberryPi 4B via new flash-kernel extension

- this does not build it's own kernel "yet", but uses default linux-raspi kernel from Ubuntu
- flash-kernel is not really a bootloader
    - it just prepares kernel et al a FAT partition for booting by the RPi4b bootloader
    - flash-kernel is standard Debian package, but has only been tested on Ubuntu releases
- it is really only known-working since Hirsute release.
  - Debian's rpi kernel is armhf only, so out of scope here, at least until we add source-built kernels.
- v3: fixed focal rootfs build. untested.
- v3: better variable names, preparing for source-built kernel.
- v5: new edge build with pure mainline kernel.
- v6: many fixes and some hacks for packaging and layout, also firmware (using Ubuntu's)

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

* Added first patch to edge x86 related to wifi drivers

* extensions: leave hostapd alone; remove hackish ext; block reentrancy

- package-list-utils does not belong in this PR
- grub or bcm2711 is not the place to remove hostapd
- block recursive enable_extension() calls, for now.

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

* gen-sample-extension-docs: fix: avoid counter in generated sample

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

* extensions: dependencies: enable_extension() in extensions with a stack

- and better stacktraces, I hope

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

* Remove code from package list since we don't have it in repository
Adjust kernel config to disable driver that needs further polishing.

* Allow amd64 to build the same desktops as aarch64. We only have this limit for armhf, where some desktops don't work

* amd64: allow building amd64 on aarch64 with system toolchain

- conditionally add gcc-x86-64-linux-gnu to hostdeps

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

* add libelf-dev directly to hostdeps (and Dockerfile), remove extension

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

* packaging: remove SKIP_KERNEL_SYMLINK hack, fix the root cause

- which was the missing $image_name for non-arm64 & non-arm, so: x86 for example

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

* grub: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

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

* flash-kernel: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

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

* extensions: add host_dependencies_ready() hook

- this passes FINAL_HOST_DEPS containing all hostdeps for the run after they're installed

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

* Add verification functions for correct selection.

* If UEFI Skip symlink creation

* Do not create dtb package for amd64

* Skip scripts folder cleaning if build process native.

Skip creating  postinst prerm scripts  for headers.

* Skip applying headers-debian-byteshift.patch if build native

* Fix architecture syntax as x86_64

* Revert "amd64: allow building amd64 on aarch64 with system toolchain"

This reverts commit 0c5ee20bb1.

* Compare architectures before starting compilation.



Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* extensions: cleanups after fixes by the-Going

- packaging:
  - there is _no need_ anymore for the symlink hack, CONFIG_EFI or no. But check is great, see below
  - it's not `amd64` that has no DTB's, it's all UEFI, thus: `is_enabled CONFIG_EFI`, thanks!
- Explicitly disallow "reverse cross compile" in amd64.conf.
- whitespace-only-deletions: revert. we shall shellfmt the whole thing one day, but not today.
- fix a few syntax warnings in newly introduced code (floating `$ARCH` vs `"${ARCH}`) - blame shellcheck

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

* packaging: fix: turns out a lot of boards have CONFIG_EFI=y, can't use that for dtb/no-dtb decision.

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

* grub: remove debug

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

* firmware: allow installing `armbian-firmware-full`; make it really full

- can now use `BOARD_FIRMWARE_INSTALL="-full"` to install full firmware for the board. enable for UEFI.
- don't rely on KERNELSOURCE for firmware-related decisions. introduce `INSTALL_ARMBIAN_FIRMWARE` which defaults to `yes`
- rpi4b/flash-kernel: disable Armbian firmware; we need linux-firmware-raspi2, which conflicts.

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

* extensions: log to /${LOG_SUBPATH}/ instead of fixed /debug/

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

* extensions: introduce cleanup_extension_manager() called by build-all-ng's unset_all()

- to reset/unset everything done by the the initializer, so build can run again

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

* extensions: remove 'global' logging, for use with build_all_ng

- enable_extensions() will have to live on without logging to file. it's just too early.
- now init EXTENSION_MANAGER_TMP_DIR in initialize_extension_manager()
- now init EXTENSION_MANAGER_LOG_FILE in initialize_extension_manager()

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

* extensions: build-all-ng.sh bugfix due to extension's debug to stdout

- extensions (among other things) can produce output to stdout when activated
- fix: check_hash() produced "idential" (sic, now changed to IDENTICAL) to stdout as a trigger
- debugging output got mixed with "idential", rendering hash cache void for families that used extensions
  - eg: sunxi, others
- fix is to send stdout to the bitbucket when sourcing the board & arch config files
- proper fix would be stop using stdout in this case and use return code for check_hash()
  - one day soon

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

* Add CI build targets

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
2021-12-06 09:49:49 +01:00