* 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
* Add git.ti.com to memoized_git_ref_to_info() as a generic cgit
Like kernel.org, git.ti.com uses cgit. We might want to change this logic to
accept the git hosting type (cgit, gitlab, github, etc..) and not match only
on known repo urls. For now just add this repo url to the known list.
* K3: Switch current to TI vendor kernel v6.1.y
* K3: Bump edge to kernel v6.6.y
> tl,dr: add 4 small-ish UEFI-like kernels, with Microsoft patches & fixes, for use with Microsoft WSL2 on x86/arm64 and 6.1.y/6.6.y
- the boards are UEFI derivatives, using a common `microsoft` vendor include to modify
- `KERNELPATCHDIR`/`LINUXFAMILY` (for now, we don't want those patches in regular UEFI builds / .debs)
- disable `EXTRAWIFI` (kernel is for a VM, will never have wifi so doesn't need any drivers)
- `LINUXCONFIG`, so we can use Microsoft's own monolithic kernel, required for WSL2 (their initrd is a mistery)
- really, what we're mostly interested right now are the kernels (in the future we might have an "Armbian" WSL2 app in the Microsoft Store)
- `current` `6.1.y`:
- rebased from https://github.com/microsoft/WSL2-Linux-Kernel/tree/linux-msft-wsl-6.1.y onto real 6.1.y
- using Microsoft's `.config` exactly (monolithic, there are no `=m`'s)
- `edge` `6.6.y`:
- also from https://github.com/microsoft/WSL2-Linux-Kernel/tree/linux-msft-wsl-6.1.y but rebased onto 6.6.y
- using updated Microsoft's `.config` (monolithic, there are no `=m`'s)
- dropped 2 of 6.1.y's patches that were actually upstreamed in the meantime:
- `mm-page_reporting-Add-checks-for-page_reporting_order-param` - mainlined in https://lore.kernel.org/all/1664517699-1085-2-git-send-email-shradhagupta@linux.microsoft.com/
- `hv_balloon-Add-support-for-configurable-order-free-page-reporting` - mainlined in https://lore.kernel.org/all/1664517699-1085-3-git-send-email-shradhagupta@linux.microsoft.com/
- drop the `arm64: hyperv: Enable Hyper-V synthetic clocks/timers` patch, since it causes asm breakage on 6.6.y
- a shame, but I tried and can't fix it myself - @kelleymh ?
- add my own patch to fix:
- `1709-drivers-hv-dxgkrnl-restore-uuid_le_cmp-removed-from-upstream-in-f5b3c341a.patch` due to https://lore.kernel.org/all/20230202145412.87569-1-andriy.shevchenko@linux.intel.com/ landing in 6.6
- `1710-drivers-hv-dxgkrnl-adapt-dxg_remove_vmbus-to-96ec29396-s-reality-void-return.patch` to adapt to
https://lore.kernel.org/all/TYCP286MB2323A93C55526E4DF239D3ACCAFA9@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
The service is only enabled by default on Vim4 as that board heats
a lot and a fan is absolutely necessary. Service will be available
on vim1s as well and if someone has purchased the fan for it, they
would be able to enable it themselves.
The service is only added for legacy kernel right now as I am not
sure if the upcoming 5.15 kernel will have same sysfs interface for
fan.
Khadas's 5.4 kernel has a broken hdmi subsystem that can result into
a monitor not working even if it supports one of the required display
resolution. Hence adding a workaround that will force use of one of
the 3 16x9 resolutions supporting most of the HD-ready, full-HD and
4K monitors.
* update libreelec patches to latest bits
* rework some patches
* rework dtb patches due to new arch/arm/boot/dts layout
* fix led overlays due to idiot u-boot dtbo bug
Some K3 boards use a split initial boot stage requiring an extra file
called "sysfw.itb". If defined in the board configuration deploy this
file if available.
The causes the first-stage bootloader to be generated before the normal
U-Boot allowing the later build to use the firmware fetched during the
first-stage build.
- bsp-cli: `postinst` is now generated _after_ the hooks are run
- hooks are allowed to append to `postinst_functions` array
- hooks are _not_ allowed to modify `DEBIAN/postinst` directly anymore (it won't even be there)
- rewrite the postinst stuff in `helios4`'s `family_tweaks_bsp()` to use new way
- introduce `add_file_from_stdin_to_bsp_destination()`, a helper for easy heredoc-based adding of files to bsp-cli
- First and only argument is the destination path, relative to the root of the package -- do NOT include $destination -- it is already included.
- Containing directory, if any, is created automatically (no more "mkdir -p x; cp y x/z")
- The full path (including $destination) is set in $file_added_to_bsp_destination, declare in outer scope to get it if needed.
- using Kwiboo's `rk3568-2023.10` branch with BINMAN-handled blobs
- patches (defconfig unless indicated):
- boot usb first (rockchip-common)
- blink leds & keep red one one on preboot; reset SPI env once after deinfesting from Petitboot
- change usb_host0_xhci to otg (u-boot dtsi)
- enable DM_GADGET, UMS 🔥 and RockUSB
- **usage instructions**:
- build & burn image to SD card
- insert SD card into board
- **hold the recovery (RCY) button** and power on the board
- watch board boot
- **de-infest Petitboot**: use `armbian-install` to install bootloader to MTD
- if you don't, you'll need to hold the recovery button every boot
- optionally: use `armbian-install` to install OS to eMMC/NVMe/USB
- power-off board
- remove SD card (new u-boot always boots SD first!)
- boot into your newly de-infested machine
- boot order: USB, SD, MMC, NVME, SCSI
- de-infested machine can now boot (directly) from USB/SATA/NVMe, possibly via EFI:
- Armbian UEFI-arm64
- Fedora 38 aarch64
- HASSOS for ODROID-M1
- Talos arm64
- others...
- extra: new u-boot by Kwiboo (with GMAC patches) gives us stable MAC address
- although it is based on cpuid#, doesn't match the HK sticker on the board
- run `fw_setenv ethaddr XX:XX:XX:XX:XX:XX` to change eth addr in SPI flash environment if needed
- `odroidm1`: update DDR/BL31 blobs (this depends on https://github.com/armbian/rkbin/pull/20)
- current (6.1) does not yet carry the DTB
- u-boot (up to at least 2023.10-rc2) does NOT have ADC detection for N2L, so force the DTB
- `meson-g12b.conf`: add a specific if for `odroidn2l` _before_ the `odroidn2*` for FIP blobs
- vim1s/vim4: remove uEnv.txt and default extlinux args, use simple arguments instead
- meson-s4t7.conf: hack: rereadpt (re-read partition table) in initrd local-top (for eMMC boot of oowow'ed image)
- meson-s4t7.conf: include both `u-boot.bin.sd.bin.signed` and `u-boot.bin.signed` in uboot package
- meson-s4t7: patch kernel for different dt "model" across VIM4 and "New VIM4"
- meson-s4t7.conf: set `EXTLINUX_SPECIFIC_FDT=no`, so u-boot auto-determines which DTB to use
- don't specify DTB; this way both the "original VIM4" and the "new VIM4" can boot with the same image
- only "boot from SD" supported right now
- building uboot with xPack riscv-none-embed-gcc **external** toolchain setup in hooks
- kvim4: very high kernel logging + systemd debug logging to console
- kvim4/kvim1s: add uEnv.txt and ROOT_FS_LABEL="ROOTFS" and Khadas-esque extlinux
- meson-s4t7: unify khadas-vim1s and khadas-vim4 u-boot building
- kernel .config:
- s4t7: original Khadas vendor config
- s4t7: CONFIG_BINFMT_MISC=y
- s4t7: make NFS/sunrpc stuff =y
- s4t7: enable USB wifi drivers from Armbian network_drivers
- firmware: at https://github.com/armbian/firmware/pull/56
- extlinux tricks require https://github.com/armbian/build/pull/5462
- status:
- kvim1s: boots from SD and works as server/CLI
- kvim4: kernel panic during systemd-udevd
The default will align the data structures with the cluster size,
which causes the size to not be set to the full partition size. This
causes issues with some board ROMs. Use the -a flag to ignore the
alignment and fill the available space.
Co-authored-by: Igor <igor@armbian.com>
- meko: don't use Radxa's Rock-5A u-boot anymore, switch to rockchip vendor next-dev branch
- meko: my own (horrible) patches for MAC address stability / defconfig
- meko: cherry picked a few patches for getting rid of BL32/read Bl31 from env and other fixes from Radxa
- meko: add OTP node to 3588 dtsi (so we don't need kern-dtb in ITS for working OTP)
- meko: refactor common code across 3 (soon to be 4) board files into vendor conf and hooks
- meko: bump DDR/BL31 blobs for all Meko boards
Disabled ws2812 driver for all sunxi64 boards in edge kernel. As this
driver is used by Bigtreetech CB1 board, the driver is enabled for the
same but edge kernel is kept back at 6.2.16. Once the driver has been
updated, we can revert this commit.
- move FIP signing code from meson-g12b.conf's `uboot_custom_postprocess()` to the board's own `post_uboot_custom_postprocess` hook
- fetch a secondary FIP blob repo at a revision with working FIP blobs for SPI (see https://github.com/LibreELEC/amlogic-boot-fip/pull/10)
- implement `post_uboot_custom_postprocess__khadas_vim3_uboot_new_and_old_blobs()` doing a dance for SD/eMMC with new blobs, and SPI with old blobs.
- 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
- `sunxi_common`: don't overwrite `BOOTPATCHDIR` if it is set by the board (default, but do not overwrite)
- hammer `allwinner-h616-GPU-enable-hack.patch`
- `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