1 搭建實驗環(huán)境

系統(tǒng)版本Ubuntu 18.04.3

0 介紹

mit6.828是一門經(jīng)典的操作系統(tǒng)課程卜壕,通過這門課程可以學(xué)習(xí)到操作系統(tǒng)的設(shè)計與實現(xiàn)烙常。
據(jù)說會對linux開發(fā)很有幫助轴捎,作為一個即將工作的菜鳥,又不擅長基礎(chǔ)理論的學(xué)習(xí)蚕脏,我決定從這門課入手侦副,希望能對操作系統(tǒng)有深入的認(rèn)識和了解。
框圖(沒必要看驼鞭,我就是想放放提升逼格):


本節(jié)框圖

1 安裝工具包

需要安裝的工具包如下:


工具包

執(zhí)行如下指令:

sudo apt-get install -y build-essential libtool* libglib2.0-dev libpixman-1-dev zlib1g-dev git libfdt-dev gcc-multilib gdb python

2 安裝qemu

qemu是一個與bochs和pearpc類似的模擬器,或者說是仿真器,完全的軟件模擬,他能模擬很多類型的cpu秦驯。

2.1 下載

執(zhí)行如下指令:

git clone https://github.com/mit-pdos/6.828-qemu.git qemu

該指令會在當(dāng)前目錄創(chuàng)建qemu文件夾,并克隆代碼到本地挣棕。

2.2 編譯&安裝

首先進(jìn)入到qemu文件夾下:

cd qemu

執(zhí)行指令:

./configure --disable-werror --target-list="i386-softmmu x86_64-softmmu"

如果沒有安裝Python译隘,這一步會報錯:

出現(xiàn)報錯 ERROR: Python not found. Use --python=/path/to/python

需要安裝Python 2.7才能正常配置亲桥。
如果出現(xiàn):

disanbling libtool due to broken toolchain support

說明沒有安裝到所需要的libtool,在上一節(jié)我已經(jīng)把指令改成了安裝所有l(wèi)ibtool工具细燎,應(yīng)該不會再出現(xiàn)這個報錯两曼。
上述執(zhí)行完畢沒有報錯,就可以執(zhí)行編譯安裝指令:

make -j8 && make install

可能出現(xiàn)的三個錯誤如下:

  • 錯誤1
qga/commands-posix.c: In function ‘dev_major_minor’:
qga/commands-posix.c:633:13: error: In the GNU C Library, "major" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "major", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "major", you should undefine it after including <sys/types.h>. [-Werror]
         *devmajor = major(st.st_rdev);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~   

錯誤中已經(jīng)給出了解決方案玻驻,在 qga/commands-posix.c文件中的 #include <sys/types.h> 下面增加#include <sys/sysmacros.h>即可悼凑。緊接著的那個錯誤也是這個引起的,改了就都會解決的璧瞬。

  • 錯誤2
block/blkdebug.c: In function ‘blkdebug_refresh_filename’:
block/blkdebug.c:749:31: error: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size 4086 [-Werror=format-truncation=]
                  "blkdebug:%s:%s",

這個不是錯誤户辫,只需要把qemu文件夾下的config-host.mak文件中的-Werror去掉就好了(直接ctrl+F搜索Werror)

  • 錯誤3
install -d -m 0755 "/usr/local/share/qemu"
install: cannot change permissions of ‘/usr/local/share/qemu’: No such file or directory
Makefile:382: recipe for target 'install-datadir' failed
make: *** [install-datadir] Error 1

這是安裝時報錯,主要是我沒有使用管理員賬戶嗤锉,沒有成功創(chuàng)建文件夾渔欢。可以再執(zhí)行一次sudo make install即可瘟忱。

3 下載實驗源碼

退出qemu文件夾奥额,下載實驗源碼:

git clone https://pdos.csail.mit.edu/6.828/2018/jos.git lab

出現(xiàn)找不到代碼庫,可能是源碼有更新访诱,可以嘗試更改2018那個年份

參考資料

mit6.828 實驗環(huán)境配置
MIT-6.828 環(huán)境搭建
配置qemu時遇到disanbling libtool due to broken toolchain support問題的解決辦法
6.828 | 編譯QEMU
Lab 1: Booting a PC

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垫挨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子触菜,更是在濱河造成了極大的恐慌九榔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涡相,死亡現(xiàn)場離奇詭異哲泊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)催蝗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門切威,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人生逸,你說我怎么就攤上這事牢屋。” “怎么了槽袄?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锋谐。 經(jīng)常有香客問我遍尺,道長,這世上最難降的妖魔是什么涮拗? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任乾戏,我火速辦了婚禮迂苛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鼓择。我一直安慰自己三幻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布呐能。 她就那樣靜靜地躺著念搬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摆出。 梳的紋絲不亂的頭發(fā)上朗徊,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機(jī)與錄音偎漫,去河邊找鬼爷恳。 笑死,一個胖子當(dāng)著我的面吹牛象踊,可吹牛的內(nèi)容都是我干的温亲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼杯矩,長吁一口氣:“原來是場噩夢啊……” “哼栈虚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起菊碟,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤节芥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后逆害,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體头镊,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年魄幕,在試婚紗的時候發(fā)現(xiàn)自己被綠了相艇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纯陨,死狀恐怖坛芽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翼抠,我是刑警寧澤咙轩,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站阴颖,受9級特大地震影響活喊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜量愧,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一钾菊、第九天 我趴在偏房一處隱蔽的房頂上張望帅矗。 院中可真熱鬧,春花似錦煞烫、人聲如沸浑此。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凛俱。三九已至,卻和暖如春茵宪,著一層夾襖步出監(jiān)牢的瞬間最冰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工稀火, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留暖哨,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓凰狞,卻偏偏與公主長得像篇裁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赡若,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容