* Added a patch to add the lte_em05 driver
Adds support for the Quectel M2 WWAN card on the Rock 5T/5B+.
* Enable CONFIG_LTE and LTE_RM310 + LTE_EM05
Enables the lte_rm310 and lte_em05 drivers (drivers/net/lte/).
* Delete patch/kernel/rk35xx-vendor-6.1/net-lte-add-lte-em05-driver.patch
Changes in the patch submitted to armbian/linux-rockchip . Only config change needed now after that gets approved.
This was introduced in 2a8cb5793f as a relaxation to the previous
state when RISCv64 was not yet officially supported by Debian and
lived in Debian Ports.
The change isn't consistent and only works in 2 out of 3 units.
When it fails, it does so hard, breaking SDIO.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
This should be a long-term solution to armbian/community#39.
Adds a rockchip64 BOOT_SCENARIO for binman with mainline ATF and puts it
to use for the rock4-se board config.
Tested on my hardware, boots successfully.
* feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* orangepi5pro: dts: Fix incorrect GRF node name
The GRF node was misspelled as 'sysgrf' instead
of the correct 'sys_grf'.
This commit corrects the phandle to the proper value.
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
Also tick on:
CONFIG_SPI_LOOPBACK_TEST=m
CONFIG_SPI_SLAVE=y
CONFIG_SPI_SLAVE_TIME=m
CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m
CONFIG_SPMI=y
CONFIG_SPMI_HISI3670=m
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Setting MODULES="" overrides any module list inherited from the family
configuration; this may unintentionally lose essential vendor-kernel modules
(e.g. rockchip-rga, fusb302, etc.).
- PocketBeagle 2 and BeaglePlay requires this driver.
- The M4 core supports ZephyrRTOS and FreeRTOS along with bare-metal.
- Is already enabled in current and edge branch
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
- Using RT kernel is a common thing on pocketbeagle 2. So add current-rt
branch similar to what is being done for the base k3 family.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
- PocketBeagle 2 and BeaglePlay requires this driver.
- The M4 core supports ZephyrRTOS and FreeRTOS along with bare-metal.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
This was required in order to get the wif-pwrseq and bluetooth
functioning correctly on the BPI-M4-Zero. I suspect it will
have no negative results on other units. But of course this
needs to be tested.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Add option for number of threads used by build system
Attempt to fix https://github.com/armbian/build/issues/6907
* Add CPUTHREADS to replace USEALLTHREADS
Defaults to 150% as was always the case, otherwise allow user to override number of threads.
* Add initial support for Orangepi 5 Pro
Tested and Working:
Wireless & Bluetooth
USB 2.0 + USB 3.1
HDMI 2.1
Gigabit Ethernet (PCIe to RJ45 - Need drivers YT6801)
NVMe PCIe 2.0
MicroSD
Audio Controller es8388 - Audio Out
FAN PWM
LEDs PWM
Not Working:
Onboard Microphone
HDMI 2.0 (DP-HDMI - rockchip,rk3588-dp No Driver)
Not Tested:
Camera 1,2
eMMC
* OPi 5 Pro: Ethernet Driver Installation on First Boot
Implemented a simple script to install the driver
during first boot using the installation headers
included in the image. Takes just a few seconds
on first boot.
Disclaimer: Attempted installation in a chroot env but failed.
* fix: Make first-boot Ethernet driver install more robust
The `eth-driver-firstboot.service` would sometimes fail on first boot with a "Resource temporarily unavailable" error. This happened when another process had a lock on `dpkg`.
To fix this, the installation script now waits for any `dpkg` locks to be released before attempting to install the driver package. It also includes a retry mechanism (3 attempts) in case of a transient failure.
This ensures the network driver is successfully installed, providing a better out-of-box experience.
- The edge branch will soon move to 6.16, so adding the current branch
now.
- The kernel config is just a copy of edge config since both kernels are
the same right now.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
* set clocks to the old default rate if the codec never calls set_sysclk
After mainline kernel commit 21cfbeae7d7c54a6cdea4b00096150f438f4fbde
rockchip i2s requires that soc codecs call set_sysclk to explicity select a rate.
This patch simply reverts to the old behavior if the codec does call set_sysclk.
(rather that failing in that case with a bogus rate of 0hz)
Also adds rk3308 vendor ASoC support to 6.16 kernel
* Require use of device tree overlay to enable pcm5102a CODEC
KASLR, or Kernel Address Space Layout Randomization, is a
security mechanism used in operating system kernels to randomize
the memory locations of kernel code and data. This makes it
significantly harder for attackers to exploit memory corruption
vulnerabilities by preventing them from knowing the exact
addresses of kernel components.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
- Enable USB serial by default.
- Allows serial access without needing extra UART cable.
- Also USB serial is much faster than using the UART debug port.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Firstly, the upstream patch for sun4i-drm ensures the HDMI output is initialized successfully.
Secondly, patching drm_atomic_helper_connector_hdmi_check() avoids a null pointer dereference at shutdown or reboot
Although my initial testing appeared to be a success, subsequent
testing finds it to fail more often than it works.
Back to square one.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
The old method carried along with board-pbp-add-dp-alt-mode.patch only
makes typec work in one(normal) orientation. This patch introduces a
proper extcon driver and makes the workaround cleaner, so orientation
switch is working.
Improvements:
- type-c DP on rk3399 works with both orientations
- type-c USB 3.0 on rk3399 works with both orientations, with minor
issues, see below
Caveats:
- Powered USB-C hubs may be not recognized, and can be worked around by
loading a gadget driver, or manually toggling the mode once for each
connection.
- Some dual-role devices(phone, tablet) may be not recognized.
Affected boards:
- TinkerBoard 2/2S
- Pinebook Pro
- NanoPC T4
- Orange Pi 4
- Orange Pi 4 LTS
Tested on tinkerboard 2s. This patch contains other minor fixes for
tinker2's device tree, including adding a missing fan node, adding color
labels to leds.
The 2 patches adding dp support for nanopc t4 and pinebook pro are also
updated accordingly.
The device trees of Orange Pi 4 / 4 LTS are also updated to match the
new implementation.
Change U-Boot repository link from git.ti.com to Github. In the past,
there have been CI issues caused due to git.ti.com failing.
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Texas Instruments maintains a custom apt repository [0] that contains:
* tools like k3conf, which run on K3 devices
* TI's versions of upstream packages (such as mesa)
* out-of-tree drivers and firmware for graphics, wifi etc
Therefore, add TI's custom repository as the highest priority repository
in the filesystem. Doing this ensures that if apt finds a version of a
package that exists in both upstream Debian and the TI repository, it
picks the latter.
Additionally, introduce K3_PACKAGES variable to store a list of packages
that should be installed by-default in a K3 image. Initialize it to hold
TI's CC33xx packages.
Also set EXTRAWIFI to "no" in `current` image.
[0] https://github.com/TexasInstruments/ti-debpkgs
Co-authored-by: Suhaas Joshi <s-joshi@ti.com>
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
* remove the patches that are shredding upstream device tree
* consolidation into single patch that apply over upstream dt
* add pcm5102a device tree overlay for handy usage
TI SDK supports images with real-time kernel. Add support for building
such images for the `current` release by adding a config file for it.
The RT image is built with the `current-rt` branch.
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
- BeagleBoard.org boards normally ship with USB cdc enabled to allow
network sharing and ssh support over usb.
- This is specially important for boards like pocketbeagle2 since it
does not have built-in wifi.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Change from "y" to "m"
Before
[ 2.423992] rtc-hym8563 1-0051: no valid clock/calendar values available
[ 2.424718] rtc-hym8563 1-0051: registered as rtc0
[ 2.425770] rtc-hym8563 1-0051: no valid clock/calendar values available
[ 2.425789] rtc-hym8563 1-0051: hctosys: unable to read the hardware clock
[ 3.817166] rk808-rtc rk808-rtc.5.auto: registered as rtc1
After
[ 3.790107] rk808-rtc rk808-rtc.5.auto: registered as rtc0
[ 3.801742] rk808-rtc rk808-rtc.5.auto: setting system clock to 2017-08-05T09:48:13 UTC (1501926493)
[ 3.919628] rtc-hym8563 1-0051: registered as rtc1
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* always use http for apt repos
* pass possible proxy arguments to docker
* populate lower-case env variables with upper-case ones if not set otherwise
* correct system patch used for aliasing on Allwinner A10, A13 and A20 to ensure consistent allocation of device IDs
* Re-introduce spi overlays for each bus so that when used in conjuction with a device driver overlay, the pins are correctly muxed into SPI mode
* Ensure SPI overlay patches are applied
* Fix typo in patch name
* Move alias patches further down series.conf to ensure they are only called after the intial overlay creation
* Rephrase subject heading to improve clarity
* Fix interface aliases on Allwinner A10 for I2C, SPI and UART
* Fix interface aliases on Allwinner A13 for I2C and UART
* Fix interface aliases on Allwinner A20 for I2C, SPI and UART
* Fix SPI 2 pin names in line with latest revision of the Allwinner A10 device tree
* Fix SPI 2 pin names in line with latest revision of the Allwinner A20 device tree
* Create overlays for each bus on the Allwinner A20 so that the corresponding pins can be set into spi mode
* Create overlays for each bus on the Allwinner A10 so that the corresponding pins can be set into spi mode
* Condense alias path corrections into the intial overlay creation patch instead of applying a further patch on topof it to enact these corrections
* Remove references to our no longer needed addtional overlays
* rename to include 'arm-dts..' for consistency with other dts related patches
* Fix mistake in SPI overlay patches naming which leads to build failure
* Fix typo in application of spi2 overlay that was leading to compilation failure
* Amend the assigned aliases in overlay creation so that the kernel correctly maps the bus/port number to match the physical hardware numbering
* Update pin labels for SPI 2 to use current names as defined in sun4i-a10.dtsi and sun7i-a20.dtsi. fixed typo in sun5i-a13-spi-spidev as compatibility field should be sun5i-a13
* Re-introduce compilation of spi bus overlays on Allwinner A10 and A20 SOCs which are necessary to ensure that the pins are correctly muxed into spi mode
- fixes: unrecognized option '-Wl,--no-warn-rwx-segment'
- add a patch to atf that removes the unrecognized linker options
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
Follow conventional `if-then-else-fi` constructions by not having `else` followed by semicolon. Hush is accepting, but other commonly used shells do not accept this.
- UUID boot does not seem to work on PocketBeagle 2.
- So specify the block device path instead.
- Also without rootwait, the boot will fail.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
The current script can overwrite drivers which are set as built-in in
the board-specific config. This is not desirable.
Add a check to ensure we do not convert built-in stuff into modules.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
This was introduced in 6.2 but was removed from the kernel code
in 6.15.
We are currently building cores for sunxi starting from 6.6.
Therefore, a simple replacement without conditions.
If the array exists in this location, initializing an empty array
will destroy all the data that was stored in it.
Do not initialize an empty KERNEL_DRIVERS_SKIP array if it exists.
This allows us to create an array anywhere in the script,
including the user configuration, in a secure way.
This is tested on a tinkerboard 2s.
The u-boot dts for tb2 contains other fixes, and the major ones are:
- add missing basic gpio-fan node
- usb-c altmode fix, dts part
- we've too much logic in `chroot_sdcard_apt_get()` we need to re-use
for eg debfoster or any extensions that need to manipulate the apt
cache (which is handled via mounts in that function)
- `chroot_sdcard_apt_get()` now accepts a `chroot_command` env var,
defaulting to `apt-get`
- `chroot_sdcard_custom_with_apt_logic()` splits the params and calls
`chroot_command=... chroot_sdcard_apt_get ...` allowing for custom
calls
Use all parameters to display_alert()
```
[🐳|🌱] Running in container [ Adding provisions for container building ]
[🐳|🌱] Adding package to 'host_dependencies' [ python3-setuptools ]
[🐳|🌱] Python2 not available on host release 'noble' [ ancient u-boot versions might/will fail to build ]
```
- aimed at nanopi-r2s and nanopineo3
- impacts:
- boards (re)using 'nanopi-r2s-rk3328_defconfig' (rk3328)
and:
- boards using U-Boot v2022.04 or
- boards using U-Boot v2022.07
- added explicit dependency on python3-setuptools as (at least) U-Boot
v2022.04 and v2022.07 fail building due to missing 'distutils' for
boards that use U-Boot v2022.04 or v2022.07
- similar to e9708b8c33, but for the Blade3
- this reverts d048673c00 just for the Blade3
- there is little to be gained from .10 anyway on those machines (IMHO)
- it is still vendor 2017.09 after all, dunno why Radxa calls them "2024.x"
- 7s+ -> 3s
- by using `enable_extensions_with_hostdeps_builtin_and_user "add_host_dependencies" "host_dependencies_known"` instead of `enable_all_extensions_builtin_and_user`
- UMS mode (use the black USB port)
- Boot order: SD -> NVMe -> SATA -> USB -> eMMC
- Flash LEDs in preboot
- Networking stuff
- Lots of FS's and compression methods
* helios4: fix wake-on-lan (wol)
- added ethtool package
- enable wol on all ethernet interfaces
- support common systemd.net-naming-schemes (ethX/endX/enoX)
* Update helios4-wol.service
Removed test code.
* Update helios4-wol.service
Fix bug after retesting.
From the Kconfig:
```
Preload default EDID (Extended Display Identification Data)
branded by Linux Foundation that exposes display modes up
to 4k@30Hz, which have best compatibility with HDMI transmitters.
Enabling this option is recommended for a non-production use-cases.
It will make driver usable out-of-the-box.
For a higher display modes you will need to load customized EDID
from userspace using v4l2-ctl tool or by other means.
Without enabling this option driver will be practically
non-functional until EDID will be loaded from userspace.
Which is a wanted behavior when using this driver in a
commercial product that should utilize own branded EDID.
```
On v2025.01 and v2025.04 I get the following error
starting USB...
Bus usb@ff500000: dwc3_meson_gxl_get_phys: usb2 ports: 1
probe failed, error -114
No USB controllers found
So revert back to v2024.10 until sorted.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
ATF is currently built in Debug mode for K3 family of devices. This is
due to the fact that K3 Armbian images have been experimental so far.
However, there is work underway to make Armbian a production-capable
environment. Therefore, drop the DEBUG=1 flag from the ATF build
command.
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Presently, in k3 devices, we are setting TEE=bl31.bin. However TEE
should be set to OPTEE, not ATF.
Therefore, do the following:
* clone and compile OPTEE
* add variables for OPTEE platform and `make` arguments in all k3
board configs
* use the compiled binary as TEE to compile U-Boot
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Currently `current` picks 6.6.y kernel baseline, and `edge` picks
upstream's 6.12.y tree.
Make `current` pick the current SDK release (which, at the moment, is at
11.00.09 baseline), and make `edge` pick the latest un-released RC's
from TI's tree.
`current` is what most people will use, therefore it should be the same
as our official and tested release. `edge` can be either cutting-edge
(latest RC) or bleeding-edge (latest commit on cicd branch). For now,
keep it cutting-edge.
Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
- Added FDT resize/trim to allow big DT and overlays and still use
configured load addresses in case `setexpr` not available
- Moved FDT resize and next load address alignment
- Added filename information to load instructions
- Moved all "global" variable determinations to the top of the
bootscript
https://github.com/armbian/build/issues/8178
- Add switch to turn avoidance on/off
- Increment base address before alignment to resolve the oboe
- oboe observed in U-Boot v2021.04 and in particular with DT loading
- Updated names to reflect function better.
- Followed coding style of rest of the file, e.g. `test` instead of `itest` and `if ... ; then`.
- If `setexpr` fails, use configured addresses - either the ones defined in boot.cmd or set by armbianEnv.txt.
Changes to align with standard beagle images.
- extlinux.conf is much more flexible than uEnv.txt, specially when
having multiple kernel for development - menu entries are valuable for recovery
- typical beagleboard Debian images have been using extlinux.conf for
a while.
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Co-authored-by: Andrei Aldea <7153954+Grippy98@users.noreply.github.com>
using this extension allows for activation of the APA armbian package
archive and installation of the provided binary packages at image
creation time from within the Armbian Build Framework.
The goal of APA is to simplify maintenance of Armbian Core by moving
dependency logic and other packaging information into a separate space
and handle that meta-data with the proper distribution-creation and
-publication tools. Currently, much of this is done with fragile bash
scripting in Armbian Core instead.
https://github.com/armbian/apa
- **CHANGE**: This version tries to boot SD first (thus SD -> USB -> NVMe -> eMMC); before it would boot USB before SD
- as Armbian u-boot is possibly deployed to SPI, try to make as compatible as possible; eg enable squashfs support
- enable `setexpr` and `fileenv`, used by HAOS
- HAOS already has support for booting VIM3 from NVMe: https://github.com/home-assistant/operating-system/pull/3784
- borrowed `fileenv` patch from v2025.01 to .04
- Similar treatment that `odroidm1` got in https://github.com/armbian/build/pull/7769
- note: I will be leaving my VIM3 behind in the other side of the globe, so this is my last chance to test
* Update rock-4se.csc
Update the version of U-boot used with rock 4 se.
Tested locally on my board after building an armbian image.
ubuntu@rock-4se:~$ strings /dev/mmcblk1 | grep U-Boot
U-Boot SPL 2025.04-armbian-2025.04-S3482-P4a0b-H3d34-Va9af-Bb703-R448a (Apr 22 2025 - 10:05:17 +0000)
U-Boot phase
U-Boot
FIT image for U-Boot with bl31 (TF-A)
* Use BOOTCONFIG="rock-4se-rk3399_defconfig" and remove BOOTPATCHDIR
* Removed old comment
* Update rock-4se.csc
Revert BOOTCONFIG and update BOOT_FDT_FILE="rk3399-rock-4se.dtd"
* Update rock-4se.csc
Set BOOTCONFIG="rock-4se-rk3399_defconfig"
When RTL8152 USB network is enabled as build-in, it will throw out warnings such as:
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156b-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8156a-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153c-1.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153b-2.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-4.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-3.fw for built-in driver r8152
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8153a-2.fw for built-in driver r8152
This should prevent this while keep driver as module.
I don't know. This doesn't feel right. The package exists in Jammy, Noble and Bookworm in both amd64 and arm64 variants so should be good...though it is probably not needed in all constellations.
Still it is part of the toolchain and not generic packages. If this gets merged as it is this should be revisited.
- Fix dram, mmc for h616.
- The prefix is missing if we use OF_UPSTREAM
- upstream: arm64: sun50i-h616: sync with sunxi-6.12 kernel
- upstream: arm64: Add sun50i-h618-bananapi-m4-berry.dts
- change name of /etc/kernel/postinst.d/z51-raspi-firmware and check for distribution in runtime. This will prevent conflict with raspi-firmware on Debian, while Ubuntu don't have that.
- install packages depending on Distribution. Ubuntu gets what it was, while Debian gets different packages, mirroed from official Rpi bookwork repo: raspi-firmware raspberrypi-sys-mods bluez-firmware bluez
- bump EDGE kernel to 6.14.y
- Builds custom **kernel**, **image** or a **distribution** optimized for low-resource hardware,
- Include filesystem generation, low-level control software, kernel image and **bootloader** compilation,
- Provides a **consistent user experience** by keeping system standards across different platforms.
The **Armbian Linux Build Framework** creates minimal, efficient, and fully [customizable operating system images](https://docs.armbian.com/#key-features) based on **Debian** or **Ubuntu**. It is designed specifically for **low-resource single board computers (SBCs)** and other embedded devices.
## Getting started
This toolchain compiles a custom **Linux kernel**, **bootloader**, and **root filesystem**, providing fine-grained control over:
### Requirements for self hosted
- Kernel versions and configuration
- Bootloader selection and customization
- Filesystem layout and compression
- Additional firmware, overlays, and device trees
- System optimizations for performance and size
- x86_64 / aarch64 machine
- at least 2GB of memory and ~35GB of disk space for VM, container or bare metal installation
- [Armbian / Ubuntu Jammy 22.04.x](https://github.com/armbian/sdk) for native building or any Docker capable Linux for containerised
- Windows 10/11 with WSL2 subsystem running Ubuntu Jammy 22.04.x
- Superuser rights (configured sudo or root access).
- Make sure your system is up-to-date! Outdated Docker binaries, for example, can cause trouble.
The framework supports **native**, **cross**, and **containerized** builds for multiple architectures (`x86_64`, `aarch64`, `armhf`, `riscv64`), and is suitable for development, testing, production deployment, or automation pipelines.
For stable branch use `--branch=v25.02`
It ensures **consistency across devices** while remaining modular and extensible through a variety of configuration files, templates, and user patches.
- Book an hour of [professional consultation](https://calendly.com/armbian/consultation)
- Consider becoming a [project partner](https://forum.armbian.com/subscriptions/)
- [Contact us](https://armbian.com/contact)!
Free support:
Find free support via [general project search engine](https://www.armbian.com/search), [documentation](https://docs.armbian.com), [community forums](https://forum.armbian.com/) or [IRC/Discord](https://docs.armbian.com/Community_IRC/). Remember that our awesome community members mainly provide this in a **best-effort** manner, so there are no guaranteed solutions.
## Contact
- [Forums](https://forum.armbian.com) for Participate in Armbian
- Follow [@armbian](https://twitter.com/armbian) on 𝕏 (formerly known as Twitter), <a rel="me" href="https://fosstodon.org/@armbian">Mastodon</a> or [LinkedIn](https://www.linkedin.com/company/armbian).
- [Current and past contributors](https://github.com/armbian/build/graphs/contributors), our families and friends.
- [Support staff](https://forum.armbian.com/members/2-moderators/) that keeps forums usable.
- [Friends and individuals](https://armbian.com/authors) who support us with resources and their time.
- [The Armbian Community](https://forum.armbian.com/) helps with their ideas, reports and [donations](https://www.armbian.com/donate).
## Armbian Partners
Armbian's partnership program helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with our Partners:
- [Click here to visit our Partners page!](https://armbian.com/partners)
- [How can I become a Partner?](https://forum.armbian.com/subscriptions)
## Star History
[](https://star-history.com/#armbian/build&Date)
## License
This software is published under the GPL-2.0 License license.
Armbian's [partnership program](https://forum.armbian.com/subscriptions) helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with [our Partners](https://armbian.com/partners).
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
@@ -55,12 +61,13 @@ function post_family_config_branch_edge__nanopct6_use_mainline_uboot() {
# U-boot 2025.04+ can detect and set fdtfile automatically across T6 and T6-LTS boards.
# So if using mainline u-boot, unset BOOT_FDT_FILE to let u-boot handle it.
# That way, both variants can boot from the same image; lets keep the -lts board file for vendor kernel/u-boot.
function post_family_config_branch_edge__t6_and_t6_lts_auto_dtb_name_via_uboot_detection() {
function post_family_config__t6_and_t6_lts_auto_dtb_name_via_uboot_detection() {
[[ "${BRANCH}" == "vendor" ]] && return 0 # Not for 'vendor' branch, which uses 2017.09 vendor u-boot from Radxa
unset BOOT_FDT_FILE
}
function pre_config_uboot_target__nanoptc6_patch_uboot_dtsi_for_ums() {
[[ "${BRANCH}" != "edge" ]] && return 0
[[ "${BRANCH}" == "vendor" ]] && return 0 # Not for 'vendor' branch, which uses 2017.09 vendor u-boot from Radxa
display_alert "u-boot for ${BOARD}" "u-boot: add to u-boot dtsi for UMS" "info" # avoid a patch, just append to the dtsi file
cat <<- EOD >> arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi # Append to the t6 u-boot dtsi file with stuff for enabling gadget/otg/peripheral mode
@@ -69,6 +76,9 @@ function pre_config_uboot_target__nanoptc6_patch_uboot_dtsi_for_ums() {
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
# A better equivalent to patching a defconfig, do changes to .config via code.
# For UMS/RockUSB to work in u-boot, &usb_host0_xhci { dr_mode = "otg" } is required. See 0002-board-rockchip-ODROID-M1-override-kernel-DT-for-xhci-otg-dr_mode.patch
function post_config_uboot_target__extra_configs_for_quartz64a() {
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
@@ -27,8 +27,8 @@ enable_extension "grub-with-dtb" # important, puts the whole DTB handling in pla
declare -g BOARD_FIRMWARE_INSTALL="-full"
function post_family_config_branch_sc8280xp__jhovolds_wip_kernel() {
declare -g KERNEL_MAJOR_MINOR="6.14" # Major and minor versions of this kernel.
declare -g KERNELBRANCH='branch:wip/sc8280xp-6.14' # @TODO: this is down to 31 patches, from hundreds back in the day. Considering merging this with default arm64 uefi kernel
declare -g KERNEL_MAJOR_MINOR="6.15" # Major and minor versions of this kernel.
declare -g KERNELBRANCH='branch:wip/sc8280xp-6.15' # @TODO: this is up to 47 patches, from 28 around 6.13; wait a bit until speculating about merging with uefi-arm64
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.