xv6环境搭建
因?yàn)槭堑谝淮螌懖┛?#xff0c;在搭完環(huán)境后靠回憶寫下來這篇博客,有可能會(huì)有一些不準(zhǔn)確的地方,歡迎各位大佬指正!
?淺淺記錄一下花了兩天時(shí)間完成的xv6環(huán)境搭建過程~也寫下搭建過程中遇到的至今仍未解決的bug,希望有大佬看到能夠給予解答
配置環(huán)境:windows10 x64?
使用工具:virtualbox? ubuntu desktop
一、軟件下載
首先附上mit實(shí)驗(yàn)課程官網(wǎng)鏈接和官網(wǎng)截圖,基本上需要的步驟在/Labs/tools里都有提到,點(diǎn)擊鏈接跳轉(zhuǎn)至相關(guān)頁面下載需要的虛擬機(jī)和ubuntu版本
6.S081 / Fall 2020https://pdos.csail.mit.edu/6.828/2020/xv6.html
我下載的是virtualbox的windows hosts版本,在同一頁面還可以下載拓展包,可以一起下載,后續(xù)調(diào)整虛擬機(jī)屏幕大小和共享主機(jī)粘貼板都會(huì)用到這個(gè)拓展包
?ubuntu下載頁面,點(diǎn)擊download即可
?ubuntu下載頁面下拉可以看到相關(guān)教程,我基本上是根據(jù)第二個(gè)教程來安裝的
?二、虛擬機(jī)創(chuàng)建
附上我參考的官方教程鏈接
How to run Ubuntu Desktop on a virtual machine using VirtualBox | Ubuntu
虛擬機(jī)創(chuàng)建過程基本上沒有什么好說的,已經(jīng)有很多大佬做過分享,說一下我的具體數(shù)值配置吧
虛擬機(jī)位置:D盤
????????因?yàn)镃盤已經(jīng)快滿了
主存:2048MB
????????沒有選擇1024MB,在后續(xù)操作中虛擬機(jī)上安裝系統(tǒng)的時(shí)候我看到很多人分享說swap區(qū)需要至少是主存2倍或者1.5倍大,但如果主存超過1024MB也可以不設(shè)置swap區(qū)
硬盤:
????????創(chuàng)建動(dòng)態(tài)硬盤
硬盤文件:
????????VDI
硬盤存儲(chǔ):
????????動(dòng)態(tài)分配,據(jù)說這樣會(huì)慢一些但是占用物理空間小一些
硬盤大小:
????????此處建議大一些,文檔里推薦的10GB根本不夠用。我一開始選擇了10GB結(jié)果在安裝ubuntu磁盤分區(qū)的時(shí)候捉襟見肘,后來只好刪了重建,選擇了80GB(后續(xù)安裝xv6工具時(shí)磁盤需要至少6GB的空間)
三、ubuntu安裝
創(chuàng)建好虛擬機(jī)后點(diǎn)擊start,系統(tǒng)會(huì)自動(dòng)提示你選擇含有需要安裝的操作系統(tǒng)的iso文件,當(dāng)然也可以后續(xù)在菜單——設(shè)備中選擇分配光驅(qū)
選擇好之后等一會(huì),就會(huì)出現(xiàn)期待已久的ubuntu安裝頁面啦!
選擇install Ubuntu,選擇語言,安裝方式我選擇的正常安裝+安裝時(shí)更新+為其他媒體格式下載第三方軟件
接下來是我踩坑的地方!一開始我選擇了其他選項(xiàng)打算自己分區(qū),嘗試了分以下幾個(gè)分區(qū)
/? ? ? ? ? ?(etx4,邏輯分區(qū))? ?
/boot? ? ?(etx4,邏輯分區(qū))
/home? ? (etx4,邏輯分區(qū))
/swap? ? ?(etx4,邏輯分區(qū)) ?
但是一直提示我沒有efi分區(qū)和boot reserved分區(qū),但是我上網(wǎng)查好像這兩個(gè)東西是同一個(gè)功能(引導(dǎo)程序),也不知道我弄對沒有。。。。。總之后來我就放棄了,選擇了清除整個(gè)磁盤并安裝ubuntu,反正磁盤文件也是特意為了安裝ubuntu新建的 ,清空也沒什么影響,然后發(fā)現(xiàn)系統(tǒng)只給我建了兩個(gè)分區(qū)? ?/? ? 和? ? ?/boot/efi
然后就是選擇所在地區(qū)和創(chuàng)建用戶和密碼了!創(chuàng)建后記得自己的密碼就好
接下來等待安裝。點(diǎn)擊skip可以跳過安裝更新過程,之后還可以手動(dòng)操作。
安裝完成后根據(jù)提示重啟。
重啟過程中會(huì)黑屏提示拔出光驅(qū)后回車,在這一步兩種方式都可以
VirtualBox管理器——虛擬機(jī)設(shè)置——存儲(chǔ)——控制器(IDE),找到含有操作系統(tǒng)的光驅(qū)(命名類似ubuntu-22.04-desktop-amd64.iso),右鍵“移除盤片”
或者虛擬機(jī)運(yùn)行頁面——左上角設(shè)備——分配光驅(qū),點(diǎn)擊移除虛擬盤(我的圖片是已經(jīng)移除完之后的效果,可以看到ubuntu-22.04-desktop-amd64.iso前面沒有?)
?四、安裝增強(qiáng)功能
虛擬機(jī)頁面右上角設(shè)備——安裝增強(qiáng)功能?
系統(tǒng)此時(shí)會(huì)報(bào)錯(cuò),忽略
此時(shí)系統(tǒng)菜單欄會(huì)出現(xiàn)一個(gè)光盤,這就是我們之前在第一步軟件安裝中下載的拓展包,里面有所需要的VBoxLinuxAdditions.run
?在該頁面右鍵打開終端
運(yùn)行代碼?
sudo ./VBoxLinuxAdditions.run運(yùn)行完成后根據(jù)提示重啟
接下來常規(guī)設(shè)置中的高級(jí)處將共享粘貼板和拖放設(shè)置為雙向
存儲(chǔ)中SATA控制器勾選固態(tài)驅(qū)動(dòng)器 (這一步我是看到有人分享可以這樣解決文件拖放失敗的問題,但似乎沒有什么用。。。。。。)
總之,這樣設(shè)置后我只能實(shí)現(xiàn)共享粘貼板,無法實(shí)現(xiàn)文件拖拽,無論是把文件拖拽到桌面上還是文件夾中都顯示紅叉,也無法實(shí)現(xiàn)宿主機(jī)和虛擬機(jī)同時(shí)截屏
分辨率的調(diào)整這里就略過了,可以根據(jù)其他大牛的分享按步驟操作即可
五、xv6工具鏈安裝
再附一遍官網(wǎng)鏈接~
6.S081 / Fall 2020
工具鏈安裝在/usr/local目錄下?
需要注意的是,在使用下面這句git clone時(shí),我查看了最新的md文檔(GitHub鏈接:GitHub - riscv-collab/riscv-gnu-toolchain: GNU toolchain for RISC-V, including GCC),文檔里提到子模塊都會(huì)自動(dòng)下載所以不需要--recursive,但是我沒用--recursive下下來的文件只有5.9MB,所以最后還是用了官方文檔里這一句
btw不用鏡像源真的下的很慢,我下了足足一天,還是在好不容易連上服務(wù)器的情況下,后來連了VPN好像速度快一些,但是宿主機(jī)連VPN對虛擬機(jī)的網(wǎng)絡(luò)有影響嗎。。。。。。(網(wǎng)絡(luò)小白無知發(fā)問)
$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain接下來按照官網(wǎng)步驟走就行了!
注意在配置工具鏈的時(shí)候如果編譯失敗可以參考以下解決方案,附上原文鏈接
xv6實(shí)驗(yàn)課程--搭建環(huán)境 (qq.com)
=======================================
如果上述配置失敗,請安裝下列兩個(gè)軟件包:
$?sudo apt-get install libglib2.0-dev
$?sudo apt-get install libpixman-1-dev
然后重新配置。
=======================================
然后耐心等待就好了!
最后可以輸入一下指令查看版本,確定是否已經(jīng)安裝成功!
$ riscv64-unknown-elf-gcc --version riscv64-unknown-elf-gcc (GCC) 10.1.0 ...$ qemu-system-riscv64 --version QEMU emulator version 5.1.0附上一張成功的截圖
?到這里環(huán)境安裝和工具鏈安裝就完成了!其實(shí)安裝過程中還有很多地方本人都是一個(gè)人云亦云的懵逼狀態(tài),如果有說的不對的地方請大家?guī)椭刚?#xff0c;不要誤人子弟才好~
總結(jié)
- 上一篇: java lock接口_Java Loc
- 下一篇: 电脑显示连接了网络但是不能上网_为什么电