Having trouble booting from external usb 3 SSD

I have installed the latest coreelec image onto an external ssd to usb3 drive with rufus.

I’m having no luck getting it to boot. Iv tried all four usb 3 ports. Iv tried with or without the emmc / micro sd present. Iv had success booting of emmc and micro sd so far, but no luck from usb3 external ssd.

Is there anything I am missing? Do I need to configure my emmc in a way as to allow “boot” from the external drive?

Thanks in advance!

Can’t help without knowing which device this is?


I’m using the N2! (Latest nightly)

A usb 3 to data enclosure + ssd

Thanks adam

Please post in the N2 specific sub-forum for N2 related issues as this is what it exists for :wink:.

for USB booting on the N2 you need to use petitboot; however, I have only tested with a USB flash drive.

That enclosure you are using will make the SSD appear to the N2 as a USB-HDD rather than a flash drive which is not something I have tested.

I do apologize. I will make sure to post in the correct section from now on.

Im reading in order to get petitboot i need to follow these instructions :


I SSH into my box with a fresh install of coreelec on my micro sd.

The first step directs me to type in :

source buildroot/build/setenv.sh odroidn2_bios_release

however, I get an error that no such directory exists

Is there a simple way I can download the petitboot image (which I read I have to place on the first partition of the micro sd from my understanding)


Read those instructions again, they are for “BUILDING PETITBOOT”.

All you have to do is download the image and rename it to spiboot.img and place it on a memory card and flip the switch.

You can download the latest image from the link and just rename the file downloaded to spiboot.img. This will update the Petitboot on your N2 and will boot from USB storage.

If you still face the problem, please visit the link above.

Thanks a lot for the help!

Im still having issue however…

I did manage to get petitboot to load! I had made a change to the boot order, but it was actually not correct. When I try to reboot It no longer gets me into petitboot. I tried deleting the spiboot.img on the drive and re-placing it. This did not help me get back to the petit boot menu. I made sure the switch is in spi.

Is there something I’m missing? How can I get back to petitboot? I can’t figure it out.


I’m reading from


That I need a file called sdcard.img to “clean” or fix petitboot if it’s not in a working state.

Where could I get this image? Would I simply place it in the same partition but boot first into mmc mode with it in place?

Is this the answer I’m looking for? Any further help would be appreciated!

Please do download the image and flash to uSD, this image is to fully replace SPI flash memory.

Before updating the SPI flash memory, flip the boot select switch to MMC and do power cycle. Once you have updated, remove the power cable as well as MMC and flip back the boot select switch to SPI. If everything is ok, you can have Petitboot.

My understanding:

Step 1) Use rufus to flash given image to micro sd card

Step 2) Ensure N2 has been booted into MMC mode with a power cycle. Turn off. unplug emmc

Step 2) Flip Switch to SPI mode, Place Micro SD while N2 is off still unplugged

Step 3) Plug in N2, let it boot while in SPI mode with only micr sd.

Step 4) Petitboot should boot. Configure to your liking.

Step 5) Power device off, place eMMC back, keep switch in SPI mode? or MMC mode?

– - Let me know if there is a mistake anywhere here! What am i missing still?

Thanks so much again,

Good news!

I got it up and running (I think) …

With your help! So thank you!

Only issue now is, when I try to boot from the ssd, it does nothing.

The only mode where petit boot recognizes the ssd at all is in spi mode. (Petitboot still boots in mmc boot however the ssd does not pop up)!

The ssd device (labelled sda1) has coreelec flashed to it with rufus. Emmc is not attached. Mode is in spi.

Thank you again!! :slight_smile:

Congratulation!! Let’s do another update…

Download the file and copy it to your MMC card as spiboot.img before reboot, then Petitboot will load and update itself. Do not flip the boot select switch to MMC, keep at SPI. Once everything is done, on next reboot you will see the new version 20190705 and it will load from SSD.

You are a life saver!

Everything is up and running now! Booting from my ssd thru usb 3 !!

Thanks again for all the help!

One small note for any one interested,

The performance is much worse than emmc. In fact kodi bogs down quite easily on the ssd via USB.

I ran i/o benchmark in kodi, and it shows performance as slightly worse than the emmc.

I also copied a large file within each drive. The emmc performs at a rock solid fixed 45-147 MBps, while the SSD starts at 230 for about 1 second then drops to 100 quickly, then down to 60, back up to 100, etc.

Not sure if this is a limitation of usb 3 or my ssd?

I’m using the Samsung evo 840, which isn’t bad.

Looking at odroids own data, it shows usb 3 theoretical 4k/16k/512k as slightly better than emmc.

If you boot from eMMC,using your SSD as a plain external drive, do you get a performance increase when copying to the SSD?

And just to make another potentially useful comparison, carry out the same file copy test with the SSD connected to a port on your PC.

The N2 specs show the use of a GL3523 USB 3.0 controller, which looks good on paper.

As a slight aside, I reckon that it would be great if you packed all the information into a step by step guide and posted it onto the Guides and How-tos section of the forum for others to follow for future use.

Try to use the Micro-USB OTG, maybe it performs better.
see https://forum.odroid.com/viewtopic.php?f=181&t=34849

There were some issues esp. with the GL3523 USB HUD, see HK forum…

What was the outcome of the HW review?
From my point of view, after reading the datasheet, I agree to “nick793” that your implementation may be causing brownout on 1V2 rail for load regulation due to SMPS reg. limits.

Please let me have the output of cat /proc/cmdline when you do copy with SSD.

Just to confirm what you are requesting that I test:

on N2 :

  1. SSD to SSD copy (booting from ssd)

  2. eMMC to SSD Copy (booting from eMMC)

  3. SSD to eMMC copy (booting from eMMC)

  4. eMMC to eMMC copy (booting from eMMC)

It wont actually let me boot into ssd, and access the emmc as a storage drive. Because of this I cant test SSD to eMMC copy (booting from SSD).

On PC :

  1. internal SSD (Windows PC) to external SSD (COREELEC) copy

  2. external SSD (COREELEC) to internal SSD copy (Windows PC)

Let me know if all that will be sufficient to better determine a potential issue. If it is not all necessary, which from (1)-(7) shall I test?

Where exactly am I looking for : cat /proc/cmdline , on my N2? or Windows PC? Can you further explain how I would go about accessing this for you?

Thanks again for all the help

OK, then initially, do the basic tests.

  1. Connect the SSD to your PC through the USB 3.0 port and test the average copy speed of your chosen large file. This just verifies that the transfer speed is capable of meeting your expectation.

  2. Then boot the N2 from eMMC, connecting the SSD through one of the USB 3.0 ports and carry out the same test of copying the same chosen large file from eMMC to SSD (t might even be potentially useful to test the copy from all 4 USB 3.0 ports).

It gives you a baseline from which to start further testing and can help to immediately reduce the potential culprit(s), in this case, your SSD/Connection combo.

Where exactly am I looking for : cat /proc/cmdline , on my N2? or Windows PC? Can you further explain how I would go about accessing this for you?

You can run the command in the command shell on N2.