ODYSSEY X86J4105(864) help installing to eMMC

I'm a proud new owner of the Seeed Studio's ODYSSEY X86J4105 w/8GB ram and 64GB eMMC. BIOS and EC have been updated, and I’ve built OpenWRT with Wireguard on a USB and love it! I'm using the "openwrt-19.07.7-x86-64-combined-ext4.img).

This will be a dedicated VPN router between my ISP and internal wireless network. My end game is to install the working OpenWRT config to the onboard 64GB eMMC. The board comes with a pre-installed WIN10 config which I'm not interested in.

I don’t work much with eMMC storage and it “looks” a bit different…so figured I’d ask all y’all for a straight up walk through if anyone is willing to show me the way.

I’m looking for help both wiping out the existing eMMC install, then the install of the working image from the USB stick and having the unit boot from eMMC. I also want to expand the partition to take advantage of the entire storage media in openWRT. Making it EFI compliant would be a bonus but I can live with compatibility mode which is available in the BIOS.

Here is the output from fdisk -l. (The Cruzer Glide is my working USB config)

**Disk /dev/mmcblk0: 58.25 GiB, 62537072640 bytes, 122142720 sectors**
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9878681B-C532-4C8A-8736-8B096E77BCA1

**Device** **Start** **End** **Sectors** **Size** **Type**
/dev/mmcblk0p1 2048 206847 204800 100M EFI System
/dev/mmcblk0p2 206848 239615 32768 16M Microsoft reserved
/dev/mmcblk0p3 239616 120502271 120262656 57.4G Microsoft basic data
/dev/mmcblk0p4 120502272 122140671 1638400 800M Windows recovery environment

**Disk /dev/mmcblk0boot1: 4 MiB, 4194304 bytes, 8192 sectors** 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
**Disk /dev/mmcblk0boot0: 4 MiB, 4194304 bytes, 8192 sectors**
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

**Disk /dev/sda: 14.93 GiB, 16008609792 bytes, 31266816 sectors**
Disk model: Cruzer Glide
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb3ae1bb

**Device** **Boot** **Start** **End** **Sectors** **Size** **Id** **Type**
/dev/sda1 * 512 33279 32768 16M 83 Linux
/dev/sda2 33792 558079 524288 256M 83 Linux

Thanks in advance!

dd the combined image to /dev/mmcblk0?

Resize the rootfs using gparted afterwards.

Is it that straight forward?

dd if=/dev/sda of=/dev/mmcblk0

do I need to set the block size? -bs=??

or dd if=/dev/file.img of=/dev/mmcblk0

and no, no need for bs

I'm sad to report a general lack of success.

I've tried twice - once dd'ing the thumb drive onto the emmc, the second the released 19.07.7 img file.

Both times, the dd executed without issue...but once I reboot the ODYSSEY board, the eMMC (mmcblk0) is not seen as a bootable device and defaults to the EFI shell.

When I enter the BIOS, I can't see the eMMC storage as a bootable option (as I would see the thumb drive)

Worse is now I can't get it to boot from the USB drive successfully. It sees it as a bootable device, it launches the OpenWRT, but during the boot sequence, the board crashes and reboots.

Of note, I can get a EFI compliant finnix USB to boot without issue.

Any ideas??

general related question...

what is the state of EFI x64 images?

in 21.02-SNAPSHOT+master? (or still pr)... i've noticed a few PR's re: some gpt changes? or were there also hybrid changes? remember some of them touching related ptgen functionality...

not sure which ones have been merged after the initial EFI image creation PR's...

my understanding is that for 21.02 there would be both EFI and non-EFI bins in downloads but admittedly did not check http:// downloads properly...

regarding your issue... seems bios related... ( some can be both cryptic and stubborn at the same time )... in this case having also USB/EFI bin images to swap out will make your life much easier...

( you can also search the forum for 'odroid efi' as there were a few threads that touched on alot of the EFI related quirks which would probably be closely/somewhat related to your issues )

Sad to say I'm still unsuccessful at the ultimate goal of installing OpenWRT to the built in eMMC storage on the board.

About the same time as my first attempt, SEEED released an updated bios and ec, so I went ahead and updated to latest and greatest without issue.

So I'm working on the assumption this is probably a BIOS/EFI issue. Taking wulfy23's comments and a little research, I ended up trying oofnikj's "OpenWRT EFI Tools" and his 19.07.5 EFI image from here.

It boots like a champ from a USB drive - it is seen as an EFI boot option and we go right into openWRT.

When I dd the same image to /dev/mmcblk0 and reboot -- nothing, nada, zilch. Bios doesn't even see the eMMC storage as a boot option.

I'm debating the merits of fighting this...but the geek in me is offended I can't get it to work, so I'm open to ideas on how to bend it to my will.

As always - thanks in advance for any help offered.

so the best thing to do now is just install debian or ubuntu or something... and see how that goes...

if it works capture a sfdisk dump... and we can pretty much exclude bios...

@ryantj13 Did you solve boot from eMMC? Got the same problem on Intel NUC-like x86 desktop.