新ちゃん 发表于 2020-8-18 09:58:32

RISC-V Tools编译安装三部曲之二

本帖最后由 新ちゃん 于 2020-8-20 23:11 编辑

RISC-V Tools编译安装三部曲之一
RISC-V Tools编译安装三部曲之二
RISC-V Tools编译安装三部曲之三

一、前言

在上一期中我们已经完成了RISC-VGCC/Newlib Toolchain、GNUtoolchain for RISC-V, ISA Simulator等工具的编译安装。在这一期中我们将尝试使用riscv64-unknown-linux-gnu-gcc来编译我们的linux内核。
不要忘了我们的环境变量:$ exportTOP=/home/lh/RISCV

$ exportRISCV=$TOP/riscv

$ exportPATH=$PATH:$RISCV/bin
二、Building the Linux Kernel1.获取Kernel Sources我们终于准备好了引入Linux内核源代码了。从riscv-tools/riscv-gnu-toolchain目录中进行更改,并将riscv-linux git存储库克隆到以下目录:linux-4.15._xx_,其中xx表示当前修订的版本(截至2018年1月8日,它是“Linux 4.15-rc7”)。$ cd$TOP

$ gitclone https://github.com/riscv/riscv-linux.git Linux-4.15-rc7
2.Configuring the Linux Kernel
Linux内核虽然是无限可配置的。但是,对于目前的开发状态,没有太多的设备或选项可以进行调整。但是,从默认配置开始,该配置应该与ISA模拟器一起工作。这里需要使用ARCH= 来指定目标的体系架构,使用CROSS_COMPILE=来指定使用的交叉编译器的前缀(我们自然是使用前面装好的riscv64-unknown-linux-gnu-gcc)。$ makeARCH=riscv   CROSS_COMPILE=riscv64-unknown-linux-gnu-   defconfig
如果要编辑配置,可以使用基于文本的GUI(Ncurses)编辑配置:$ make ARCH=riscv menuconfig
等你对配置感到满意的时候,就开始编译内核。注意在编译RISC-V内核时,必须在make的每次调用中指定ARCH=riscv和CROSS_COMPILE=。这一行也不例外。如果你想加快进程,可以通过参数-j 来启用多线程编译。$ make -j16 ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu-
做到这一步,很恭喜了,你终于为RISC-V交叉编译了linux内核。然而,在我们启动它之前还有一些事情要处理。
下一期,我们将编译安装Busybox,到这才是完整的riscv-tools的安装,让我们下期见吧。这一期虽然短,但是做起来却很容易出错,如果你是一名新手的话,笔者希望你在读到这篇文章时能够去了解一下linux内核,make过程以及Makefile。这会对你很有帮助,如果你编译过程中出错,阅读这些资料会对你有所帮助。
参考文献 RISC-Vofficial network:https://riscv.org/software-tools/README of RISC-VGNU Compiler Toolchain:https://github.com/riscv/riscv-gnu-toolchain
本篇完,感谢关注:RISC-V单片机中文网
页: [1]
查看完整版本: RISC-V Tools编译安装三部曲之二