[Buildroot] [PATCH 00/11] Fix RV64 NOMMU and add Canaan K210 SoC support
Damien Le Moal
damien.lemoal at wdc.com
Wed May 25 13:27:18 UTC 2022
From: Damien Le Moal <damien.lemoal at opensource.wdc.com>
(resend using subscribed email address)
This patch series is a rework of the old v5 series "Add RV64 NOMMU and
Canaan K210 SoC support" already posted some (long) time ago.
This series adds support for building 64-bits RISC-V NOMMU kernels (both
bootable kernels and u-boot sdcard boot envronements) for NOMMU RISC-V
64-bits boards. The board supported include QEMU and many boards using
the dual-core RISC-V 64-bits Cannan Kendryte K210 SoC.
The first patch is a simple fix of elf2flt configuration menu entry.
The second patch fixes the existing elf2flt RISC-V 64-bits support.
The third patch adds a Linux kernel patch that must be used for all
NOMMU RISC-V builds. This patch will be present in the upcoming 5.19
kernel.
Patch 4 adds a buildroot configuration file for QEMU NOMMU RISC-V
64-bits builds.
Patch 5 modifies the python-serial package definition so that it can be
used as a host package to open serial consoles with the K210-based
boards.
Patch 6 adds all configurations bits common to all K210-based boards.
Finally, the last 5 patches add support for the following K210-based
boards:
* Sipeed MAIX Bit
* Sipeed MAIXDUINO
* Sipeed MAIX Dock (dan)
* Sipeed MAIX Go
* Canaan KD233 development board
For each board, a readme.txt file is added to document how to build and
install images for these
boards.
One thing that is missing from this patch series is the addition of the
python-based Kendryte K210 UART ISP utility kflash
(https://github.com/vowstar/kflash.py). This utility is available
as a package on the pypi.org package index but adding it as a buildroot
package is difficult due to the package dependencies needed. These
dependencies end up requiring other packages to be enable and end up
with an openssl build conflict resulting in u-boot compilation failures.
For this reason, this utility is not added as a package. Its
installation and use is documented in the readme file for the K210
boards.
Damien Le Moal (10):
package: elf2flt: fix config menu entry description
package: elf2flt: Update RISC-V 64-bits support
board: Add common Linux kernel support for RISCV NOMMU builds
package: python-serial: Define host package
board: Add common support for Canaan K210 SoC-based boards
board: Add Sipeed MAIX-Bit board support
board: Add Sipeed MAIXDUINO board support
board: Add Sipeed MAIX-Dock board support
board: Add Sipeed MAIX-Go board support
board: Add Canaan KD233 board support
Niklas Cassel (1):
configs/qemu_riscv64_nommu_virt_defconfig: new defconfig
DEVELOPERS | 13 +
board/canaan/k210-soc/busybox-tiny.config | 231 +++++++++++++
board/canaan/k210-soc/genimage.cfg | 30 ++
board/canaan/k210-soc/linux-sdcard.config | 4 +
board/canaan/k210-soc/post-build.sh | 28 ++
board/canaan/k210-soc/rootfs_overlay/init | 1 +
.../canaan/k210-soc/rootfs_overlay/sbin/init | 41 +++
board/canaan/k210-soc/uboot.config | 1 +
board/canaan/kd233/linux-cpio.config | 2 +
board/canaan/kd233/readme.txt | 142 ++++++++
board/qemu/riscv64-virt/readme.txt | 2 +
...ot-stop-relocating-GOT-entries-prema.patch | 110 ++++++
board/riscv/nommu/readme.txt | 3 +
board/sipeed/maix-bit/linux-cpio.config | 2 +
board/sipeed/maix-bit/readme.txt | 309 +++++++++++++++++
board/sipeed/maix-dock/linux-cpio.config | 2 +
board/sipeed/maix-dock/readme.txt | 314 ++++++++++++++++++
board/sipeed/maix-go/linux-cpio.config | 2 +
board/sipeed/maix-go/readme.txt | 313 +++++++++++++++++
board/sipeed/maixduino/linux-cpio.config | 2 +
board/sipeed/maixduino/readme.txt | 286 ++++++++++++++++
configs/canaan_kd233_defconfig | 41 +++
configs/qemu_riscv64_nommu_virt_defconfig | 38 +++
configs/sipeed_maix_bit_defconfig | 38 +++
configs/sipeed_maix_bit_sdcard_defconfig | 56 ++++
configs/sipeed_maix_dock_defconfig | 38 +++
configs/sipeed_maix_dock_sdcard_defconfig | 56 ++++
configs/sipeed_maix_go_defconfig | 38 +++
configs/sipeed_maix_go_sdcard_defconfig | 56 ++++
configs/sipeed_maixduino_defconfig | 38 +++
configs/sipeed_maixduino_sdcard_defconfig | 56 ++++
package/Config.in.host | 1 +
...tate-32-byte-alignment-for-.data-sec.patch | 81 +++++
...f2flt-fix-.eh_frame-section-handling.patch | 73 ++++
...4-elf2flt-add-riscv-64-bits-support.patch} | 80 ++---
package/elf2flt/Config.in.host | 2 +-
package/python-serial/Config.in.host | 6 +
package/python-serial/python-serial.mk | 1 +
38 files changed, 2483 insertions(+), 54 deletions(-)
create mode 100644 board/canaan/k210-soc/busybox-tiny.config
create mode 100644 board/canaan/k210-soc/genimage.cfg
create mode 100644 board/canaan/k210-soc/linux-sdcard.config
create mode 100755 board/canaan/k210-soc/post-build.sh
create mode 120000 board/canaan/k210-soc/rootfs_overlay/init
create mode 100755 board/canaan/k210-soc/rootfs_overlay/sbin/init
create mode 100644 board/canaan/k210-soc/uboot.config
create mode 100644 board/canaan/kd233/linux-cpio.config
create mode 100644 board/canaan/kd233/readme.txt
create mode 100644 board/riscv/nommu/kernel_patches/0001-binfmt_flat-do-not-stop-relocating-GOT-entries-prema.patch
create mode 100644 board/riscv/nommu/readme.txt
create mode 100644 board/sipeed/maix-bit/linux-cpio.config
create mode 100644 board/sipeed/maix-bit/readme.txt
create mode 100644 board/sipeed/maix-dock/linux-cpio.config
create mode 100644 board/sipeed/maix-dock/readme.txt
create mode 100644 board/sipeed/maix-go/linux-cpio.config
create mode 100644 board/sipeed/maix-go/readme.txt
create mode 100644 board/sipeed/maixduino/linux-cpio.config
create mode 100644 board/sipeed/maixduino/readme.txt
create mode 100644 configs/canaan_kd233_defconfig
create mode 100644 configs/qemu_riscv64_nommu_virt_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/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch
create mode 100644 package/elf2flt/0003-elf2flt-fix-.eh_frame-section-handling.patch
rename package/elf2flt/{0002-elf2flt-add-riscv-64-bits-support.patch => 0004-elf2flt-add-riscv-64-bits-support.patch} (52%)
create mode 100644 package/python-serial/Config.in.host
--
2.36.1
More information about the buildroot
mailing list