Pintos Projects: 시작하기

차호성·2024년 6월 27일
0

Pintos

목록 보기
1/7

개발 환경 구축하기

  • OS: Ubuntu 24.04 LTS
  • Editor: Visual Studio Code

Docker 설치하기

https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

  • Installation Methods 중에 “Install using the apt repository”로 설치하였습니다.

Docker Engine을 설치하였으면 터미널에서 다음 명령어를 입력합니다.

# docker 그룹에 현재 사용자 추가
sudo usermod -aG docker $USER

#docker 설치 확인
docker --version

Pintos 소스 내려받기

소스 내려받을 폴더를 생성합니다.

mkdir pintos

소스 저장소를 fork 받아서 자신의 저장소를 만든 다음에 내려받습니다.
(source repository: https://github.com/ThierrySans/CSCC69-Pintos)

git clone [github link] .
  • git url 다음에 . 을 붙히면 현재 폴더에 파일을 내려받습니다.
  • 폴더가 비어있어야 합니다.

Visual Studio Code 확장 설치하기

  • Docker
  • Remote Development

Docker Compose 설정하기

프로젝트 디렉터리에 docker-compose.yaml 파일을 생성한 다음, 아래 내용을 입력합니다.

services:
    dev:
        image: thierrysans/pintos
        container_name: pintos
        volumes:
            - .:/pintos
        working_dir: /pintos
        hostname: pintos
        tty: true
        entrypoint: bash

해당 파일이 있는 위치에서 터미널을 연 다음에 아래 명령어를 입력합니다.

docker compose up -d

그러면 이미지를 다운 받은 다음에 docker container가 실행됩니다.

Visual Studio Code로 Container 열기

Visual Studio Code에서 Docker 확장을 눌러보면 해당 컨테이너가 표시됩니다. 여기서 “Attach Visual Studio Code” 메뉴를 선택하면 Visual Studio Code로 해당 컨테이너로 들어갈 수 있습니다.

컨테이너로 들어온 다음, “Open Folder”를 누르고 소스가 있는 경로를 선택합니다. (docker-compose.yaml을 보면 경로가 /pintos로 설정되어 있습니다.)

Visual Studio Code Debugging

Visual Studio Code로 Container에 들어가면 확장을 따로 설치를 해야합니다. 여기서 “Native Debug”를 설치합니다. 그리고 “실행 및 디버그” 에서 “create a launch.json” 눌러서 launch.json 파일을 생성합니다.

launch.json 파일을 생성한 다음, 아래 내용을 입력합니다.

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "gdb",
            "request": "attach",
            "name": "Attach to Pintos",
            "executable": "${workspaceFolder}/src/threads/build/kernel.o",
            "target": ":1234",
            "remote": true,
            "cwd": "${workspaceRoot}", 
            "gdbpath": "/pintos/src/utils/pintos-gdb"
        }
    ]
}

pintos를 실행할 때, --gdb 플래그를 입력하면 디버깅 모드로 실행을 합니다.

Reference

https://thierrysans.me/CSCC69/projects/

profile
프로그래머

0개의 댓글