Jump to content

Recommended Posts

Posted

Hello everyone. I can't flash Armbian to EMMC on the OrangePi 5B board. I made an SD card, booted, ran armbian-install, selected Boot from EMMC/System on EMMC, the recording process was successful, but after that the board stops booting at all. When I boot from the SD card again, I see that EMMC is not a device in the system. There is no main mmcblk0, no mmcblk0boot0, no mmcblk0boot1.

 

I was able to get EMMC back only after re-flashing the standard Android firmware using RKDevTool via maskrom. When I flash Android to EMMC and then boot from the SD card with Armbian, /dev/mmcblk0, /dev/mmcblk0boot0 and /dev/mmcblk0boot1 are back in place.

 

Accordingly, I have some confusion:
1. Why, when booting from an SD card after flashing EMMC, none of the three devices mmcblk0, mmcblk0boot0 and mmcblk0boot1 are visible? What can be flashed there so that it falls off completely?
2. Why, when processing armbian-install, the system does not boot and how can I flash Armbian to EMMC?

 

I am using the image: Armbian_24.11.2_Orangepi5_bookworm_vendor_6.1.75_minimal.img.xz, I have previously tried others, including larger images with a graphical environment.
My board: Orange Pi 5B 16G/128G, revision 1.2. I have changed boards, tried three pieces.

<
Posted

So far I have come to the following solution:

The problem is now solved by rewriting part of the uboot taken from the manufacturer's image. I fix dtb in armbianEnv.txt to "5b" in the base Armbian image, write it to the EMMC using the utility rkdeveloptool on host PC, and then rewrite part of the bootloader starting at sector 64. At the moment, the solution is like this:

rkdeveloptool db rk3588_spl_loader_v1.15.113.bin
rkdeveloptool wl 0 Armbian_24.11.2_Orangepi5_noble_vendor_6.1.75_gnome-kisak_desktop-fixed-for-5b.img
rkdeveloptool wl 64 idbloader.img
rkdeveloptool rd

 

Prepare base image (This can be done by mounting an image, but it was easier for me via microSD.):

1. On a host computer I write any Armbian image to a microSD card.
2. On the same computer I edit the /boot/armbianEnv.txt directly on the microSD card. I'm changing the main dtb: ```fdtfile=rockchip/rockchip-rk3588s-orangepi-5.dtb``` to ```fdtfile=rockchip/rockchip-rk3588s-orangepi-5b.dtb```
3. I'm taking an image from a modified microSD card. Now I have an image with a dtb for Orange Pi 5B.

 

Getting the required part of the bootloader "idbloader.img":

1. I unpacked the uboot package from the official OrangePI image "linux-u-boot-current-orangepi5b_1.0.8_arm64.deb"
2. Now we get and save the file "idbloader.img"
 

It looks like the problem is somewhere in the uboot build. The solution is still generalized, but it works. I'll dig further to determine the exact cause.

idbloader.img

Posted

idbloader.img is the bootloader component obtained from the official Orange Pi manufacturer's image. 
To use it, I first write the Armbian image to the board’s eMMC, and then overwrite the bootloader portion. 
Writing starting from the 64th sector replaces the bootloader in the Armbian image, which allows the board to boot from the eMMC.
 

First I flashing the image from Armbian:

rkdeveloptool wl 0 Armbian_24.11.2_Orangepi5_noble_vendor_6.1.75_gnome-kisak_desktop-fixed-for-5b.img

And then I rewrite the bootloader over it starting from 64th sector:

rkdeveloptool wl 64 idbloader.img


Here is a link to the utility i use for flashing EMMC via MaskRom mode: rkdeveloptool

Posted

For Windows, there's a utility like this, but I haven't used it myself: RKDevTool
When flashing the main image, you probably need to enter 0 in the "address" column as well, but what to use for the bootloader is another question. I couldn’t tell whether the address is specified in sectors or bytes. Try flashing the bootloader at 64, and if that doesn't work, try 64*512 = 32768.
And don't forget to switch the board into MaskROM mode by pressing the button before powering it up.

Posted (edited)

It worked! You need to keep .img files in the same folder as rkdeveloptool folder and run everything as sudo. Thank You very much!!!

andrius-vainorius@DELL-G5:~/rkdeveloptool$ sudo rkdeveloptool db rk3588_spl_loader_v1.15.113.bin
Downloading bootloader succeeded.
andrius-vainorius@DELL-G5:~/rkdeveloptool$ sudo rkdeveloptool wl 0 Armbianserver.img
Write LBA from file (100%)
andrius-vainorius@DELL-G5:~/rkdeveloptool$ sudo rkdeveloptool wl 64 idbloader.img
Write LBA from file (100%)
andrius-vainorius@DELL-G5:~/rkdeveloptool$

Edited by Andrius Vainorius
Posted

No problem. This is a working solution, but the exact issue hasn't been identified yet. I'll keep digging into the Armbian build system and see what's up with uboot.

Posted

Yes, in theory it should work. It also programs the chip through MaskRom mode. The only thing is that, previously, the Orange PI website only had the software available with a Chinese interface, so I downloaded it from another source that offered an English version.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines