Jump to content

Trying to fully boot from USB Flash drive on Orange Pi 4


Quang-vip

Recommended Posts

Hi,

 

I'm trying to fully boot an Orange Pi 4 from a USB flash drive from Uboot's prompt before it actually loads the kernel from the SD card (The SD card already has a working image of Armbian installed, that's where the board pulled Uboot from and is booting from it). The SD card currently has Armbian_23.5.1_Orangepi4_jammy_current_6.1.30_gnome_desktop installed on it.

 

The reason why I'm trying to boot the board from USB is that I want to try an image with Orange Pi 4's legacy kernel to be able to take advantage of its vendor Mali blob for performance comparison against the current open source Panfrost driver in mainline kernel. And that I don't have a separate SD card available now so I figured it'd be a good idea to flash an image onto a USB drive and make the board temporarily boot from USB instead.

The drive has Armbian_21.08.1_Orangepi4_buster_legacy_4.4.213_xfce_desktop written onto.

 

I thought it'd be as easy as just flashing an image onto the USB drive, get into Uboot's prompt by interrupting it via serial console and initialize the USB subsystem (usb start) then invoke the usbboot command and let it find the bootable part of the image on the drive then boot from it.

Now, I'm not sure if that's a proper way to boot the board from USB, but seeing that Amlogic boards can do such thing (source: Starting Armbian from USB flash drive), I figured I should try it too. (if you have a better idea, I'd happily welcome it!)

Uboot's version it's running on: U-Boot 2022.04-armbian (May 19 2024 - 19:21:57 +0000)

 

That's when the problem arises, when I ran the usb start command, I get the following (I already have a keyboard + mouse receiver dongle plugged into the "standing" USB 2 port and a flash drive plugged into the lower port of the USB 3 ports):

 

=> usb start
starting USB...
Bus usb@fe380000: ehci_generic usb@fe380000: failed to get usb phy
Port not available.
Bus usb@fe3c0000: ehci_generic usb@fe3c0000: failed to get usb phy
Port not available.

 

Doesn't seem like it detected any USB devices... Nevertheless, I tried usb tree to see if there's anything, but no:
 

=> usb tree
USB is stopped. Please issue 'usb start' first.

 

I'm guessing there's something wrong with the device tree embedded in Uboot or am I missing something here that it can't start the USB subsystem to detect any USB devices attached?

Do I have to make some modifications to Uboot or the device tree too so the kernel on the drive (in case Uboot successfully found the drive and booted that kernel instead) knows where it's actually booting from?

I've attached a boot log up until the point I interrupted it and ran the two commands:
uboot_log_usb_stopped.txt

 

Any help would be greatly appreciated!

Link to comment
Share on other sites

Armbian & Khadas are rewarding contributors

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