2025-02-27 12:29 AM - edited 2025-02-27 12:30 AM
Hello,
I created already several SD-cards images (.raw) using the `create_sdcard_from_flashlayout.sh` script, from both starter kit and Yocto build.
Note: Currently working on the STM32MP256 evaluation board.
We would like to have something similar with USB:
1) Create a *.raw image
2) Use `dd` or Raspberry Pi Imager to flash the USB memory
3) Select the boot pins on the evaluation board (all-zeros for USB boot)
4) Insert the USB memory
5) Power-on and wait until Linux is loaded.
To my surprise, this process that works fine for sdcards does not work for USB (The card does not boot). This also makes sense considering that :
* The script is called `create_sdcard....` and not `create_usb`
* The *.tsv are either _emmc_ or _sdcard_
But why there is not _usb_ tsv or create_usb script?
All the documentation found about USB is by connecting the computer and using the USB link to flash the emmc. This is fine in some environments, but not in others.
How to create a bootable OpenST-Linux USB memory ?
Solved! Go to Solution.
2025-02-28 8:01 AM
Hi,
It is not possible to directly boot from an USB mass storage (USB flash drive or SSD).
Alternatively, you could boot from a small Flash (SD-Card, Serial-NOR, etc..), then uBoot could start the kernel from USB flash drive (or any other available interface if suitable, e.g. PCIe).
This might require some development to make right driver available in uBoot (e.g. USB host with mass storage support).
As you mention, the USB boot is meant connecting the STM32MPx to an Host with USB DFU to allows flashloading the board (Using CubeProgrammer or 3rd party SW)
Regards.
2025-02-28 8:01 AM
Hi,
It is not possible to directly boot from an USB mass storage (USB flash drive or SSD).
Alternatively, you could boot from a small Flash (SD-Card, Serial-NOR, etc..), then uBoot could start the kernel from USB flash drive (or any other available interface if suitable, e.g. PCIe).
This might require some development to make right driver available in uBoot (e.g. USB host with mass storage support).
As you mention, the USB boot is meant connecting the STM32MPx to an Host with USB DFU to allows flashloading the board (Using CubeProgrammer or 3rd party SW)
Regards.