kbredemeier

kbredemeier

X86 system with UEFI boot from eMMC memory

Hello,

I am trying to build a nerves system for the Logic Supply CL210G-10.

The technical constraints are:

  • boots only from a UEFI partition
  • x86 architecture
  • internal eMMC

So far I can only boot my nerves firmware from a USB drive. When I burn the firmware via fwup to the eMMC the firmware hangs on trying to find the root device.

This is the output from the failed boot attempt:

My nerves system is forked from the official nerves_system_x86_64 and these are the changes I have made so far.

My current assumption is that my kernel is missing the driver for the MMC controller. Does someone have a hunch what my issue could be?

Most Liked

kbredemeier

kbredemeier

It is finally booting, I was missing the driver for the mmc controller after all.

Thanks for your help

ConnorRigby

ConnorRigby

Nerves Core Team

Do you have a kernel defconfig that is known to boot off of your emmc?

fhunleth

fhunleth

Co-author of Nerves

I saw that you changed the disk signature from 0x04030201 to 0x01234567 in the diff. You also need to change it in the grub.cfg to match. I’m actually not sure how the USB drive boot worked for you, so I’m ignoring that piece of information for now.

The key line in your picture is “Waiting for root device PARTUUID=04030201-03”. The system is stalled in the boot process waiting for the drive with that ID to be found by Linux. The “-03” is the partition on that drive to use for the rootfs. Linux gets the ID from the kernel commandline parameters that are specified in grub.cfg.

An alternative is to tell Linux to use /dev/sda3 for the rootfs. However, if you have a USB drive plugged in at the same time, there’s a chance that Linux will call it /dev/sda and try using it instead. However, if the PARTUUID way still doesn’t work for you, I’d give this way a try.

Where Next?

Popular in Questions Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call t...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement