본문 바로가기
카테고리 없음

WSL 최신 커널 컴파일해서 적용하기

by Embedded.AI 2024. 8. 17.
반응형

WSL 최신 커널 컴파일해서 적용하기

WSL(Windows Subsystem for Linux)은 Windows에서 리눅스 환경을 제공하는 강력한 도구이지만, 때로는 최신 기능이나 특정 드라이버 지원을 위해 커널을 업데이트해야 할 필요가 있습니다. 이 포스팅에서는 WSL의 커널 소스코드를 직접 다운로드하고 컴파일하여, 여러분의 시스템에 맞는 최적화된 커널을 구축하는 전체 과정을 단계별로 안내해드리겠습니다. 최신 커널 컴파일을 통해 WSL의 성능을 향상시키고, 새로운 하드웨어 지원과 보안 패치를 적용할 수 있습니다.

WSL 최신 커널 컴파일해서 적용하기

테스트 환경

  • Windows 11 Pro 23H2
  • WSL 2 (Ubuntu 20.04 LTS)

단계별 가이드

최신 커널 컴파일해서 적용하기

먼저 WSL 터미널을 열고 Ubuntu 20.04를 실행합니다. 다음 명령어로 커널 빌드에 필요한 패키지들을 설치합니다:

sudo apt update && sudo apt install build-essential flex bison libssl-dev libelf-dev bc python3 dwarves

Microsoft Linux 커널 소스 빌드

GitHub에서 Microsoft의 Linux 커널 소스를 클론하고 아래 명령어로 커널을 빌드합니다. 빌드 과정에서 몇 가지 설정을 물어볼 수 있습니다. 대부분의 경우 기본값을 사용하면 됩니다. 추가로 커널 모듈 및 헤더를 설치 합니다.

git clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.1.y
cd WSL2-Linux-Kernel

make -j$(nproc) KCONFIG_CONFIG=Microsoft/config-wsl

sudo make modules_install headers_install

빌드된 커널 이미지 복사

새로 빌드된 커널 이미지를 Windows 파일 시스템으로 복사합니다:

mkdir /mnt/c/WSL
cp arch/x86/boot/bzImage /mnt/c/WSL/

WSL 설정 파일 수정

Windows에서 %USERPROFILE%.wslconfig 파일을 생성하거나 수정합니다. 내용은 다음과 같아야 합니다. 아래의 예는 C밑에 WSL 폴더를 생성하고 이미지를 넣은 경우 입니다.

[wsl2]
kernel=C:/WSL/bzImage

WSL 재시작

관리자 권한으로 PowerShell을 열고 다음 명령어를 실행합니다:

wsl --shutdown

새 커널 확인

WSL을 다시 시작하고 새 커널 버전을 확인합니다:

wsl
uname -r

출력이 "6.1.x-microsoft-standard-WSL2"와 유사하게 나오면 성공입니다.

문제 해결

만약 새 커널이 적용되지 않았다면:

  1. .wslconfig 파일의 내용을 다시 확인합니다.
  2. C:\WSL\bzImage 파일이 실제로 존재하는지 확인합니다.
  3. WSL을 완전히 종료하고 다시 시작해봅니다.
  4. C:\Windows\Temp\WSL 폴더에서 관련 로그 파일을 확인합니다.

참고사이트

  • Microsoft 공식 WSL 문서: https://docs.microsoft.com/en-us/windows/wsl/ Microsoft의 공식 문서로, WSL의 설치, 구성, 사용법 등에 대한 가장 신뢰할 수 있는 정보를 제공합니다.
  • WSL2-Linux-Kernel GitHub 저장소: https://github.com/microsoft/WSL2-Linux-Kernel Microsoft에서 관리하는 WSL2용 Linux 커널 소스 코드 저장소입니다. 최신 커널 소스와 관련 문서를 확인할 수 있습니다.
  • WSL 커뮤니티 포럼: https://github.com/microsoft/WSL/discussions WSL 사용자들과 개발자들이 모여 정보를 공유하고 문제를 해결하는 공간입니다. 커널 업그레이드와 관련된 다양한 경험과 팁을 얻을 수 있습니다
반응형