add eMMC installer workflow - #513
Conversation
There was a problem hiding this comment.
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?
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>
5277ed1 to
56a86c2
Compare
|
@pamolloy anything missing here? |
e70b8b5 to
2eace38
Compare
2eace38 to
d7f8bd9
Compare
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>
d7f8bd9 to
ebd72e5
Compare
| $ cd buildroot/output/images | ||
| $ gdb -x u-boot.gdb | ||
|
|
||
| Boot Linux |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
There are a couple examples of this already in the file. We'll need to fix them all at once later 😄
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
Checklist
make htmloradoc serve: