OS实验xv6 6.S081 开坑
OS實驗xv6 6.S081 開坑
終于把xv6 2019 6.S081做完了,網絡部分沒有寫,因為有計網實驗了。怎么說呢,xv6的坑有點多,能做完多虧了:和我同學ljj交流,參考RedemptionC老哥的博客(他寫的非常詳細,遺憾的是,他好像沒有寫mmap),再者就是參考這位老哥的做法(沒有源碼,寫得不是特別詳細,不過有借鑒作用,mmap就是借鑒了他的思想)……廢話不多說了,直接開始。
實驗指導
實驗建議
為了提高成就感,一定要先閱讀xv6官方的實驗指導!!!不要畏懼英文。xv6給的Hints是非常重要的。 另外,為了提高檢索速度,推薦科學上網。
實驗環境配置說明
安裝VMware
安裝Ubuntu,我安裝的是Ubuntu20.04,不過都無所謂了。首先下載一個Ubuntu20.04鏡像文件,然后跟著百度百科走吧
下載VMware-Tools,增加使用體驗。一般來說,安裝完Ubuntu后VMware會自動提示你。如果想重新安裝,則點擊下圖所示的地方即可。下載完畢后,跟著這位大哥做吧。(安裝之后,即可拖拽文件了)
配置xv6。右鍵桌面打開terminal,鍵入如下命令(以下步驟也可參考xv6官方文檔)
#獲取工具鏈 git clone --recursive https://github.com/riscv/riscv-gnu-toolchain #安裝必要依賴 sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev #編譯工具鏈 cd riscv-gnu-toolchain ./configure --prefix=/usr/local sudo make -j$(nproc) cd .. #下載并解壓qemu wget https://download.qemu.org/qemu-4.1.0.tar.xz tar xf qemu-4.1.0.tar.xz #編譯qemu cd qemu-4.1.0 ./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu" make -j$(nproc) sudo make install cd ..接下來,檢查是否安裝成功:
$ riscv64-unknown-elf-gcc --version > riscv64-unknown-elf-gcc (GCC) 10.1.0 $ qemu-system-riscv64 --version > QEMU emulator version 4.1.0安裝成功后,即可下載XV6源碼
#下載xv6源碼(不一定從HITSZ這里獲取) git clone https://github.com/HITSZ-SYSTEMS/xv6-riscv-fall19.git cd xv6-riscv-fall19 make qemu或
#下載xv6源碼 git clone git://github.com/mit-pdos/xv6-riscv-fall19.git cd xv6-riscv-fall19 make qemu當看到init:start sh時,你便配置成功了
配置VSCode,以便遠程連接Ubuntu。
#在Ubuntu上安裝必要依賴 sudo apt-install openssh-server5.1 在VSCode上安裝Remote-SSH插件
5.2 識別Ubuntu的ip和host,用一種很簡單的方法即可,首先查看你的ternimal前綴,例如我的是deadpool@deadpool-virtual-machine。
5.3 利用VSCode連接
鍵入回車即可
進入xv6-riscv-fall19根目錄,在VSCode的terminal上運行make qemu,運行成功
注意,按ctrl+a后過一段時間再按x即可退出qemu,這個時間不長也不短,自己把控
結束
配環境是老大難的問題。萬事開頭難,有了這樣一段經歷后,便能基本入門linux了。
總結
以上是生活随笔為你收集整理的OS实验xv6 6.S081 开坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试理论
- 下一篇: nginx 注释配置及详解