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

Reply via email to