dockerã§xv6ããã«ããã
6.828 / Fall 2016
github.com
Macã§ãã«ãããã®ã¯ããã©ããããã ã£ãã®ã§Dockerã®ç·´ç¿ãã¦ã試ãã¦ã¿ã
ç°å¢
qemu 2.8
docker 1.13.1
å®è¡æ¹æ³
Dockerfile
FROM ubuntu:14.04 RUN sudo apt-get update RUN sudo apt-get install -y build-essential qemu WORKDIR xv6 ENTRYPOINT ["make"] CMD []
Command
ã³ã³ãããèµ·åããéã«dockerå
ã§qemuãèµ·åããããã¼ã«ã«ä¸ã§èµ·åãããã®ï¼éãã®ããæ¹ãããï¼ä»ã«ããããããããªããï¼
gdbã«ã¯å¯¾å¿ãã¦ããªãã¯ããå
¥ãããæ¸ã話ã ãã©ã
docker build -t xv6 .
- dockerå ã§å®è¡ãããã¿ã¼ã³
docker run -v $(pwd)/xv6-public:/xv6 -it xv6 qemu-nox
- dockerå¤ã§å®è¡ãããã¿ã¼ã³
å®è¡æ¹æ³ã¯Makefileãåèã«ãã¦åããã
docker run -v $(pwd)/xv6-public:/xv6 -it xv6 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
Dockerã®volumeãªãã·ã§ã³ã¯çµ¶å¯¾ãã¹ãããªãã¨åããªãã£ã½ã
æã¯qemuã£ã¦ã³ãã³ãããã£ããããªæ°ããããã©ä»ã¯ãªãã£ã½ãã®ã§æ³¨æã
åã«åããããã ããªãDockerã§åããã®ãä¸çªæ¥½ãªæ°ããã