Contents

Managing xv6 with Docker

   Mar 10, 2023     1 min read

LAB 1 : xv6

Install Docker (macOS)

  • Install Docker, 본인 OS에 맞춰 설치

https://docs.docker.com/desktop/install/mac-install/

  • Docker → Resources → ADVANCED

    Docker

  • 본인 mac 사양에 맞춰 설정

  • Terminal 실행 후, docker 설치 확인

docker --version

Run xv6 on Docker (macOS)

  • OS 폴더 생성, 폴더로 이동 후 다운받은 os_xv6.tar (lms 다운로드) 파일을 해당 위치에 저장

    run xv6

Run xv6

  • 터미널에 명령어 순서대로 실행
docker load -i os_xv6.tar
docker image
  • 명령어 순서대로 실행하여 container가 실행되었는지 확인
docker run -it --name ele3021 os_xv6
root@xxx: /OS# exit
docker ps -a
  • Container 종료 커맨드 : [Ctrl] + [D] or exit
  • Container background 상태로 전환 : [Ctrl] + [P] + [Q] (순서대로 입력)

  • 만약 container가 완전히 꺼져 있다면,
docker start ele3021
docker attach ele3021
  • container가 background에서 실행 중이라면,
docker attach ele3021
  • container가 꺼져있는지, background에서 실행 중인지 확인하려면,
#container가 꺼져있으면 확인 불가
docker ps

#STATUS 확인
docker ps -a

xv6 실행

  • xv6-public/로 이동후
make
make fs.img
qemu-system-i386 -nographic -serial mon:stdio -hdb fs.img xv6.img -smp 1 -m 512

xv6 종료 : [Ctrl] + [A], [X] (순서대로 입력)

→ shell script bootxv6.sh 만들었으면 이걸로 실행 가능

./bootxv6.sh