On Mon, Sep 7, 2026 at 4:51 PM Yao Zi <[email protected]> wrote: > > On Sun, Sep 06, 2026 at 05:11:08PM +0800, Eric Chung wrote: > > Add document on how to flash images into eMMC of K1 SoC based boards. > > > > Signed-off-by: Eric Chung <[email protected]> > > > > --- > > v9: > > - Add to generate the partition table of SD card. > > v3: > > - Add document on how to flash images into SD card. > > --- > > board/spacemit/k1/MAINTAINERS | 2 +- > > doc/board/spacemit/index.rst | 1 + > > doc/board/spacemit/k1-mmc.rst | 271 > > ++++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 273 insertions(+), 1 deletion(-) > > ... > > > diff --git a/doc/board/spacemit/k1-mmc.rst b/doc/board/spacemit/k1-mmc.rst > > new file mode 100644 > > index 000000000000..0be5d5fa1c39 > > --- /dev/null > > +++ b/doc/board/spacemit/k1-mmc.rst > > ... > > > +Chapter 2: SD Card Boot > > +======================= > > + > > + > > +SpacemiT K1 Bianbu SD Card Image Flashing and U-Boot Update Guide > > +================================================================== > > + > > +This guide explains how to prepare a bootable SD card with Bianbu OS for > > +SpacemiT K1 based boards and how to replace the U-Boot binary on the SD > > +card with a custom build. > > + > > +Prerequisites > > +~~~~~~~~~~~~~ > > + > > +- A SpacemiT K1 based development board > > +- A microSD card (at least 4GB capacity recommended) > > +- A card reader for your host computer > > +- A Linux host system (for ``dd``, ``sgdisk``, ``lsblk`` commands) > > +- The Bianbu release package from > > + > > <https://archive.spacemit.com/image/k1/version/bianbu/v2.3.3/Bianbu-Minimal-K1-V2.3.3-20260128183217.zip> > > +- A custom ``FSBL.bin`` and ``u-boot.itb`` file to be written to the U-Boot > > + partition > > + > > +Prepare the SD Card & the image > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +**1. Obtain the release images** > > + > > +Unpack the release package to get the image files. Replace the ``FSBL.bin`` > > +and ``u-boot.itb`` with your custom builds. > > + > > +**2. Identify the SD card device** > > + > > +Insert the microSD card into your card reader, then run: > > + > > +.. code-block:: console > > + > > + $ lsblk > > + > > +Compare the output before and after inserting the card to identify > > +the new device. It will typically appear as ``/dev/sdb``, ``/dev/sdc``, > > +or ``/dev/mmcblk0``. > > + > > +**3. Write the image to the SD card** > > + > > +Run ``sgdisk`` to generate the partition table, then use ``dd`` to write > > +the images to the corresponding partitions. > > + > > +.. code-block:: console > > + > > + $sudo sgdisk -o /dev/sdb > > + $sudo sgdisk -a 128 \ > > + -n 1:256:767 -t 1:8300 \ > > + -n 2:768:895 -t 2:8300 \ > > + -n 3:2048:4095 -t 3:8300 \ > > + -n 4:4096:8191 -t 4:8300 \ > > + -n 5:8192:532479 -t 5:8300 \ > > + -n 6:532480:4726783 -t 6:8300 \ > > + /dev/sdb > > + $sudo dd if=FSBL.bin of=/dev/sdb1 bs=512 seek=0 status=progress > > + $sudo dd if=env.bin of=/dev/sdb2 bs=512 seek=0 status=progress > > + $sudo dd if=fw_dynamic.itb of=/dev/sdb3 bs=512 seek=0 status=progress > > + $sudo dd if=u-boot.itb of=/dev/sdb4 bs=512 seek=0 status=progress > > + $sudo dd if=bootfs.img of=/dev/sdb5 bs=1M status=progress > > + $sudo dd if=rootfs.ext4 of=/dev/sdb6 bs=1M status=progress > > The bootfs/rootfs part aren't U-Boot-related stuff, so please omit them > from this documentation to keep it simplified. > > Then the only binary we need to extract from the "SpacemiT release > package" is env.bin and fw_dynamic.bin. > > For env.bin, I think this U-Boot port depends on no specific environment > setttings? If no, please omit it, too; otherwise please provide a .env > file in upstream U-Boot tree, and make it the default environment to > use.
OK. I can drop these binaries. > > For fw_dynamic.bin, I think SpacemiT K1 support has been landed in the > upstream OpenSBI tree? Please check if it works with upstream U-Boot. > If no, please try fixing it, and then it's okay to stick to the > downstream OpenSBI, but you need providing a guidance to build it from > source if possible. The patch set is for MMC/SD. OpenSBI is another topic that does not belong to u-boot either. They should not be mixed together. I prefer to address one topic per patch set. > > Then you could fully omit the step of downloading the "SpacemiT release > package". > > > +The SD card is now ready as a bootable system disk. > > + > > +Understanding the SD Card Partition Layout > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +The role of each partition: > > + > > ++----------+----------+------------------------------------+ > > +| Partition| Size | Purpose | > > ++==========+==========+====================================+ > > +| ``sdb1`` | 256 KB | FSBL (First Stage Bootloader) | > > ++----------+----------+------------------------------------+ > > +| ``sdb2`` | 64 KB | ENV | > > ++----------+----------+------------------------------------+ > > +| ``sdb3`` | 1 MB | OpenSBI | > > ++----------+----------+------------------------------------+ > > +| ``sdb4`` | 2 MB | U-Boot binary (``u-boot.itb``) | > > ++----------+----------+------------------------------------+ > > +| ``sdb5`` | 256 MB | Boot partition (kernel) | > > ++----------+----------+------------------------------------+ > > +| ``sdb6`` | 2 GB | Root filesystem (ext4) | > > ++----------+----------+------------------------------------+ > > ... > > > +- If the board boots successfully, the new device tree or U-Boot image > > + is compatible with your hardware. > > This sentence looks extra, please drop it. > > Best regards, > Yao Zi
