2014年4月15日火曜日

xv6 を ubuntu 上で動かしてみる


xv6とは、マサチューセッツ工科大学の教材として、UNIX v6を x86 CPU向けに ANSI Cで書きなおしたものです。

環境

ubuntu 14.04 beta

作業ディレクトリの用意


$ mkdir unix_v6
$ cd unix_v6

git と qemu の インストール


$ sudo apt-get install git qemu build-essential

$ which qemu
/usr/bin/qemu

$ ls /usr/bin | grep qemu-system

xv6 の ダウンロード


$ git clone git://pdos.csail.mit.edu/xv6/xv6.git



Makefile の編集


$ cd xv6

$ vi Makefile

#QEMU で検索

以下の部分を
#QEMU = 

以下のように
QEMU = /usr/bin/qemu

または
QEMU = /usr/bin/qemu-system-x86_64

または
QEMU = /usr/bin/qemu-system-i386

と、変更する

xv6 の起動


terminalの中に起動
$ make qemu-nox 

windowモードで起動
$ make qemu

起動してみる
$ make qemu-nox 
dd if=/dev/zero of=xv6.img count=10000
10000+0 records in
10000+0 records out
5120000 bytes (5.1 MB) copied, 0.133196 s, 38.4 MB/s
dd if=bootblock of=xv6.img conv=notrunc
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00230648 s, 222 kB/s
dd if=kernel of=xv6.img seek=1 conv=notrunc
248+1 records in
248+1 records out
127012 bytes (127 kB) copied, 0.0153686 s, 8.3 MB/s
/usr/bin/qemu  -nographic -hdb fs.img xv6.img -smp 2 -m 512 
xv6...
cpu1: starting
cpu0: starting
init: starting sh
$


xv6 を 抜ける


$ Ctrl+A X

xv6 を windowモード で 起動した時のマウスの切り替え


Ctrl + Alt

参考

第1回 xv6の実行環境構築
https://sites.google.com/site/yutakaertl/os2013/installxv6

Xv6, a simple Unix-like teaching operating system
http://pdos.csail.mit.edu/6.828/2011/xv6.html

0 コメント: