如何在Kendryte K210 RISC-V NOMMU处理器上构建和运行Linux

原文链接:How to Build & Run Linux on Kendryte K210 RISC-V NOMMU Processor 由Jean-Luc Aufranc撰写。

西部数据公司之前开发Linux&BusyBox RISC-V NOMMU,并成功地在由勘智K210智能芯片提供动力的Sipeed-Maix-Go模块上启动了一个小型的Linux操作系统。

Linux 5.5原计划用来支持RISC-V NOMMU的,不过现在它的新内核已经发布了。而且Damien Le Moal还发布了最新版程序代码,可以使用Buildroot构建Linux以及为RISC-V 64位NOMMU平台进行顶层设计。

RISCV64 NOMMU Menu Config

我按照Github上的操作指南开始进行构建的时候,由于Linux 5.6 RC1压缩包的缺失就失败了。不过,我注意到在“Vowstart”上有人继续了Damien的工作,而且写了详细的操作说明。所以,接下来我会使用运行Ubuntu 18.04系统计算机再次进行构建尝试。

我们首先必须确保安装了相关的程序文件:


然后,我们可以检索源代码并做一些准备工作(比如:提取Linux 5.6 RC1压缩包):


下一步是构建工具链。因为有很多代码文件需要从Internet上构建和下载,这会将需要较长的时间:


构建成功后,显示如下:


现在,我们可以安装RISCV64工具链,该工具链将用于交叉编译:


接下来是为Kendryte K210 NOMMU处理器构建Buildroot框架:


最后一步将文件复制到$PROJ_ROOT/rootfs_k210文件夹中。

在我参考的操作说明中,他们为能够在开发板上生成代码,就构建了Tiny C Compiler编译器。其实没有必要这样,因为在这种低端的硬件上,大多数人可能会更喜欢交叉编译其代码,但是无论如何,我们还是继续往下走:


他们还制作了一个脚本来设置k210 rootfs CPIO映像,并将其复制到了linux-kernel/k210.cpio目录下。


现在,我们终于可以构建Linux 5.6-RC1内核了:


我手头上没有Sipeed MAIX模块,因此我没有尝试这一部分,但是如果你的模块可以通过/ dev / ttyUSB连接,就可以按照下面的方法刷新生成镜像:


前两行是将当前用户添加到dialout组,无需生成root便可获得对/dev/ttyUSB0的访问权。第三行是安装kflash程序,接下来的命令是将镜像转储到内部闪存上,最后一行是获得对模块的终端访问权。

Kendryte K210 Linux

如果出现了上图的情况,就表示你现在可以在一些价格便宜的RISC-V硬件上运行Linux系统了。比如Sipeed MAIX Bit,售价大约是14美元以上。大家要注意,从技术上来讲,它应该叫做uCLinux,您仅需使用8MB RAM的,即可解决在处理器中由于没有内存管理单元而经常遇到的堆栈溢出问题

分享这篇文章
<-- Multiplex code - to do -->
0 评论
内联反馈
查看所有评论