如何在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 的,就能解决在处理器中由于没有内存管理单元而经常遇到的堆栈溢出问

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论