[Buildroot] [PATCH v5 00/10] Add RV64 NOMMU and Canaan K210 SoC support

Damien Le Moal damien.lemoal at wdc.com
Tue Oct 26 07:17:18 UTC 2021


This series adds support for building 64-bits RISC-V NOMMU kernel
bootable images for boards using the dual-core RISC-V 64-bits Cannan
Kendryte K210 SoC.

The first patch fixes invocation of elf2flt with NOMMU builds to fit the
requirements of RV64 builds. The second patch adds support for RV64 to
the elf2flt package. Patch 3 changes the base name of the toolchain
cross-compilation executables to avoid build errors. With these
preparatory patches in place, patch 4 makes MMU builds optional for
RISC-V 64-bits architecture.

The following 5 patches add default build configuration files for
various boards based on the Canaan K210 SoC: MAIX-bit, MAIX-go,
MAIX-dock (Dan Dock) and MAIXDUINO from Sipeed and the Canaan KD233
development board.

Finally, patch 10 documents how to build and install images for these
boards.

Changes from v4:
* Added patch 1 to address build options specification common to all
  packages.
* Removed busybox additional CFLAGS and LDFLAGS options from the
  busybox-tiny config file.

Changes from v3:
* Rebased on latest tree

Changes from v2:
* Reorder patches: former patch 1 is now patch 3.
* Clearly state in the first 3 patch commit messages that the NOMMU
  support introduced is for RISC-V 64-bits only and does not affect
  RV32.
* Modify patch 3 to allow NOMMU builds only for RV64 as opposed to both
  RV32 and RV64 before.
* Add reference to upstream elf2flt pull request in patch 1.
* Simplify the configurations for all boards, keeping default settings
  when a special value is not needed (e.g. gcc version).
* Dropped busybox-tiny-initramfs.config configuration and replaced it
  with a busybox fragment configuration file updating the default
  busybox-minimal.config configuration (used now for all boards).
* Changed common k210 rootfs overlay to replace the default /init script
  with a symbolic link pointing to the overlay provided /sbin/init
  script.

Changes from v1:
* Rebased on latest master
* Simplified patch 3 as suggested by Baruch
* Fixed typos in documentation (patch 9)
* Added reviewed-by tags

Christoph Hellwig (1):
  package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name

Damien Le Moal (9):
  package: Makefile.in: fix elf2flt invocation options
  package/elf2flt: add RISC-V 64-bits support
  arch/config: Make RISC-V 64-bits MMU optional
  board: Add Sipeed MAIX-bit support
  board: Add Sipeed MAIX-Go support
  board: Add Sipeed MAIXDUINO support
  board: Add Sipeed MAIX-Dock support
  board: Add Canaan KD233 support
  board: Document Canaan K210 based boards support

 arch/Config.in                                |   1 -
 arch/Config.in.riscv                          |   2 +
 board/canaan/k210-common/README.md            | 318 ++++++++++++++++++
 board/canaan/k210-common/busybox-tiny.config  | 241 +++++++++++++
 board/canaan/k210-common/rootfs_overlay/init  |   1 +
 .../k210-common/rootfs_overlay/sbin/init      |  27 ++
 board/canaan/kd233/README.md                  |   4 +
 board/canaan/kd233/linux-dtb.config           |   2 +
 board/sipeed/maix-bit/README.md               |   4 +
 board/sipeed/maix-bit/linux-dtb.config        |   2 +
 board/sipeed/maix-dock/README.md              |   4 +
 board/sipeed/maix-dock/linux-dtb.config       |   2 +
 board/sipeed/maix-go/README.md                |   4 +
 board/sipeed/maix-go/linux-dtb.config         |   2 +
 board/sipeed/maixduino/README.md              |   4 +
 board/sipeed/maixduino/linux-dtb.config       |   2 +
 configs/canaan_kd233_defconfig                |  14 +
 configs/canaan_kd233_sdcard_defconfig         |  13 +
 configs/sipeed_maix_bit_defconfig             |  14 +
 configs/sipeed_maix_bit_sdcard_defconfig      |  13 +
 configs/sipeed_maix_dock_defconfig            |  14 +
 configs/sipeed_maix_dock_sdcard_defconfig     |  13 +
 configs/sipeed_maix_go_defconfig              |  14 +
 configs/sipeed_maix_go_sdcard_defconfig       |  13 +
 configs/sipeed_maixduino_defconfig            |  14 +
 configs/sipeed_maixduino_sdcard_defconfig     |  13 +
 package/Makefile.in                           |  26 +-
 ...04-elf2flt-add-riscv-64-bits-support.patch | 137 ++++++++
 package/elf2flt/Config.in.host                |   2 +-
 29 files changed, 910 insertions(+), 10 deletions(-)
 create mode 100644 board/canaan/k210-common/README.md
 create mode 100644 board/canaan/k210-common/busybox-tiny.config
 create mode 120000 board/canaan/k210-common/rootfs_overlay/init
 create mode 100755 board/canaan/k210-common/rootfs_overlay/sbin/init
 create mode 100644 board/canaan/kd233/README.md
 create mode 100644 board/canaan/kd233/linux-dtb.config
 create mode 100644 board/sipeed/maix-bit/README.md
 create mode 100644 board/sipeed/maix-bit/linux-dtb.config
 create mode 100644 board/sipeed/maix-dock/README.md
 create mode 100644 board/sipeed/maix-dock/linux-dtb.config
 create mode 100644 board/sipeed/maix-go/README.md
 create mode 100644 board/sipeed/maix-go/linux-dtb.config
 create mode 100644 board/sipeed/maixduino/README.md
 create mode 100644 board/sipeed/maixduino/linux-dtb.config
 create mode 100644 configs/canaan_kd233_defconfig
 create mode 100644 configs/canaan_kd233_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_bit_defconfig
 create mode 100644 configs/sipeed_maix_bit_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_dock_defconfig
 create mode 100644 configs/sipeed_maix_dock_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_go_defconfig
 create mode 100644 configs/sipeed_maix_go_sdcard_defconfig
 create mode 100644 configs/sipeed_maixduino_defconfig
 create mode 100644 configs/sipeed_maixduino_sdcard_defconfig
 create mode 100644 package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch

-- 
2.31.1



More information about the buildroot mailing list