* Khadas VIM4: U-Boot: Mod bootargs/defconfig and add bootscr support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Pull U-Boot from CoreELEC instead of Khadas
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Remove setexpr bootargs sub rootfstype= from boot.cmd
This is no longer required
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson S4T7: family.conf: Add missing `mkdir -p "${tbasedir}"`
The toolchains fail to download because the dir isn't created
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Meson T7: Add rootfstype= to command line
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Khadas VIM4: Add extra boot arguments
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Remove `viraniac` as maintainer and add `rw` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Add `fsck.repair=yes` and `rootwait` to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
* Amlogic T7: Move `${bootargs}` placement
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---------
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Co-authored-by: Igor <igor@armbian.com>
When patches outside the series are in the target folder
KERNELPATCHDIR = "archive/sunxi- $ {KERNEL _ MAJOR _ MINOR}"
they create problems for all other patches in the series
and are difficult to move to the new kernel version because
they are not properly designed.
Move the patches to a separate development folder until
the design is fixed so that we can add them to the series.
Add board configuration for FriendlyELEC NanoPi R76S, including:
- nanopi-r76s.conf with board parameters and boot settings
- initial kernel / U-Boot patch for device tree and board bring-up
XpressReal(https://xpressreal.io/) is a family of Single Board Computers
developed in collaboration between Fyde Innovations, Radxa and Realtek.
XpressReal T3 is the first product in the family - a small form factor
high performance single board computer powered by the Realtek RTD1619B,
which runs FydeOS/openFyde and Linux!
Now we are adding the awesome Armbian Linux support for XpressReal T3!
This commit introduces some binary files that XpressReal T3 needed:
- firmware/realtek/rtd1619b
These binaries are the firmware for rtd1619b peripherals
(including the audio decoder, video decoder, etc.).
- u-boot-fw.tar.gz
This contains some co-processor firmware,
which needs to be loaded by u-boot in the early stage of boot.
- u-boot-prebuilt.tar.gz
These are hwsettings related files, used for tasks such as DDR initialization.
These files come from the rtd1619b SDK, which has already been open-sourced on our github:
- [firmware](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-kernel/linux-firmware/files/rtd1619b)
- [u-boot prebuilts](https://github.com/XpressReal/linux-sdk/tree/main/meta-xpressreal/recipes-bsp/u-boot/files/prebuilt/rtd1619b)
This PR tells if there is a discrepancy between db and config and it becomes alright when all info is set correct. This action then adjust repo accordingly. Setting a different level would likely move out from review process. This PR is unique and dependent from:
- board status
- database entry
It only become valid for review when all things are set correctly.
Switch to newer U-Boot since it works reliably and provides upstream
improvements.
Add patch/u-boot/v2025.10 and the generic patch, as BOOTPATCHDIR cannot
be unset (fallback to legacy fails).
BOOT_SCENARIO="binman-atf-mainline" cannot be set here since it applies
globally to the CSC file and would break branch=vendor. Users who want
it can enable it manually.
* Drop CONFIG_CAN_TI_HECC module as it fails to compile
On other 32b configs
* Drop rk3588 collabora defconfig
* Drop CAN_TI_HECC from remaining as suggested by AI
when doing my initial changes [enabled a bunch of PHYs, made NFS/SMB
etc modules... random stuff], I somehow enabled some errata fixes, and
this one showed up in dmesg.
The real star of the show I'm pretty sure is CONFIG_PCS_MTK_USXGMII.
Note, it cannot be a module, but on this platform we probably wouldn't
want it to be anyway. When I say "it can't", I'm saying it breaks the
build during the linker phase for vmlinux. Probably worth fixing, but
I'm unclear where to start, other than it's probably a Kconfig
dependency problem.
CONFIG_I2C_SLAVE_EEPROM came along for the ride b/c it possibly made
sense with SFPs. But I haven't tried a test build without it yet.
For the record: this works with both my AQS-107-B0C2-CX [an 802.3bz
SFP+] and my FS.com SFP-10GSR-85 "generic" SFP+.
Affected kernels:
- odroidxu4-6.6
- spacemit-6.6
the following script gets it mostly (!) right
for patch in patch-6.6.*; do
# Extract the numbers using parameter expansion
num1=${patch:10:2} # Get the first number (2 digits)
num2=${patch:13:2} # Get the second number (2 digits)
# Pad the numbers with leading zeros
padded_num1=$(printf "%03d" "$num1")
padded_num2=$(printf "%03d" "$num2")
# Construct the new patch name
new_patch="patch-6.6.${padded_num1}-${padded_num2}.patch"
# Rename the file using git mv
git mv -v "$patch" "$new_patch"
done
make coderabbitai happy
Move the --[no-]install-recommends flag after the install subcommand and pass each package as its own argument to avoid them being interpreted as a single package name.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
gnome-bluetooth in later releases is only transitional package to
gnome-bluetooth-sendto. update config-base package definition for
noble and trixie i3-wm.
* 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>
- 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 / riscv64 machine
- at least 8GB (less for non-[BTF](https://docs.kernel.org/bpf/btf.html) builds) of memory and ~50GB of disk space for VM, container, or bare-metal installation
- **Armbian / Ubuntu Jammy 22.04.x** for native building or any Docker capable Linux for containerised
- 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.05`
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
# 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
function post_config_uboot_target__extra_configs_for_orangepi_mini() {
display_alert "$BOARD" "set dram clock" "info"
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.