Jump to content

Radxa Pi Zero does not boot from eMMC if USB drive is connected


TobiMuc

Recommended Posts

Hi,

I installed armbian_23.8.1_Radxa-zero_bookworm-current_6.1.50 on Radxa Pi Zero eMMC and I have an USB SSD drive connected as storage. Everything worked fine using it as a NAS but if I reboot there is an endless loop of reboots with the core message "scanning bus usb0ff5000000 for devices... Synchronous Abort handler, err 0x56000010". If I disconnect the USB drive it boots fine and when reconnect it after the boot process, the drive works fine. But I really need a system that is able to boot without temporarely disconnecting USB. I tried different combinations of USB with two different hubs or without hub. There are no boot flags on the partitions. I completely deleted all partitions on the drive and tried different kind of partitions and file systems. It does not change anything. Even without any partition it has the same error. I have another USB SSD that also causes a few pages of error messages but after that it does boot (from eMMC). Unfortunately that is the wrong USB drive and does not help. Switching too the newest kernel with armbian-setup also does not work.

Finally I installed Radxa Ubuntu 20 and it boots without any issues while the USB SSD is connected. What can I do to solve this when using Armbian?

Thanks

Tobi

Edited by TobiMuc
Link to comment
Share on other sites

It is more than likely a u-boot issue caused by a specific patch; https://github.com/armbian/build/blob/main/patch/u-boot/v2022.10/meson64-boot-usb-nvme-scsi-first.patch

https://github.com/armbian/build/blob/main/config/boards/radxa-zero.conf#L17

 

You would need to build u-boot with this patch disabled, flash it to the unit and see if it solves the problem.

Link to comment
Share on other sites

Thanks, that really looks like the reason for this.

 

I don't get it... why do people buy a much more expensive Pi Zero with eMMC? Because they want the system on a relyable eMMC instead of USB or SD. I don't understand why there is a patch that boots from USB first.

 

Isn't there a way to configure the order or to disable USB during the boot process?

 

Sorry but whenever I try to find information about u-boot it is a complete mess what I get and nothing works. Compiling it sounds like many hours of try and error.

 

Link to comment
Share on other sites

I was able to solve it here. My Radxa Pi Zero boots from eMMC with USB drive attached. If someone has the same issue, here is a quick walkthrough:

 

# login as a non-root user

# Clone git from https://github.com/armbian/build#build-tools-overview

git clone https://github.com/armbian/build.git

# Some info: https://docs.armbian.com/Developer-Guide\_Build-Options/

# Remove the patch that we don't want:

rm build/patch/u-boot/v2022.10/meson64-boot-usb-nvme-scsi-first.patch

# Compile u-boot

./compile.sh build BOARD=radxa-zero BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=no BUILD_ONLY=u-boot KERNEL_CONFIGURE=no RELEASE=bookworm

# Somehow it compiles more than u-boot but less than without BUILD_ONLY=u-boot

# Optional backup of the deb packages to a mounted drive:

# sudo cp -a build/output/debs/* /mnt/radxa

# install

sudo dpkg -i build/output/debs/*.deb /home/tobi/build/output/debs/bookwork/*.deb

# install u-boot

sudo armbian-config

# Select system -> Install -> Install .. on ..eMMC..

# Reboot with fingers crossed

 

Edited by TobiMuc
Link to comment
Share on other sites

@c0rnelius graciously submitted GitHub PR to upgrade u-boot that effectively removed the patch in question from the equation for the Radxa Zero.

While it was nice to "boot USB first", since it enabled a few interesting scenarios (boot non-Armbian EFI OSes in USB disk), it's not worth having it if normal Armbian operation is impacted.

I've advocated for this usb-first style to be default around u-boot 2022, but we're now moving to board-specific support (and removing completely in the case of the Zero) for 2023+.

 

Link to comment
Share on other sites

I'm having the exact same issue with my ODroid N2+, Armbian installed on SD card. System runs totally fine without USB HDD attached (or if attached after boot). But when rebooting it'll fail to start-up properly.
I'll look into compiling u-boot without the patch mentioned here. Any chance to remove this patch in the official builds? Citing the previous statement "it's not worth having it if normal Armbian operation is impacted" I think that's the case here, as I would consider connecting a USB HDD normal everyday operation. Thanks in advance.

Link to comment
Share on other sites

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