Ubuntu 설치
기존에 사용하던 AWS EC2는 24.04 버전이고, EC2에서 제공하는 18.04 AMI는 요금이 청구되기 때문에 다른 방법을 찾아야 했다. 우리 팀에서 그 대안으로 선택한 것이 WSL2다. (참고)
- 터미널에 다음 명령어를 실행해 WLS를 설치했다.
wsl --install
- Microsoft Store에서 Ubuntu 18.04.6 LTS를 검색해서 설치했다.
- 다음 명령어를 입력해 현재 설치된 Ubuntu를 확인할 수 있다.
wsl -l -v

- 다음 명령어를 입력해 기본 버전을 18.04로 바꾸고 wsl을 실행했다.
wsl --set-default Ubuntu-18.04
wsl
- 리눅스에 접속해서 초기 세팅을 진행했다.
$ sudo apt update
$ sudo apt install -y qemu-system-x86 python3
$ sudo apt update # package list update
$ sudo apt upgrade # upgrade packages
$ sudo apt install gcc make valgrind gdb # gcc, make 등 개발 환경 설치
# github CLI 설치
$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
$ sudo apt update
$ sudo apt install gh
$ gh auth login
- 프로젝트 레포지토리를 클론하고 다음 명령어를 실행했다.
$ cd pintos-kaist
$ source ./activate
$ cd threads
$ make check
- make check 실행 중 126 에러가 발생했다.
make[1]: *** [tests/threads/alarm-single.output] Error 126
make[1]: Leaving directory '/home/park/github/pintos-kaist/threads/build'
../Makefile.kernel:10: recipe for target 'check' failed
make: *** [check] Error 2
- Error 126는 리눅스에서 명령어는 존재하지만 실행 권한이 없을 때 발생하는 에러다. 이를 해결하기 위해 문제가 발생하는 파일들의 권한을 설정했다.
$ chmod +x /home/park/github/pintos-kaist/utils/pintos
$ chmod +x /home/park/github/pintos-kaist/utils/backtrace
$ chmod +x /home/park/github/pintos-kaist/threads/build/tests/threads/alarm-single
- alarm-single이 존재하지 않는다는 오류가 발생했다.
$ chmod +x /home/park/github/pintos-kaist/threads/build/tests/threads/alarm-single
chmod: cannot access '/home/park/github/pintos-kaist/threads/build/tests/threads/alarm-single': No such file or directory
- 테스트 파일을 생성하기 위해 아래 명령어를 실행했지만 실패했다.
$ cd /home/park/github/pintos-kaist/threads/build
$ make
make: Nothing to be done for 'all'.
- 패키지를 다시 설치하고 다시 빌드했다.
$ sudo apt update
$ sudo apt install build-essential qemu gdb perl python3
$ cd /home/park/github/pintos-kaist/threads
$ make clean
$ make
- make check를 실행하고 20분 정도 테스트 프로그램이 실행되었다. 마지막에 다음과 같은 메시지가 출력되면 된다.
$ make check
# ...
20 of 27 tests failed.

MacOS의 경우 test failed 문장 바로 아래에 Error 1만 뜨고 바로 종료되는 것을 확인했다.
WSL2와 VS Code 연결
- VS Code에서 WSL 확장 프로그램을 설치했다.
- Ctrl + Shift + P를 누르고 Connect to WSL using Distro in New Window...를 입력해 실행했다.
- 다음과 같은 오류가 발생해 WSL과의 연결에 실패했다.

- 사용 중인 Ubuntu 18.04의 GLIBC 버전이 낮아서 현재 VS code에서 지원하지 않는 것이 원인이었다.
- 해결을 위해 VS code를 구버전으로 다운그레이드했다.
- WSL(Extension)도 v0.88.2로 다운그레이드했고, 연결에 성공했다.

- VS Code가 다시 업그레이드되는 것을 막기 위해 Settings에서 자동 업데이트 관련 설정들을 모두 꺼야 한다.
'Krafton Jungle > 5. PintOS' 카테고리의 다른 글
| [PintOS 1주차] Day 8: 마무리 (0) | 2025.05.15 |
|---|---|
| [PintOS 1주차] Day 7 (0) | 2025.05.14 |
| [Pintos 1주차] Day 4-6 (0) | 2025.05.13 |
| [PintOS 1주차] Day 3 (0) | 2025.05.10 |
| [PintOS 1주차] Day 2 (0) | 2025.05.09 |