[Buildroot] [PATCH v5 00/10] Add RV64 NOMMU and Canaan K210 SoC support
From: Damien Le Moal <hidden>
Date: 2021-10-26 07:25:20
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 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot