2025. 8. 2. 08:07ㆍ리눅스 실제 사용 팁
프리랜서 생활을 하면서 리눅스 및 데비안에 관해 조금이나마 알고 있었던 지식들이 잊혀져 갔다. 언제부터였는지 까마득하다. 오랜만에 커널컴파일을 해본다.
데비안에서 준비한 커널을 다운로드해서 컴파일하는 과정을 기록해본다.
Debian Linux Kernel Handbook v1.0.21 에서 본 방식이다.
apt-get install linux-source-{version}
{version} 부분은 다운로드할 버전을 넣으면 된다. 근데 마냥 다 되는 게 아니고 패키지 저장소에 있는 것만 되기 때문에 현 시점에서 리눅스 커널 최신 버전은 6.16 이지만,
사용 중인 trixie (testing) 에서 지원하는 linux-source-{version} 패키지 버전은 6.12 뿐이므로 고르고 말고 할 것 없이 그냥 이것을 설치한다.
aptitude search ~nlinux-source
--
(출력)
p linux-source - Linux kernel source (meta-package)
i linux-source-6.12 - Linux kernel source for version 6.12 with Debian pa
apt install linux-source-6.12
--
(설명)
리눅스 커널 소스는 전통적으로 /usr/src 밑에 다운로드 된다.
[/usr/src]
ls -l
합계 147584
drwxr-xr-x 2 root root 4096 8월 2일 06:42 linux-config-6.12
-rw-r--r-- 1 root root 151115396 7월 16일 16:13 linux-source-6.12.tar.xz
tar xJf linux-source-6.12.tar.xz
--
(설명)
알파벳 대문자 'J' 옵션이 xz 압축해제 기능이다.
참고로 소문자 'j' 옵션은 bzip2 압축해제 기능임.
[/usr/src/linux-source-6.12]
cp ../config.amd64_none_amd64.xz .
unxz config.amd64_none_amd64.xz
cp config.amd64_none_amd64 .config
--
(설명)
unxz 로 xz 압축을 해제한다.
'.config' 은 리눅스 커널 소스 옵션이 저장되는 파일이다.
앞서 linux-source-{버전} 패키지를 설치할 때 데비안 커널에 맞춤설정된 파일이 linux-config-6.12/ 밑에 들어 있다.
원하는 파일을 커널 소스 DIR 아래에 '.config' 으로 이름을 변경하면 `make menuconfig` 실행 시 해당 설정을 불러온다.
apt install libncurses-dev
--
(설명)
ncurses 라이브러리는 리눅스 터미널에서 CUI 화면을 그려준다. 커널 옵션을 선택하는 방식은 여러가지가 있는데
리눅스 터미널에서 괘선으로 그려진 네모난 상자 안에서 스페이스 바 또는 알파벳 Y/N/M 으로 기능을 선택하려면
libncurses-dev 패키지가 설치되어 있어야 한다.
make menuconfig
--
(설명)
CUI 방식의 menuconfig 화면을 연다.
Device Drivers 카테고리로 가서 내 노트북에서 장애가 생기는 무선랜 모듈을 찾아본다.
설정을 마쳤으면 맨 앞으로 돌아와서 Save 를 선택하고 엔터를 친다. (지금은 예전의 패키가 사라져서 복잡한 메뉴화면을 볼 엄두가 나질 않네...) 최종적으로 Exit 를 통해 빠져 나온다, 선택내역은 '.config' 파일에 저장된다.
vi .config
메뉴 꾸러미 보기가 두려워서 .config 파일을 직접 편집하련다.
원하는 기능이 오류없이 실행되면 더할 나위 없겠지만 일단 컴파일 과정에서 오류만 발생하지 말거라...
'리눅스 실제 사용 팁' 카테고리의 다른 글
[리눅스] Debian USB, CD 없이 설치하기 (0) | 2025.07.08 |
---|---|
[리눅스] Debian Downgrading (0) | 2025.06.28 |
[리눅스에서 윈도 앱 실행] Bottles 앱에서 기존 생성한 보틀 삭제하기 (0) | 2024.03.30 |
[리눅스에서 윈도 앱 실행] Bottle 에서 접근가능한 c_drive (0) | 2024.03.04 |
[리눅스에서 윈도 앱 실행] Flatpak < Bottles < 카카오톡 설치 및 실행 (0) | 2024.02.26 |