이전 글을 꼭 보고 와주세요!
이전 글
중간중간 윈도우 맥 해야 할 작업이 달라요!!!!!
꼭 꼭 꼭 읽고 자신이 해야 할 작업을 확인하세요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1.도커 데스크탑에 들어간다.




# 베이스 이미지
FROM --platform=linux/amd64 ubuntu:18.04
# 로케일과 타임존 설정
ENV TZ=Asia/Seoul \
LANG=ko_KR.UTF-8 \
LANGUAGE=ko_KR.UTF-8
# 필수 패키지 설치
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y \
locales \
tzdata \
build-essential \
gcc \
gdb \
vim \
git \
sudo \
qemu-system-x86 \
python3 && \
# 로케일 생성 및 적용
locale-gen ko_KR.UTF-8 && \
update-locale LANG=ko_KR.UTF-8 && \
# 캐시 정리
rm -rf /var/lib/apt/lists/*
# 비-root 사용자 jungle 생성 및 sudo 권한 부여
RUN useradd -m -s /bin/bash jungle && \
usermod -aG sudo jungle && \
echo "jungle ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/jungle
# 이후 jungle 사용자로 전환
USER jungle
WORKDIR /home/jungle
# Pintos 개발 환경 activate 스크립트 로드 설정
RUN echo "source /home/jungle/pintos-kaist/activate" >> /home/jungle/.bashrc
# 외부에 공개할 포트 (예: GDB 원격 디버깅용 1234)
EXPOSE 1234
# 컨테이너 시작 시 bash 실행
CMD ["bash"]
vscode를 켜도 되고 터미널을 켜도 상관 없습니당


맥 유저
1. 이미지 빌드docker build -t pintos-dev .
- 빌드한 이미지 실행하기
docker run -it \ -v $(pwd):/home/jungle/pintos-kaist \ -w /home/jungle/pintos-kaist \ pintos-dev
윈도우 유저 (vscode 터미널 "CMD" 기준)
1. 이미지 빌드docker build -t pintos-dev .
- 빌드한 이미지 실행하기
docker run -it ^ --name pintos-build ^ -v "%cd%:/workspaces/pintos_lab_docker" ^ -w /workspaces/pintos_lab_docker/pintos-kaist ^ pintos-dev ^ bash
도커 데스크탑

VScode 사이드 바

pintos-kaist 깃허브
또는
정글 제공 파일


이렇게 떠야 성공!
방법은

원하는 컨테이너 우클릭

Attach Shell 클릭
잠깐. 윈도우는 개행 문제를 해결해야 한다.
배재준 님의 도움을 받아 해결.
sed -i 's/\r$//' /workspaces/pintos_lab_docker/pintos-kaist/activate
# utils 폴더 아래 모든 스크립트에서 CR 제거
sed -i 's/\r$//' /workspaces/pintos_lab_docker/pintos-kaist/utils/*
진행!!!!!!
이제 테스트 시작!!!!
$ cd pintos-kaist
$ source ./activate
$ cd threads
$ make check
# 뭔가 한참 compile하고 test 프로그램이 돈 후에 다음 message가 나오면 정상
20 of 27 tests failed.
10분~15분 정도 걸립니다!!!
20 of 27 또는 19 of 27 또는 21 of 27이 나오면 성공!
다만 기준은 20 of 27!!!

내 컴퓨터에 있는 파일은 VScode,메모장, 텍스트 편집기, 뭐든 text를 편집 할 수 있음!!
디버깅과 실행은 도커 쉘에 진입해서 수행!!!
자세한 내용은 이전 글을 참고
이전 글