> 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/
There are many changes in this file and its impossible to cover this with a patch for now current and all kernels back
We are using same hack in UWE drivers.
I have changed the way the patches are generated a bit. Instead of using orange-pi branch from megous tree for 6.6 kernel, I have used the following kernel branches
a83t-suspend, af8133j, anx, audio,
axp, cam, drm, err, fixes, mbus,
modem, opi3, pb, pinetab, pp, ppkb,
samuel, speed, tbs-a711, ths
These branches were carefully chosen to include only allwinner related patches and remove importing of the rockchip related patches into the allwinner kernel.
Following patches are modified to fix patch application failure
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-reg_usb1_vbus-status-ok.patch
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-Enable-GPU-mali.patch
- patches.armbian/arm64-dts-allwinner-h616-Add-efuse_xlate-cpu-frequency-scaling-v1_6_2.patch
- patches.armbian/arm64-dts-allwinner-h616-LED-green_power_on-red_status_heartbeat.patch
- patches.armbian/arm64-dts-allwinner-overlay-Add-Overlays-for-sunxi64.patch
- patches.armbian/arm64-dts-sun50i-h616-bigtreetech-cb1.patch
Following patches are modified because of kernel api change to fix compilation failure
- patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
- patches.armbian/drv-of-Device-Tree-Overlay-ConfigFS-interface.patch
Update Das U-Boot to v2023.07.02
Patch: HACK: mmc: meson-gx: limit to 24MHz
db6738fed9
In my testing the patch is required for stable boot on REV 1.51.
It is not required on REV 1.4, but has no ill effects on boot.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Set fan max speed to kick in at 65*C. This keeps the unit roughly
at 70*C or lower, when pusing all cores for an extended period of
time.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
HACK: BOOT ORDER: NVMe SDCARD eMMC.
NOTES:
In my testing there has been no false starts or hangs up. Meaning
the boot process has been stable.
The downside to this in my opinion is that if there is an OS on
the NVMe it will always take boot priority. The drive would need
to be pulled or DD'd in order for SD eMMC boot to kick in.
Tested-on: Waveshare CM4-IO-BASE-B
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
https://www.waveshare.com/wiki/CM4-IO-BASE-B
Fan, RTC and USB support
RTC requires rtc pcf85063 driver
Fan requires hwmon emc2305 driver
Added wakeup-source to fanctrl node so emc2305 module loads at boot.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
BPI-CM4 fan control
hwmon: emc2305: fixups for driver
The driver had a number of issues, checkpatch warnings/errors,
and other limitations, so fix these up to make it usable.
hwmon: emc2305: Change OF properties pwm-min & pwm-max to u8
hwmon: emc2305: Add calls to initialize cooling maps
233096b8a9/drivers/hwmon/emc2305.c
Tested-on: CM4-IO-BASE-B: https://www.waveshare.com/wiki/CM4-IO-BASE-B
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
https://www.waveshare.com/wiki/CM4-IO-BASE-B
Fan, RTC and USB support
RTC requires rtc pcf85063 driver
Fan requires hwmon emc2305 driver
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
In sunxi-6.1 and sunxi-6.5 kernel we have a patch that changes r_rsb to r_i2c. But same
change is not done for u-boot. Mixing use of r_rsb and r_i2c seems to cause issues if
its also something handled in crust. Hence making it consistent across u-boot and kernel
dts files
- remove add-board-makefile Patch
- remove `overlay-y` Makefile patch
- add note to the 6.1 version: Makefile autopatcher can't be enabled for 6.1, since the armhf move to subdirs only landed in 6.5-rc1
> Based on AmazingFate's kernel DT and Kwiboo's `rk3568-2023.10`
Tested with a OrangePi 3B 4GB v1.1:
- SD-card boot
- eMMC boot
- SPI Flash boot
- chip is XMC `XM25QU128CWIQ`, not `W25Q256JWEIQ` listed in schematics
- PCIe/NVMe
- Ethernet has stable MAC
- can boot both edge (mainline) and legacy (vendor rk 5.10) kernels
- USB in uboot is untested
- UMS untested (I lost my A-to-A otg cable)
BPI-CM4: Add support for the waveshare cm4-io-base-b
https://www.waveshare.com/wiki/CM4-IO-BASE-B
BPI-CM4: Enable usb support on waveshare baseboards via overlay
BPI-SM1: Removed UART_B overlay. Short of it being an available
option in the vendor kernel via overlay. I can not find any docs
to support why that is. I feel it is safer that we just remove it.
BPI-SM1: Add UART_A "pin-ctrl: cts rts"
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
* 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
Upstream code has trickled down into 6.5.y, so adjust patching
accordingly.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Restore 'less than or equal' match of clocks that was lost in patch transition from 6.3 to 6.4:
ttps://github.com/armbian/build/blob/6d981baba68699b0c6ada476704556e11dd661bc/patch/kernel/archive/rockchip64-6.3/rk356x-vop2-support.patch#L333
6d981baba6/patch/kernel/archive/rockchip64-6.4/rk356x-vop2-support.patch (L333)
This is just a cosmetic change. Patches have been consolidated
into one patch within each corresponding linux version directory.
Added: linux-6.6 (RC-1)
Removed: linux-6.2/6.3
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>