Xv6を試してみた

2018-05-28

教材用のOSでUnix V6を元にしているという、Xv6を試してみた。

ビルド

  • Mac OSX上でVirutalBoxを動かして、ゲストOSとしてUbuntu 64bit版を使用
  • リポジトリを取得して、make
    • fs.imgxv6.img ができる

実行

  • ゲストOSにqemuを入れれば、そのまま実行できる
  • make qemu-nox
QEMUOPTS = -drive file=fs.img,index=1,media=disk,format=raw -drive file=xv6.img,index=0,media=disk,format=raw -smp $(CPUS) -m 512 $(QEMUEXTRA)

qemu-nox: fs.img xv6.img
$(QEMU) -nographic $(QEMUOPTS)
vagrant@ubuntu-xenial:~/xv6/xv6-public$ 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, 4.9 MiB) copied, 0.0442876 s, 116 MB/s
dd if=bootblock of=xv6.img conv=notrunc
1+0 records in
1+0 records out
512 bytes copied, 0.000225917 s, 2.3 MB/s
dd if=kernel of=xv6.img seek=1 conv=notrunc
333+1 records in
333+1 records out
170896 bytes (171 kB, 167 KiB) copied, 0.00159783 s, 107 MB/s
qemu-system-i386 -nographic -drive file=fs.img,index=1,media=disk,format=raw -drive file=xv6.img,index=0,media=disk,format=raw -smp 2 -m 512
xv6...
cpu1: starting 1
cpu0: starting 0
sb: size 1000 nblocks 941 ninodes 200 nlog 30 logstart 2 inodestart 32 bmap start 58
init: starting sh
$ ls
. 1 1 512
.. 1 1 512
README 2 2 2290
cat 2 3 13348
echo 2 4 12416
forktest 2 5 8132
grep 2 6 15164
init 2 7 13004
kill 2 8 12468
ln 2 9 12364
ls 2 10 14588
mkdir 2 11 12488
rm 2 12 12468
sh 2 13 23108
stressfs 2 14 13144
usertests 2 15 56016
wc 2 16 13996
zombie 2 17 12196
console 3 18 0
$

終了

  • C-a c
  • C-a x

pdf 作成

sudo apt-get install ghostscript
make xv6.pdf

からっぽだった…

参考