Jump to content

RSS Bot

Bot
  • Posts

    4244
  • Joined

  • Last visited

    Never

Everything posted by RSS Bot

  1. Monado's first stable of release of 2025 is here. From enhanced Android support and driver updates to improved runtime stability and tooling, Collabora's XR team delivered a wide array of improvements for the cross-platform, open source OpenXR runtime. View the full article
  2. In this second article of a three-part series, I look at how Matt Godbolt uses modern C++ features to try to protect against misusing an API that deals with destructive state transition based on a talk he gave on making code easy to use and hard to misuse. View the full article
  3. Description A (very poorly made) attempt to address https://github.com/armbian/build/issues/8161 It spits out some sort of kernel source package, but I think {version} is still missing since I couldn't get it to work and probably needs more fixes until production-ready. I probably won't go further here due to lacking expertise in framework and bash foo. Maybe someone want to pick it up from here. Also to do: Re-enable BUILD_KSRC switch to enable the extension. How Has This Been Tested? [x] enable extension [x] see some sort of kernel package being created [ ] ??? [ ] Profit! Checklist: [ ] My code follows the style guidelines of this project - Well...kind of? [ ] I have performed a self-review of my own code [ ] I have commented my code, particularly in hard-to-understand areas [x] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  4. How Has This Been Tested? build the armbian.img, flash to eMMC/USB drive,then boot and use it Checklist: [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [x] I have commented my code, particularly in hard-to-understand areas [x] My changes generate no new warnings Hardware Cainiao Logistics Terminal A311D Edition, detachable into two parts: the main unit and the base. Main Unit Amlogic A311D SoC, 2 GB DDR, 16 GB eMMC No SD card slot, so the A311D can only load FIP from eMMC. Gigabit Ethernet port and RTL8822CS WiFi/BT. One USB Type-C port for power and data transfer in USB download mode. When the main unit is used with the base, it is unclear if this Type-C can function as a Host under Linux, as it is obstructed by the base, making it difficult to plug in devices for testing. Base The base comes in different models, but the software should be universal. Equipped with a USB HUB, display (HDMI or VGA), and power supply (USB Type-C or DC). Debug Points Debug UART eMMC Shorting Point Armbian Peripheral Status Component Status GBE Working WiFi Working BT Working PWM Fan Working eMMC Working USB Working HDMI Display Working HDMI Audio Working Internal Speaker Not Working Power Button Working ADC Key Working Side Lights? Not Working Four Dots on Side Not Working (USB? SPI?) Installing Armbian The Amlogic USB Burning Tool uses a proprietary firmware format. Although the firmware extension is .img, it is not a disk image file. There are tools available for unpacking/repacking it: Amlogic binary only executable hzyitc/AmlImg 7Ji/ampack Repacking all system image .img files into USB flashing packages is not cost-effective. You can pack an FIP with mainline U-Boot into a USB flashing package to restore the device to a state with mainline U-Boot. Mainline U-Boot includes drivers for Ethernet, USB, and eMMC, which is sufficient for many tasks. An FIP with mainline U-Boot is available here. Flashing Mainline U-Boot Using dd Command If the device has a working system like Android or Linux with root access, you can simply write fip-with-mainline-uboot.bin to the eMMC: dd if=path-to-fip-with-mainline-uboot.bin of=/dev/mmcblk1 bs=512 seek=1 It is also recommended to flash the FIP to the eMMC boot area, as the A311D will try to load the FIP from the eMMC boot area if it cannot find it in the user area. On Linux, you can: # Check if write access to boot area is available blockdev --getro /dev/mmcblk1boot0 blockdev --getro /dev/mmcblk1boot1 # Unlock write access to boot area echo 0 | sudo tee /sys/block/mmcblk1boot0/force_ro echo 0 | sudo tee /sys/block/mmcblk1boot1/force_ro dd if=path-to-fip-with-mainline-uboot.bin of=/dev/mmcblk1boot0 bs=512 seek=1 dd if=path-to-fip-with-mainline-uboot.bin of=/dev/mmcblk1boot1 bs=512 seek=1 Using USB Download Mode If you cannot gain root access to the existing system on the device, you can use the Amlogic USB Burning Tool with the prepared USB flashing package fip-with-mainline-uboot.burn.img to directly flash mainline U-Boot to the eMMC. See Flashing eMMC in USB Download Mode for the USB download process. The Amlogic USB Burning Tool will write the FIP to the eMMC boot area. Flashing Armbian Image Flashing Armbian Image to USB Drive If you frequently test different systems, considering the lifespan of eMMC and convenience, you may prefer booting from a USB drive. Simply flash the .img file to a USB drive, insert it into the device, and power on. The mainline U-Boot on the eMMC will automatically scan devices like eMMC, USB, and Ethernet in sequence to find a suitable boot environment, such as a U-Boot script, extlinux, or TFTP. If the A311D still boots from eMMC, it means there is a bootable system on the eMMC. To force booting from USB, you need to destroy the system on the eMMC, such as by deleting the MBR partition table. Alternatively, in the U-Boot command line, enter setenv boot_targets usb0 && boot if you have a UART cable connected. Flashing Armbian Image to eMMC Method 1 This method requires a USB drive and network access for the device. First, flash the Armbian system image to a USB drive and boot the device from it. Then, transfer the system image to be installed to the USB drive via the network, and use the dd command to flash it to the eMMC: dd if=path-to-your-os-img of=/dev/mmcblk1 status=progress Alternatively, use a trick to avoid transferring the system image to the USB drive. On the Armbian system booted from the USB drive, install Netcat and run: nc -l -p 1234 > /dev/mmcblk1 On a Linux PC, install Netcat and run: nc -w 3 your-cainiao-cniot-core-ip 1234 < path-to-your-os-img Netcat has two variants: GNU and OpenBSD. If you have GNU Netcat installed on the PC, the command should be: nc -w 3 -c your-cainiao-cniot-core-ip 1234 < path-to-your-os-img To install OpenBSD Netcat: # ArchLinux sudo pacman -S openbsd-netcat # Ubuntu/Debian apt install netcat-openbsd To install GNU Netcat: # ArchLinux sudo pacman -S gnu-netcat # Ubuntu/Debian sudo apt install netcat-traditional Method 2 This method requires connecting the device's UART to a PC and ensuring both the device and PC are on the same LAN via Ethernet. First, place the system image to be installed on the Linux PC and rename it, e.g., armbian.img. Split the image on the Linux PC, as the device's memory cannot hold the entire image at once: split -b 512M armbian.img armbian.img. # Assume armbian.img is split into armbian.img.aa, armbian.img.ab, armbian.img.ac; note the filenames. Set up a TFTP server on the PC. Windows users can use Tftpd64. On Linux, use a similar tool like puhitaku/tftp-now. Download the binary from Releases, install it to PATH, and run sudo tftp-now serve -root dir-to-armbian.img.aX. When powering on the device, press the spacebar in the UART session to enter the U-Boot command line. Configure the device's network: setenv ipaddr 172.24.0.241 setenv netmask 255.255.252.0 setenv gatewayip 172.24.0.1 setenv serverip 172.24.0.248 The IP 172.24.0.248 is the PC's IP. Set the RAM address for temporarily storing the image: setenv loadaddr 0x20000000 Start downloading the image from the PC's TFTP server and write it to the eMMC: setenv mmcscript 'setenv files "armbian.img.aa armbian.img.ab armbian.img.ac"; setenv offset 0x0; for file in ${files}; do tftpboot ${loadaddr} ${file}; setexpr nblk ${filesize} / 0x200; mmc write ${loadaddr} ${offset} ${nblk}; setexpr offset ${offset} + ${nblk}; done' mmc dev 1 && run mmcscript Finally, reboot the device. Flashing eMMC in USB Download Mode The USB Type-C port on the main unit is the USB download port. Shorting the eMMC shorting point and powering on will put the device into USB download mode. Alternatively, while the device is running, you can erase the header of the eMMC user/boot area and reboot to enter USB download mode. Example commands: # Under Linux sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1MiB count=4 status=progress echo 0 | sudo tee /sys/block/mmcblk1boot0/force_ro echo 0 | sudo tee /sys/block/mmcblk1boot1/force_ro sudo dd if=/dev/zero of=/dev/mmcblk1boot0 bs=1MiB count=4 status=progress sudo dd if=/dev/zero of=/dev/mmcblk1boot1 bs=1MiB count=4 status=progress # Under U-Boot command line mmc dev 1 mmc erase 0 8192 mmc partconf 1 1 1 1 mmc erase 0 8192 mmc partconf 1 1 2 2 mmc erase 0 8192 Finally, use Amlogic USB Burning Tool v2.x.x to flash the image. View the full article
  5. Description This reimplements this pull request, while fixing the edge case (hopefully). https://github.com/armbian/build/pull/8186 I don't have a bare metal device to test. How Has This Been Tested? Tested using docker Checklist: Please delete options that are not relevant. [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [x] I have commented my code, particularly in hard-to-understand areas [ ] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  6. Description https://github.com/torvalds/linux/commit/4c7be57f2772c8ce4e1e43c6a79b8f8d401a4795 linux kernel make install by default will install the old non-compressed one. Then now, it will product vmlinux not vmlinuz lib/functions/compilation/kernel-debs.sh will not found vmlinuz in boot dir View the full article
  7. Powerful video analytics pipelines are easy to make when you're well-equipped. Combining GStreamer and Machine Learning frameworks are the perfect duo to run complex models across multiple streams. View the full article
  8. Gustavo Noronha helps break down C++ and shows how that knowledge can open up new possibilities with Rust. View the full article
  9. Join us in Stuttgart, Germany for XR EXPO 2025! This two-day event will be the meeting place for the XR community to exchange ideas and explore the latest trends. View the full article
  10. Configuring WirePlumber on embedded Linux systems can be somewhat confusing. We take a moment to demystify this process for a particular use case. View the full article
  11. Configuring WirePlumber on embedded Linux systems can be somewhat confusing. We take a moment to demystify this process for a particular use case. View the full article
  12. Description Use same uboot for current and edge builds, so that we can remove redundant lines. Add sata spi image to current, edge uboot builds. It is a bit hacky, but it works. Also add selection for SPI images like https://github.com/armbian/build/pull/8123 GitHub issue reference: Jira reference number [AR-9999] Documentation summary for feature / change Please delete this section if entry to main documentation is not needed. If documentation entry is predicted, please provide key elements for further implementation into main documentation and set label to "Needs Documentation". You are welcome to open a PR to documentation or you can leave following information for technical writer: [ ] short description (copy / paste of PR title) [ ] summary (description relevant for end users) [ ] example of usage (how to see this in function) How Has This Been Tested? Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. [x] Tested sata spi image boot. [x] Tested sata doesn't boot with normal spi image. Checklist: Please delete options that are not relevant. [ ] My code follows the style guidelines of this project [ ] I have performed a self-review of my own code [ ] I have commented my code, particularly in hard-to-understand areas [ ] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  13. Description Adding package that fell out during last packages jungle. How Has This Been Tested? [x] WiFi works after installing it, tested on Bookworm image Checklist: Please delete options that are not relevant. [x] My changes generate no new warnings [x] Any dependent changes have been merged and published in downstream modules View the full article
  14. Collabora's Board Farm demo, showcasing our recent hardware enablement and continuous integration efforts, has undergone serious development over the years. Here's a look at notable changes, and improvements, made for Embedded World 2025. View the full article
  15. Description Enable video console on amd64 cloud images - for remote console access Enable video console on aarch64 cloud images - for remote console access Add additional packages to cloud images How Has This Been Tested? [x] Tested on aarch64 netcup cloud Checklist: [x] My changes generate no new warnings [x] Any dependent changes have been merged and published in downstream modules View the full article
  16. As of today, NVK is a conformant Vulkan 1.4 implementation for NVIDIA Maxwell, Pascal, and Volta GPUs, and will be enabled by default starting with Mesa 25.1. View the full article
  17. Update the version of U-boot used with Radxa rock 4 se to v2025.04. 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) Description Update the version of U-boot used with Radxa rock 4 se. GitHub issue reference: Jira reference number [AR-9999] How Has This Been Tested? Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. [x] Image built using armbian/build [x] Flashed and booted the system using latest version (v2025.04) of U-boot on a rock 4 se board. Checklist: Please delete options that are not relevant. [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [x] My changes generate no new warnings View the full article
  18. Our commitment to open source extends beyond contributing code. We are dedicated to upholding the highest standards of license compliance throughout our development processes. View the full article
  19. This May, Embedded Recipes 2025, co-sponsored by Collabora, heads to Nice, France with talks, workshops, and a PipeWire hackfest, all bookended by the Linux Media Summit and the GStreamer Spring Hackfest! View the full article
  20. PanVK has reached a new milestone, and is now officially conformant with the Vulkan 1.1 specification on the Arm Mali-G610 GPU! The submission was done from the Mesa 25.0.2 release, and covers both armhf as well as aarch64 architectures. View the full article
  21. Description pull_request_review might not grant required permissions. pull_request_target runs in the context of the base repository (i.e., the one the PR is targeting), giving the correct access to secrets and permissions. How Has This Been Tested? Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. [ ] Test A [ ] Test B Checklist: Please delete options that are not relevant. [ ] My code follows the style guidelines of this project [ ] I have performed a self-review of my own code [ ] I have commented my code, particularly in hard-to-understand areas [ ] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  22. Description As per title. In u-boot v2025.04 the upstream dtb is missing. I assume it will land with v2025.07 later this year. Until then extracted via kernel-dtb from Linux 6.14.2. Had to strip the MAINTAINERS part from Ilya's patch since for unknown reason it failed to apply after converting into Armbian patch format and I didn't want to spent additional time on fixing. Apologies for that. How Has This Been Tested? [x] build [ ] boot: nope, no hw Test image: https://fi.mirror.armbian.de/.testing/Armbian-unofficial_25.05.0-trunk_Orangepi5-max_bookworm_edge_6.14.2_minimal.img.xz Checklist: [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [ ] I have commented my code, particularly in hard-to-understand areas [x] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  23. Hey, I started bumping to 6.15(-rc1) thinking it was gonna be easy. As always, it.. wasn't. So here's a branch on the upstream and a draft PR so we can maybe coordinate who can work on what. As-is, the branch disables EXTRAWIFI and predatorily drops patches until things build. All the commits marked HACK must be dropped and replaced with actual fixes. We could this per-family, but the wifi drivers question is common to mostly all. [x] meson64: mostly clean, @pyavitz already rebased the patch that needed it, thanks [x] uefi-arm64: clean [ ] rockchip64: large number of landed patches, large number of non-applying patches [ ] wifi drivers: mostly all broken [ ] rockchip64: patches on top of broken wifi drivers also broken View the full article
  24. Three demos. One stand. From end-to-end HDR and a brand-new SoC running PanVK, to NVK and WebGPU out of the box — discover how Collabora pushed open source graphics forward at Embedded World 2025. View the full article
  25. The GStreamer project has recently released version 1.26, and once again, Collabora has made numerous contributions including improved hardware efficiency, the MPEG-5 LCEVC codec and improved support for analytics and machine learning. View the full article
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines