Skip to content

add eMMC installer workflow - #513

Merged
pamolloy merged 2 commits into
mainfrom
add-emmc-install
Jul 16, 2026
Merged

add eMMC installer workflow#513
pamolloy merged 2 commits into
mainfrom
add-emmc-install

Conversation

@katiaTsaruk

@katiaTsaruk katiaTsaruk commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary:

Added documentation for the eMMC installer workflow: flashing the image, booting Linux from eMMC and default login credentials.

Note:

The image is served compressed (.gz) as a temporary workaround for a suspected race condition in the SC598 MMC kernel driver that causes a crash under memory pressure when streaming the raw 7.6 GB image. This will be reverted once the driver bug is fixed.

Type

  • Documentation
  • Bug fix
  • New feature
  • Continuous integration

Checklist

@katiaTsaruk
katiaTsaruk marked this pull request as draft June 25, 2026 09:06
Comment thread docs/products/adsp/setup.rst Outdated
@pamolloy
pamolloy requested a review from a team June 25, 2026 15:15
Comment thread docs/products/adsp/setup.rst Outdated
Comment thread docs/products/adsp/setup.rst Outdated
Comment thread docs/products/adsp/setup.rst Outdated

@ozan956 ozan956 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be slightly outside the scope of this PR, but the current flow confused me a bit.

As far as I understand it, the new bootstrap flow now depends on an emmc.img.gz artifact produced by the debug image build:

  • SPI flash gets the U-Boot SPL and U-Boot binaries from the bootstrap image.
  • eMMC gets the U-Boot SPL, U-Boot, device tree, kernel, and root filesystem from the debug/full image.

After that, the script asks the user to switch to SPI boot mode, so the expected flow appears to be:

  • boot U-Boot from SPI NOR
  • boot Linux from eMMC

If this is the intended bootstrap flow, then the current approach makes sense. However, I want to clarify the design direction because genimage.cfg also defines a SPI flash image that contains all. So in principle, we could support a few different installation flows such as SPI-NOR-only, eMMC-only, hybrid, etc.

The current script seems to enforce the hybrid flow by always requiring SPI programming first and always asking the user to switch to SPI boot mode afterward.

Is that the only flow we want to support for bootstrap installation, or should the installer allow the user to choose between bootstrap modes?

Comment thread docs/products/adsp/setup.rst Outdated
Comment thread docs/products/adsp/setup.rst
Comment thread docs/products/adsp/setup.rst Outdated
Document the eMMC installation step in the bootstrap process for SC598
evaluation boards. This completes the hybrid boot architecture where:
- SPI flash stores the bootloader (U-Boot SPL + U-Boot)
- eMMC stores the full system image (kernel + root filesystem)

The eMMC installation flow:
1. Programs U-Boot to SPI flash
2. Downloads emmc.img.gz from PC over HTTP
3. Writes image to eMMC
4. Waits for user to switch S1 to position 1 (SPI boot mode)
5. Reboots and boots U-Boot from SPI, which loads Linux from eMMC

Signed-off-by: Kateryna Tsaruk <kateryna.tsaruk@analog.com>
@gastmaier

Copy link
Copy Markdown
Collaborator

@pamolloy anything missing here?

Comment thread docs/products/adsp/setup.rst Outdated
Clarify the boot architecture to users: SPI flash stores the bootloader and
eMMC stores the full system image. List both required release archives in the
download section.

Signed-off-by: Kateryna Tsaruk <kateryna.tsaruk@analog.com>
$ cd buildroot/output/images
$ gdb -x u-boot.gdb

Boot Linux

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We normally can solve this by adding those keywords to:
.github/styles/config/vocabularies/Base/accept.txt

but im not sure whether thats the only solution

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a couple examples of this already in the file. We'll need to fix them all at once later 😄

@pamolloy
pamolloy merged commit 3cc1ab5 into main Jul 16, 2026
3 checks passed
@pamolloy
pamolloy deleted the add-emmc-install branch July 16, 2026 12:49
@github-project-automation github-project-automation Bot moved this from In Development to Done in ADSP Jul 16, 2026
github-actions Bot added a commit that referenced this pull request Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants