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
It is finally booting, I was missing the driver for the mmc controller after all.
Thanks for your help
ConnorRigby
Do you have a kernel defconfig that is known to boot off of your emmc?
fhunleth
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.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










