CoreELEC on eMMC and Android on MicroSD

That is a really good plan.

  1. The flashing of android image seems pretty direct. But i’m confused about the next part titled “Reference boot.ini.”

  2. this where I configure the boot loader and choose what OS (CoreELEC or Android) to boot from?

  3. How do I access this?

  4. And how do I select or switch operating systems going forward?

  5. Do I need to buy the USB-UART Module Kit in order to achieve the dual boot setup I want?

The only other dual boot setup I’ve used before (on a streaming device) was on a Wetek Hub, but all the work has already been done for me. All I have to do is press Power during boot to choose Android or LibreELEC.

Forgive my ignorance on this, as I’ve never setup android from scratch as a dual boot. I can do Windows and Linux with my eyes closed, but that’s a whole different animal. lol

Forget about “Reference boot.ini”. Don’t change anything, just burn selected (latest) Android image (with Etcher) and install it; turn N2 off, remove any uSD card, attach eMMC module take care that SPI switch is on the right (eMMC) position and power on N2. Installation should start and finish without a problem. IIRC after the initial setup you have to turn N2 off and on to boot Android.
6. 7. 8. are separate topics and can be discussed when you have both systems (CE on uSD & Android on eMMC) up and running…

Simplest way to dual boot is: boot to CE with both uSD and eMMC inserted, and boot to Android when uSD is not inserted. There is another way (using SPI switch) but that takes more preparations…

1 Like

My intention is to boot Android from sd as I won’t be using it that often. CoreELEC will be my daily driver and prefer it on emmc.

Can I follow those same instructions but reverse the storage?

What about using supported dual boot from eMMC? You will lose some space but it will work without changing SD card.

1 Like

Yes you can, but Android works best when installed on eMMC.
Or you can use both systems installed on eMMC, and choose which OS to boot, as @vpeter suggested.
Search the forum for instructions how to achieve that method.

1 Like

Thanks for all your help. As of last night, Android is running fine on the SDcard.

Just to be safe, I formatted the SDcard using SD-Formatter because I used to have different operating systems on it.
I flashed the android image on my PC using Etcher.
Turned ODROID off
removed the eMMC card that has CoreELEC installed
inserted SDCard that was flashed
Made sure the SPI switch was on the right (eMMC) position
Turned ODROID on.
Installation auto began and successfully completed.

One problem I did encounter after android showed its home screen was a flashing, bluetooth-error, pop-up, window in the middle of the screen that was persistent. I couldn’t dismiss it. Had no choice but to unplug the bluetooth dongle. It was too late to trouble shoot so I’ll do that tonight after work.

Tonight, I’ll continue working on android by installing gapps via the tutorial on the link you provided.
Then I’ll test to see what happens when both the eMMC (CoreELEC) card and SDcard (android) are inserted.

Which will boot by default?
And how will I switch between the two going forward?

The SPI switch idea you previously mentioned sounds great. I’d hate to have to open the box and remove cards simply to properly boot a corresponding OS.

Thanks again for all your help.

I’d like to first segregate them completely by storage type. I’m keeping my CE Nightly build and I’d like to keep things completely separated to avoid any future headaches. I guess if all else fails, I can try dual booting both, android and CE, from eMMC. My eMMC is 64GB so I have plenty of space. Thanks for pointing this out too.

So far, everything’s going along well. I’m also waiting on delivery of my LG OLED C9 TV. Should be here in a couple of days. I’m excited about this box… can’t wait to fully test it!

When CE is on uSD card, then uSD has priority over eMMC, how it behaves with Android on uSD I don’t know. For boot priority in this case you have to use “Petitboot” program installed on internal flash memory. For this to work, you must put the SPI switch in left position.

For more info read from this post onward.

UPDATE:
Odroid N2 was delivered on 12/16/19 and it came with Petitboot (dev.20190416) pre-installed. In order to update to the latest version, I followed the instructions on the link you provided above:

  1. I flashed version (dev.20190417) the “Old Way”
  2. Then proceeded to install incremental updates. First, Petitboot dev.20191020, followed by the latest version, dev.20191127.

So, using the latest Petitboot version, here’s the outcome of having this type of setup:

  1. If the SPI switch is to the right (eMMC) and both the SDcard (Android) and eMMC card (CoreELEC) are installed, ODROID N2 by default selects the eMMC card (CoreELEC) to boot. However, CoreELEC does not boot up properly as it gets stuck on a constant boot loop. If the SDcard is removed, then CoreELEC boots fine. Android also boots fine, if the eMMC card is removed. To summarize, only once card can be installed with the SPI switch on the right. Either OS boots fine, just as long as only one card is present.

  2. If the SPI switch is to the left (SPI), Petitboot (ver.20191127) is shown and I get the following two options to select from:
    [Disk: mmcblk0p1 / 1812-5247]
    CoreELEC
    [Disk: mmcblk1p1 / 5DFE-F81F]
    Android Pie (64Bit)

If you do not make a selection, ODROID N2 boots the eMMC (CoreELEC) by default. In this case, CoreELEC boots fine.

However, if I select Android, it doesn’t boot it properly. The bottom left of screen states the following… “Performing kexec reboot” and then the HARDKERNEL boot image is displayed and remains displayed. The only way out of this screen is to power cycle the box.

Anyone know why android won’t boot properly after selecting it?
Also, why does Petitboot have android listed as 64Bit when I know I installed the 32Bit version?

When I first saw this, I decided to re-download the 32bit android image and flash it one more time in case I did flash the wrong version by mistake. After making sure I flashed the 32Bit version, Petitboot still has the selection as 64Bit.

  1. I just installed Android 9 ATV 64 bit version on uSD card and have CE on eMMC. With switch in SPI position I can choose which OS to boot. I configured latest Petitboot to automatically boot Android from uSD card, and it does that without a problem…

How did you install and setup your Android on uSD ? I did it with eMMC removed with SPI switch in eMMC position. When I finished with ATV installation and configuration on uSD, then I inserted my CE on eMMC and flipped the switch to SPI. Started Petitboot and configured it. After power off/on everything works as expected…

That’s exactly the same way I installed android, without the eMMC card and SPI switch to the right. I’m going to install android TV though to see if that version of android works. That’s the only difference from your setup to mine, the android version. Will report back.

BTW - I have a Harmony Hub via bluetooth that obviously doesn’t work on Petitboot to make OS selections… gotta figure out a permanent/alternate method to switch. Hate to have to use two different remotes, but that’s what I’m doing at the moment.

With all my boxes I use a small WiFi keyboard (Rii mini i8) and Harmony 650 remote. There are IR remotes with keyboard on one side but I prefer to have keyboard separate from remote command (which I use for all my other devices)

Github has two different versions for download… fastboot and selfinstall. Which should I pick?

Selfinstall.

I flashed and installed the Selfinstall version of ATV on uSD. Boots fine (when SPI switch is on the right), however, I can’t get online as the wifi seems to be having issues. Once I choose my Wifi SSID network and enter my password, nothing happens. The screen just stays there even after pressing “Next or Done”. I wasn’t having wifi issues on the other flavor of android so I’m sure this is a ROM related problem. I will report this issue on the Odroid ATV forum thread for further review.

But the bigger dual boot issue I was having still remains… it’s exactly the same symptom I was experiencing before with the other flavor of android.

Powering on Odroid N2 with SPI switch on LEFT boots Petitboot 20191127. The dual boot option comes up displaying my choices of CoreELEC and Android. If I don’t make a selection, CoreELEC is chosen by default and it boots fine.

If I select Android, it doesn’t boot. The bottom left of screen states the following… “Performing kexec reboot” and then the HARDKERNEL boot image is displayed and remains displayed. The only way out of this screen is to power cycle the box.I also noticed that both LEDs (red and blue) on the board remain lit (no flashes). At this point, I will also report this issue on the Odroid forum Petitboot thread. Thanks for all your help. I will post an update once the issue is resolved.

P.S. - I even tried to flash Petitboot latest version one more time to see if that did it. No avail.

UPDATE: Petitboot has been confirmed to have issues using Samsung Evo uSD. A fix is being worked on by its developer.

I momentarily resolved my dual booting issue by downgrading to an older version, 20190705, of Petitboot. As of now, I am able to dual boot accordingly.

UPDATE: Happy to report that the latest version of Petitboot as of this writing (ver. 20200224) finally lets me boot both operating systems! All other prior version did not work for me, for the exception of 20190705, which was getting a bit outdated.

Hi @Sholander,

I’ve been looking on this forum and Odroid forum but cannot really find a recent answer, that is why I’m reviving this topic.

I’ll receive my Odroid N2+ soon and as I’ve never used a SBC before I’m trying to understand the first steps to proper install dual boot.

From your post, I now see that the best configuration for dual boot is to get Android Pie on eMMC and CE on SD.
Therefore, I guess I’ll need to

  • burn the Android image to the eMMC first and boot the N2+ to install it
  • burn the CE image to SD and insert it in the slot, N2+ should boot on it and install

I’m not sure if I should remove the eMMC to install CE? (SD only)

Then to select on which OS to boot, I need to remove the SD for Android boot and leave it in for CE. Is this correct understanding?

Last question, I read a lot about updating Petitboot. Is it recommended / required for this kind of setup?

Thanks!

Read more about using petitboot, no need to remove anything.