WSL2 세팅
WSL2 세팅
안녕하세요, pingu52입니다.
이번 글에서는 Windows 11 기준으로 WSL2(Windows Subsystem for Linux) 를 이용해
안정적인 Linux 빌드 환경(=임베디드/Yocto/크로스 컴파일용) 을 만드는 방법을 정리합니다.
목표
- Windows 11에서 WSL2 + Ubuntu 설치
- 기본 개발툴(컴파일러/디버깅/네트워크) 세팅
- 임베디드 빌드(특히 Yocto)에서 성능/경로/디스크 이슈 피하기
준비
- Windows 11 최신 업데이트 권장
- 디스크 여유(중요):
- 일반 임베디드 빌드: 수십 GB
- Yocto: 프로젝트에 따라 100GB~300GB+ 도 흔함
- Windows Terminal(있으면 편함)
- 관리자 권한 PowerShell/터미널
1. WSL2 설치
관리자 PowerShell을 열고 아래 실행:
wsl --install기본 배포판(보통 Ubuntu)이 설치됩니다.
이미 설치되어 있다면 WSL 자체 업데이트만 해도 좋습니다.
WSL 버전/커널을 최신으로 업데이트:
wsl --updatewsl --version설치 및 업데이트 확인:
wsl -v(선택) 설치 할 수 있는 리눅스 배포판 확인
wsl --list --online2. Ubuntu 실행 및 초기 설정
설치 후 Ubuntu를 실행하면 사용자 계정을 만들라고 나옵니다.
Ubuntu 들어오면 가장 먼저 업데이트:
sudo apt updatesudo apt upgrade -y3. (중요) 빌드 작업은 /mnt/c에서 하지 말기
WSL에서 Windows 드라이브는 /mnt/c, /mnt/d처럼 마운트됩니다.
하지만 대규모 빌드(특히 Yocto) 는
- 파일 I/O가 엄청 많고
- 작은 파일을 수만~수십만 개 만지기 때문에
/mnt/c 같은 Windows 파일시스템에서 돌리면 속도도 느리고, 권한/대소문자/링크 문제로 터질 확률이 올라갑니다.
권장 구조
- 소스/빌드 디렉터리는 WSL의 Linux 파일시스템(예:
~/repo) 에 둔다. - Windows에서 공유가 필요하면 나중에
\\wsl$로 접근한다.
예시:
mkdir -p ~/repocd ~/repoWindows 탐색기에서 접근하려면:
- 탐색기 주소창에
\\wsl$\Ubuntu\home\<username>\repo
4. 기본 개발 툴 설치
임베디드/빌드 환경이면 아래는 거의 고정으로 설치합니다.
sudo apt install -y \ build-essential \ gcc g++ make cmake ninja-build \ git curl wget unzip zip tar \ pkg-config \ python3 python3-pip python3-venv \ ca-certificates gnupg lsb-release \ openssh-client \ net-tools iputils-ping dnsutils \ vim nano추가로 편의 툴:
sudo apt install -y htop tree jq ripgrep fd-find5. VS Code 연동 (Remote - WSL)
Windows에 VS Code 설치 후 확장:
- Remote - WSL
Ubuntu에서 프로젝트 폴더로 이동 후:
code .처음 실행 시 WSL 서버가 설치되면서 자동으로 연결됩니다.
6. Yocto 빌드 준비
Yocto는 의존성이 많아서 최소 패키지 세트를 같이 정리해둡니다.
(배포판/Yocto 버전에 따라 조금 다를 수 있음)
sudo apt install -y \ gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat \ cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \ python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm \ python3-subunit mesa-common-dev zstd lz4Yocto는 디스크/CPU/메모리를 정말 많이 씁니다.
- 가능하면 WSL용 디스크 여유 크게 확보
- 빌드 폴더를 Linux 파일시스템에 두기(중요)
요약
- 설치는
wsl --install로 끝내고, Ubuntu에서는apt update/upgrade부터 진행한다. - 대규모 빌드(특히 Yocto)는 절대
/mnt/c에서 돌리지 말고, WSL의 Linux 파일시스템(~/work)에 둔다.
