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