All Activity
- Today
-
Hello. How can I install armbian to internal MMC storage instead of SD card? Do you have guide somewhere?
-
Just a few more details on the system booted from eMMC: ubuntu@x96q:~$ df -h Filesystem Size Used Avail Use% Mounted on tmpfs 98M 2,5M 95M 3% /run /dev/mmcblk2p1 7,0G 1,2G 5,5G 19% / tmpfs 486M 0 486M 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 486M 0 486M 0% /tmp /dev/zram1 47M 344K 43M 1% /var/log tmpfs 98M 4,0K 98M 1% /run/user/1000 ubuntu@x96q:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mmcblk2 179:32 0 7,3G 0 disk └─mmcblk2p1 179:33 0 7,2G 0 part /var/log.hdd / mmcblk2boot0 179:64 0 4M 1 disk mmcblk2boot1 179:96 0 4M 1 disk zram0 251:0 0 485,5M 0 disk [SWAP] zram1 251:1 0 50M 0 disk /var/log zram2 251:2 0 0B 0 disk
-
Hi everyone, first post here. Sorry but after reading a lot I'm still not sure if the issue of installing into the eMMC was resolved or not. This is my experience. I generated an image with "./compile.sh build BOARD=x96q BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=yes EXPERT=yes KERNEL_CONFIGURE=no KERNEL_GIT=shallow RELEASE=noble" which works on SD. I ran "armbian-install" and installed to eMMC. When rebooting without the SD card, on the serial console I get: U-Boot SPL 2024.01-armbian-2024.01-S866c-P63e9-H8869-Vad24-Bb703-R448a (Sep 10 2025 - 13:04:13 +0000) DRAM base address is defined as 0x40000000 DRAM has 15 b/raw, 10 b/col, 4 B/width, 1 #rank and 8 #bank DRAM top address must be less than 0x40000000 DRAM: 1024 MiB Trying to boot from MMC2 MMC Device 1 not found spl: could not find mmc device 1. error: -19 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### Lookin online for this specific issue, I found this issue in github: ( https://github.com/apritzel/u-boot/issues/7 ). Seems like there is indeed a bug with u-boot and this particular hardware which was addressed by that patch. When booting with the SD card and pressing "space" to interrupt the boot and get a prompt, I can run a few commands. Running "mmc info" after selecting "mmc dev 2" shows that the eMMC is there, seems healthy and accessible. If I run those "mmc read $kernel_addr_r 10 XXX" commands suggested in the bug report, I can read up to max 4 units, after 5 I start getting the ERROR, which confirms the bug. I then saved that patch ( https://lore.kernel.org/linux-sunxi/20250309061241.62170-1-jernej.skrabec@gmail.com/ ) into a file in armbian-build/userpatches/u-boot/u-boot-sunxi/fix-emmc-h313.patch and rebuilt my image. The patch was applied successfully (I confirmed in the logs). I flashed the new image to SD card and booted. Right at the first boot, I pressed space and tried those same "read" commands in u-boot as above, now I don't get errors anymore, which is good. Before the patch: => mmc dev 2 switch to partitions #0, OK mmc2(part 0) is current device => mmc read $kernel_addr_r 10 1 MMC read: dev # 2, block # 16, count 1 ... 1 blocks read: OK => mmc read $kernel_addr_r 10 2 MMC read: dev # 2, block # 16, count 2 ... 2 blocks read: OK => mmc read $kernel_addr_r 10 3 MMC read: dev # 2, block # 16, count 3 ... 3 blocks read: OK => mmc read $kernel_addr_r 10 4 MMC read: dev # 2, block # 16, count 4 ... 4 blocks read: OK => mmc read $kernel_addr_r 10 5 MMC read: dev # 2, block # 16, count 5 ... 5 blocks read: OK => mmc read $kernel_addr_r 10 6 MMC read: dev # 2, block # 16, count 6 ... 0 blocks read: ERROR After the patch: => mmc dev 2 switch to partitions #0, OK mmc2(part 0) is current device => mmc read $kernel_addr_r 10 10 MMC read: dev # 2, block # 16, count 16 ... 16 blocks read: OK I booted the full system, installed to eMMC, rebooted, but still the same error as above (SPL: failed to boot from all boot devices). I'm not sure why. My last test: I booted u-boot from the SD card, stopped at the prompt, switched to emmc and proceeded the boot. It worked, I have a system booted from eMMC. U-Boot 2024.01-armbian-2024.01-S866c-P63e9-H8869-Vad24-Bb703-R448a (Sep 10 2025 - 13:04:13 +0000) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: hechuang,x96q LPDDR3 DRAM: 1 GiB Core: 55 devices, 20 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4021000: 1, mmc@4022000: 2 Loading Environment from FAT... Unable to use mmc 0:1... In: serial@5000000 Out: serial@5000000 Err: serial@5000000 No USB device found Net: eth0: ethernet@5030000 starting USB... No working controllers found Autoboot in 1 seconds, press <Space> to stop => mmc dev 2 switch to partitions #0, OK mmc2(part 0) is current device => mmc info Device: mmc@4022000 Manufacturer ID: 90 OEM: 4a Name: H8G4t� Bus Speed: 52000000 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.0 High Capacity: Yes Capacity: 7.3 GiB Bus Width: 8-bit Erase Group Size: 512 KiB HC WP Group Size: 4 MiB User Capacity: 7.3 GiB WRREL Boot Capacity: 4 MiB ENH RPMB Capacity: 4 MiB ENH Boot area 0 is not write protected Boot area 1 is not write protected => setenv devnum 2 => run distro_bootcmd switch to partitions #0, OK mmc2(part 0) is current device Scanning mmc 2:1... Found U-Boot script /boot/boot.scr 4641 bytes read in 2 ms (2.2 MiB/s) ## Executing script at 4fc00000 U-boot loaded from SD Boot script loaded from mmc 205 bytes read in 1 ms (200.2 KiB/s) Load fdt: /boot/dtb/allwinner/sun50i-h313-x96q-lpddr3.dtb 42411 bytes read in 4 ms (10.1 MiB/s) Working FDT set to 4fa00000 4203 bytes read in 3 ms (1.3 MiB/s) Applying kernel provided DT fixup script (sun50i-h616-fixup.scr) ## Executing script at 45000000 11874272 bytes read in 378 ms (30 MiB/s) 38217736 bytes read in 1213 ms (30 MiB/s) Moving Image from 0x40080000 to 0x40200000, end=42760000 ## Loading init Ramdisk from Legacy Image at 4ff00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 11874208 Bytes = 11.3 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 4fa00000 Booting using the fdt blob at 0x4fa00000 Working FDT set to 4fa00000 Loading Ramdisk to 494ad000, end 49ffffa0 ... OK Loading Device Tree to 000000004943a000, end 00000000494acfff ... OK Working FDT set to 4943a000 Starting kernel ... The installation seems mostly ok since I can boot u-boot from SD and then switch to booting on the eMMC side and it works. The question now is why u-boot still fails to load from the eMMC.
-
Recommended. It looks like its not that far away. With rebase you will see the diff and if this is all you need to apply.
-
Hello fellow Linux gurus, Seeking for some assistance on this. I have NIC1 on 192.168.100.1/24 network with gateway set as 192.168.100.254 < this cant be changed. with a few PC’s connected to this. And NIC2 on 10.10.10.1/24 with a few devices on this. I want to be able to ping from PC1 connected to NIC1 on 192.168.100.100/24 to devices connected to NIC2 on 10.10.10.100/24 Could someone advise on the route settings I need to configure to make this work please ?
-
I was able to find a UART module to read out the boot. See the file attached of the full log I was able to capture. It seems to fail on this part: Starting kernel ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems done. Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. done. Gave up waiting for root file system device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Missing modules (cat /proc/modules; ls /dev) ALERT! UUID=0a0755af-1936-4167-9d26-9ca9a87a9103 does not exist. Dropping to a shell! U-Boot SPL 2025.10-rc3-armbian-2025.txt
-
For this board https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware It looks like Olimex have forked Armbian-build and done the board bringup: https://github.com/OLIMEX/imx8mp-build/commit/a3cb5ad2710cd3edf6a4c6c067b049af48b03fa5#diff-1b53368896f4902ddbb5db1fa206835ccbb04445cd8bcaa5fef353655794665a How could I bring that code back into the main https://github.com/armbian/build/tree/main I think I need to rebase the Olimex fork back to the main Armbian Repo? Or should I fork the Armbian repo and then re-apply the Olimex changes to the fork?
-
Efforts to develop firmware for H96 MAX M9 RK3576 TV Box 8G/128G
xiaobao80 replied to Hqnicolas's topic in Rockchip CPU Boxes
Modified based on nanopi-r76s.dts, both wireless and Bluetooth networks are working properly. There is no 3.5 interface fiber optic interface audio in DTS, and the standard infrared remote control cannot be used 4k hardware acceleration mpv kodi is normal Compile-configuration.zip -
Terrific! You're welcome!
-
@The Tall Man Thanks again, it works
-
@The Tall Man Thank you very much, I will try and fb!
-
@Rodrigo Campos@Nick A This guy seems to have created a u-boot that can get 4gb ram for M98-8K. https://github.com/nitrolack/M98-8K-Linux/blob/main/U-Boot Screen 20-03-2024
-
That module is not included in the default kernel build configuration. But you can build the kernel yourself. https://docs.armbian.com/Developer-Guide_Build-Preparation/ https://docs.armbian.com/Developer-Guide_Build-Commands/ When you run ./compile.sh, the first thing it shows you is the kernel configuration screen (image 1). Select, "Show a kernel configuration menu before compilation". When it finally arrives on the configuration menu (image 2), use the forward slash key (/) for search, enter ntsync. When the result comes up (image 3), press 1 to select it. It will take you right to it. It will be highlighted (image 4). Press the M key to select it as a module. The use the right arrow to move from Select to Exit, and keep doing that until you get to where you save it. Then keep going with the rest of the process. I could be wrong about this, but I think you can build the kernel only without the whole armbian image too, with this (from the second link above); ./compile.sh kernel-config BOARD=orangepi5 BRANCH=edge Image 1: Select Kernel Configuration Image 2: Kernel Configuration Menu Image 3: Search Result - NTSYNC Image 4: - NTSYNC Selection
-
As the title says, how can I install the ntsync kernel module for use with Wine/Proton?
-
For anyone interested in solving this temporarily, doing the following steps worked for me: sudo systemctl edit systemd-networkd ### Editing /etc/systemd/system/systemd-networkd.service.d/override.conf ### Anything between here and the comment below will become the new contents of the file [Service] ExecStartPre=/bin/sleep 5 ### Lines below this comment will be discarded sudo systemctl daemon-reexec sudo reboot
-
Rupa X88 Pro 13 - RK3528 board with images
John Taylor replied to fedes_gl's topic in Rockchip CPU Boxes
Guys, please do keep us all updated on the rk3528. I was just about to buy a job lot of boards for a grid computing project when I found it's not supported yet. I found that my old TV rk32xx box was well supported, so am prepared to wait. -
As other people have noted, there are issues trying to connect the CB1 to wifi after the first boot. I believe I've narrowed down the cause, but I'm not sure about the right way to fix it permanently. The issue I was experiencing is as follows: 1. Flash latest armbian minimal to sd card 2. Plug into CB1 and turn it on 3. Go through first boot setup and connect to wifi normally 4. Reboot CB1 5. CB1 no longer connects to wifi, wpa_cli says 'CTRL_EVENT_SCAN_FAILED' A temporary solution I found is to mask systemd-networkd, then manually unmask systemd-networkd and start it after booting. This suggests that the problem is that systemd-networkd tries to talk to the RTL8189 before it's ready, and that puts the chip into a bad state. The wireless connection works on the first boot, because the CB1 doesn't try to configure the chip until after it has booted up. If I only mask netplan-wpa-wlan0 (instead of masking networkd) and try to manually bring it up, then I get an empty scan result, rather than CTRL_EVENT_SCAN_FAILED. Is there a way to make systemd-networkd wait until after the driver has loaded before trying to configure the chip? The easiest temporary solution is probably to just add a delay before systemd-networkd starts.
-
@snow try the transpeed image https://github.com/NickAlilovic/build/releases/tag/20250306
- Yesterday
-
Thanks for the reply. In the end I soved it by following also a few steps from over here. I don't know exactly what did the trick, but actually I assume it was pure coincidence: my ethernet device is actually called en0, not eth0. During my first run through this tutorial I wasn't aware of that. I think I simply forgot to change this bit in my recent try and luckily got it working that way. About the systemd-cryptsetup: I don't know if I understand correctly, but doesn't this do some of the steps automatically which we set up manually? If so, maybe it should be adopted to this tutorial in the future …
-
You could try to write the bootloader again to the SD-card, it seems like it's mixed up. Old with new. not sure if the names are exactly like this but something like this: cd /usr/lib/linux-u-boot-vendor-orangepi-5 sudo dd if=u-boot-rockchip.bin of=/dev/sdx seek=64 conv=fsync sudo sync Or is ls -l /boot to see if the symlinks are correct. The correct dtb in armbianEnv.txt? The correct dtb for your current kernel version?
-
Any direction on where to look/fix?
-
There are three ways to do this. The first simplest is to assemble a binary debian package using the Armbiyan assembly system and then convert it to a rpm package directly in a running OpenSuse OS. The second way is more complicated but it is more correct. You can take patches directly from the build system and apply them to OpenSuse kernel sources in the sequence in which the build system does this while running. Next, build the kernel package using rpmbuild. The third way is the same as the second but use OBS. This will allow you to have your own repository of signed packages and install them using zypper. You can find like-minded people anywhere on our planet, including this place. Hope this helps you.
-
HC4 PWM Fan Control Not Working - Need Guidance to Contribute a Fix
Georges Holland replied to Adrienne's topic in Beginners
Hey, I think I'm impacted by the same issue. I've replaced the original fan of the HC4 with a Noctua NF-A4x10 5V PWM earlier this year. It was working as expected, but since couple weeks the fan is at 100% speed continuously, which is loud. It sounds like it's a software upgrade that broke the PWM control, but no idea which one. I've done part of the same testing you mentioned but didn't managed to find a fix neither. I'm probably even more beginner than you, so I don't think I can help much unfortunately. How can we get more eyes on this issue? Did you post on Odroid Forum?