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>
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>
Legacy kernel is not supported no more for these rockchip boards and
thus, they can be removed from their associated board configuration files.
Signed-off-by: Emmanuil Chatzipetru <echatzip.manu@gmail.com>
- This requires https://github.com/armbian/firmware/pull/65
- thinkpad-x13s: workaround ubuntu's pd-mapper only starting on "-laptop" kernels
- thinkpad-x13s: add fprintd and pam
- thinkpad-x13s: throws warnings about missing userspace if not trixie/sid/mantic
- thinkpad-x13s: split hooks into functions
- thinkpad-x13s: enable touchscreen hack via udev
- thinkpad-x13s: use override, not separate service, for systemd settage of BT public-addr
- thinkpad-x13s: "handle" alsa-ucm-conf by simply overwriting with fixed version
- thinkpad-x13s: update .config
- according to 0dbdb29bc4
- thinkpad-x13s: bump to 6.6-rc4; add more cmdline params
- add a bunch of tricks I learned from jhovold's talk
- update .config, no changes
- thinkpad-x13s: bump to steev's lenovo-x13s-v6.6.0-rc5 - update .config, no changes
- thinkpad-x13s: bump to steev's lenovo-x13s-v6.6.0-rc5
- thinkpad-x13s: trixie is missing fprintd/libpam-fprintd, skip for now if trixie
- thinkpad-x13s: set `UEFI_MOUNT_POINT_SKIP_FSTAB=yes` (otherwise hangs waiting for it, dunno why)
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.
> 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)
- we should probably refactor this into a shared library's functions...
- `flashcp --partition` is much more efficient than just `dd`'ing to mtdblockX
- but only supported on bookworm+ / jammy+
- 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
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>
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
- 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
Move the BPI-M2PRO off the BPI-M5 U-Boot.
The BananaPi M5 supports the RTL8822CS Mezzanine, so let us
provide the proper bluetooth firmware.
NOTE: Boot needs verifying.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
- x13s: initialize bluetooth's public-addr, thus allowing BT to work
- linux-arm64-sc8280xp.config: enable per-core temperature sensors
- x13s: disable snapd.seeded service so boot won't hang if clock's < 2017
- x13s: back to steev's 6.3.y, since 6.4.y's audio drivers don't match alsa-ucm-conf
Linux 6.1 (current) / 6.4 (edge)
Add "current" to: config/boards/bananapim2pro.csc
Add uart_AO_B and uart_B to: meson-sm1-bananapi.dtsi
Add related pins to: meson-g12-common.dtsi
add wif/bt support to: meson-sm1-bananapi-m5.dts (BT = uart_A)
Add the ability to enable via overlays
NOTE: The overlay to enable the wifi on the BPI-M5 will be added
at a later date.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Co-authored-by: Patrick Yavitz <pyavitz@xxxxx.com>
Removed WIP status
Added CONFIG_R8169=m to defconfig(s) (eth support)
Modified and added additional patches (linux 6.1 / 6.4)
U-Boot v2023.07.2 (dropped v2022.10)
Upstream BT FW (rtl8822cs) is now shared between CM4IO and M2s
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
- `2023.04` fails during USB init, thus using 23.01 (23.07 untested)
- `blobless` with newer 2.8.5 ATF
- the previous problems with PCIe are _not_ totally solved by this
- 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
- move FIP signing code from meson-sm1.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_vim3l_uboot_new_and_old_blobs()` doing a dance for SD/eMMC with new blobs, and SPI with old blobs.
- 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.
- add `GRUB_CMDLINE_LINUX_DEFAULT` with `efi=noruntime clk_ignore_unused pd_ignore_unused` so it actually boots
- use `grub-with-dtb` for the (required) DTB usage in grub
- use a customize hook to add a lot of modules & fw into initrd, required for booting
- if on RELEASE=lunar, add Ubuntu's "x13s Concept" PPA and a few packages for battery control/audio
* Add support for Recore
Signed-off-by: Elias Bakken <elias@iagent.no>
* Add board maintainter to boad config
Signed-off-by: Elias Bakken <elias@iagent.no>
---------
Signed-off-by: Elias Bakken <elias@iagent.no>
* Introduce the `BOARD_MAINTAINER` in board config
Yes, we have documented the maintainers in `armbian/documentation`.
But it seem like that some of them don't maintain anymore.
Use a separated repos make us forget to update it.
So let's document here.
What's more, defining this make us easier to update `.github/CODEOWNERS`
* Set `BOARD_MAINTAINER` accroding to `armbian/documentation`
* Guess `BOARD_MAINTAINER`
Set he/she as board maintiner if he/she:
1. Create the board config
3. Commit at lease 3 times for the board config
3. Commit most for the board config
* Guess `BOARD_MAINTAINER`
Set he/she as board maintiner if he/she:
1. Create the board config
2. The only one to commit for the board config
* Set `BOARD_MAINTAINER` to empty for other boards
* AR-1712 fixing PR from wrong DB
* Fixing maintainers
Signed-off-by: Igor <igor@armbian.com>
* Add variable to missing ones
---------
Signed-off-by: Igor <igor@armbian.com>
Co-authored-by: Rafal-Hacus <68160861+Rafal-Hacus@users.noreply.github.com>
Co-authored-by: Igor <igor@armbian.com>
- `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`
* Move packages to new location
* Adjust build runners
* Switch to OS
Signed-off-by: Igor <igor@armbian.com>
---------
Signed-off-by: Igor <igor@armbian.com>
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
- sourceaddr `0x40008000` was found in Xunlong's legacy kernel source squashed into a huge commit. Thanks, Xunlong!
- bring `busybox` dependency with inline hook for legacy u-boot "unix2dos" which is essential
* [ rockchip64] second round config migration
Recommend all @armbian/boards-rockchip maintainers double check the resulting configurations, as stated in the PR the level of confusion in the family config logic likely means some boards have unnecessary extra stuff.
config file from from the family config file
Changes to be committed:
modified: config/boards/aml-s9xx-box.tvb
modified: config/sources/families/meson-gxl.conf
* sunxi-6.1: rebase to v6.1.14, reexport patches megous
* sunxi-6.1: rename fixes patches
* sunxi-6.1: reexport armbian patches
* sunxi-6.1: fix the series.conf file to the current state
* sunxi-6.1: switch edge to v6.1.14
* Adjust sunxi to 5.15 / 6.1 / 6.2
- change configs
- adjust broken patches
- disable patch that only changes /readme.md and it has issues
---------
Co-authored-by: Igor Pečovnik <igor@armbian.com>
* OLIMEX Teres-A64: Official Support
This commit provides an official armbian support for the system
Signed-off-by: Jacob Hrbek <kreyren@rixotstudio.cz>
* Remove additional lines
* CODEOWNERS: Removed myself from board config
* targets: undid changes
Addressed in https://github.com/armbian/os/pull/8
* olimex-teres-a64: align with #4877
---------
Signed-off-by: Jacob Hrbek <kreyren@rixotstudio.cz>
- `risc-v`: rework RichNeese's boards, reduce families, move tweaks to boards
- `risc-v`/`starfive`: `CONFIG_MOTORCOMM_PHY=m` for the onboard Ethernet
- `risc-v`/`starfive`: use mainline kernel 6.1.y, with StarFive's rebased patches against `v6.1.5`
- from https://github.com/starfive-tech/linux/commits/visionfive
- contention point: `1022-soc-sifive-ccache-Add-StarFive-JH71x0-support.patch` which I merged half-assed, need review/fixes?
- `risc-v`/`starfive`: update kernel config, sans changes
- `risc-v`/`starfive`: switch from `grub` to `extlinux`
- `risc-v`/`starfive`: new `starfive` family with their (vendor) kernel
Co-authored-by: Richard Neese <r.neese@gmail.com>
- symptoms:
- no video display in u-boot
- can't boot from SD (but does from eMMC)
- this has proven to solve nothing, but is still neat
- real problem is probably the FIP?
- 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
As extlinux is not matured within the armbian tools (armbian-config in particular), revert change until such a time as the proponents of extlinux mature the Armbian utilities.
-Fixes use of overlays