RISC-V Tools編譯安裝三部曲之二

一、前言

撰稿人:李浩

 

在上一期中我們已經完成了RISC-VGCC/Newlib Toolchain、GNUtoolchain for RISC-V, ISA Simulator等工具的編譯安裝。在這一期中我們將嘗試使用riscv64-unknown-linux-gnu-gcc來編譯我們的linux內核。

不要忘了我們的環境變量:

$ export  TOP=/home/lh/RISCV

$ export  RISCV=$TOP/riscv

$ export  PATH=$PATH:$RISCV/bin

 

二、Building the Linux Kernel

1.獲取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

$ git  clone 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)。

$ make  ARCH=riscv   CROSS_COMPILE=riscv64-unknown-linux-gnu-   defconfig

如果要編輯配置,可以使用基於文本的GUI(Ncurses)編輯配置:

$ make ARCH=riscv menuconfig

等你對配置感到滿意的時候,就開始編譯內核。注意在編譯RISC-V內核時,必須在make的每次調用中指定ARCH=riscvCROSS_COMPILE=。這一行也不例外。如果你想加快進程,可以通過參數-j [number]來啓用多線程編譯。

$ make -j16 ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu-

做到這一步,很恭喜了,你終於爲RISC-V交叉編譯了linux內核。然而,在我們啓動它之前還有一些事情要處理。

下一期,我們將編譯安裝Busybox,到這纔是完整的riscv-tools的安裝,讓我們下期見吧。這一期雖然短,但是做起來卻很容易出錯,如果你是一名新手的話,筆者希望你在讀到這篇文章時能夠去了解一下linux內核,make過程以及Makefile。這會對你很有幫助,如果你編譯過程中出錯,閱讀這些資料會對你有所幫助。

 

參考文獻

[1] RISC-Vofficial network:https://riscv.org/software-tools/

[2]README of RISC-VGNU Compiler Toolchain:

https://github.com/riscv/riscv-gnu-toolchain

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章