最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

手把手教你在QEMU上運(yùn)行RISC-V Linux

2023-03-15 15:34 作者:補(bǔ)給站Linux內(nèi)核  | 我要投稿

今天教大家在QEMU模擬器上運(yùn)行一個RISC-V Linux

一個RISC-V Linux包括:

  • opensbi

  • linux

  • 根文件系統(tǒng)

1、下載RISC-V工具鏈

自己下載工具鏈源碼進(jìn)行編譯容易配錯選項(xiàng),我們使用編譯好的工具鏈即可。

網(wǎng)址:https://toolchains.bootlin.com

這個網(wǎng)站提供了一些已經(jīng)編譯好的工具鏈,我們從中下載即可。

arch選擇risCV64-lp64d,libc選擇glibc,然后點(diǎn)擊下載。

stable是穩(wěn)定版,bleeding-edge是最新的,可根據(jù)需要選擇,這里我們選擇bleeding-edge。

下載后解壓:

將risCV64-lp64d--glibc--bleeding-edge-2022.08-1/bin路徑添加到PATH環(huán)境變量中:

2、安裝QEMU

QEMU官網(wǎng):https://www.qemu.org/

下載安裝:

3、編譯opensbi

下載opensbi:

編譯:

編譯完后生成的固件在build/platform/generic/firmware/目錄下:

生成的固件有三種類型:dynamic、jump和payload

  • dynamic:帶有動態(tài)信息的固件

  • jump:指定下一級的boot地址跳轉(zhuǎn)

  • payload:包含下一級boot的二進(jìn)制內(nèi)容,通常是uboot/linux

這里我們使用jump類型固件,OpenSBI運(yùn)行后,可以直接跳轉(zhuǎn)到kernel運(yùn)行。

因?yàn)閛pensbi本身就是一個bootloader,因此可以不使用uboot引導(dǎo)kernel,通過opensbi的jump固件,可以直接跳轉(zhuǎn)到kernel啟動。

4、編譯kernel

Linux內(nèi)核官網(wǎng):www.kernel.org

選擇當(dāng)前穩(wěn)定版5.19.16下載

解壓kernel:

編譯:

編譯完成后,在arch/riscv/boot下生成Image:


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。。ê曨l教程、電子書、實(shí)戰(zhàn)項(xiàng)目及代碼)? ? ? ?


5、制作rootfs

文件系統(tǒng)可以用busybox、buildroot等工具制作,busybox需要自己一步一步的做出來,過程比較麻煩。更便捷的做法是使用buildroot,它可以自動幫我們完成。

下載地址:https://buildroot.org/download.html

下載后解壓:

進(jìn)入buildroot菜單配置界面:

選擇RISC-V架構(gòu)

選擇ext文件系統(tǒng)類型:

保存后編譯:


編譯需要花一些時間,buildroot前期大部分時間去編譯工具鏈了。 編譯完后,生成文件在output/images目錄下:

rootfs.ext2是我們需要用到的。

6、運(yùn)行

將fw_jump.elf、Image、rootfs.ext2拷貝到當(dāng)前目錄下:

新建start-qemu.sh腳本,輸入以下內(nèi)容:

修改權(quán)限:

chmod 777 start-qemu.sh

運(yùn)行start-qemu.sh啟動RISC-V Linux:

輸入root回車登錄:

成功進(jìn)入Linux!

buildroot搭建環(huán)境

前面我們用buildroot制作了文件系統(tǒng),但buildroot其實(shí)可以幫我們搭建一套完整環(huán)境,包括工具鏈、opensbi、linux、文件系統(tǒng)等等,只需要簡單配置一下,即可自動幫我們完成,非常方便。下面教大家使用buildroot搭建一個qemu risCV64 linux系統(tǒng)。

使用默認(rèn)的qemu_risCV64配置進(jìn)行編譯:

接下來就是漫長的等待,可能需要幾個小時。 編譯完后,生成文件在output/images目錄下:

可以看到opensbi、Image、rootfs都做好了,包括qemu的下載編譯也會幫我們自動完成。可以直接運(yùn)行start-qemu.sh:

使用buildroot搭建環(huán)境,幾乎什么都不需要做,非常方便!要注意的就是確保網(wǎng)絡(luò)暢通,網(wǎng)絡(luò)不流暢buildroot可能會中斷。

總結(jié)

學(xué)習(xí)RISC-V Linux搭建環(huán)境是第一步,有了環(huán)境才能更好的去跟蹤源碼調(diào)試,當(dāng)然如果有開發(fā)板更好。以上是我在qemu上搭建RISC-V Linux的總結(jié),希望對大家有幫助。

原文作者:嵌入式Linux充電站





手把手教你在QEMU上運(yùn)行RISC-V Linux的評論 (共 條)

分享到微博請遵守國家法律
托里县| 海丰县| 乐亭县| 阳春市| 湘阴县| 南昌县| 苍南县| 西藏| 华坪县| 兴业县| 石城县| 文安县| 贵德县| 郸城县| 固阳县| 佛坪县| 滨州市| 丰宁| 南阳市| 冀州市| 乌审旗| 沅陵县| 二手房| 莒南县| 紫云| 万年县| 江孜县| 濮阳县| 同心县| 富阳市| 惠东县| 靖远县| 本溪市| 荆门市| 巫山县| 彰化市| 静安区| 义乌市| 濉溪县| 资溪县| 招远市|