안녕하세요
오늘은 ubuntu 22.04.3 버전에서 커널 빌드 방법을 포스팅했습니다.
빌드 환경 : virtualbox, ubuntu 22.04.3 버전
필요한 패키지
sudo apt update
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev fakeroot
1.현재 커널버전
우선 현재 ubuntu 22.04.3버전의 커널을 확인해줍니다.
1-1. 커널 버전 확인 방법
uname -r
1-2. 커널 버전 읽는법
커널 버전을 볼때 아래 그림을 생각하면 보면 좀 더 자세하게 알 수 있습니다.
2. 커널 설치
minor 버전이 같은 커널버전을 다운 받을 생각입니다.
2-1. 커널 site
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.2.16.tar.gz
tar -xvf linux-6.2.16.tar.gz
해당 커널 버전은 longterm 버전이 아니라 최신 버전은 5월이 마지막이다.
3. 빌드
3-1. 현재 OS에서 사용하는 커널 설정을 불러온다.
cd linux-6.2.16
cp -v /boot/config-$(uname -r) .config
3-2. 로드된 모듈에 필요하지 않은 모듈 옵션을 비활성화 해줍니다.
make localmodconfig
3-3. 추가 옵션
make: *** [Makefile:2021: .] Error 2
위 Error가 나오지 않게 아래 옵션을 추가해준다.
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS ""
scripts/config --set-str CONFIG_SYSTEM_REVOCATION_KEYS ""
3-4. cpu 수 확인 및 빌드
nproc
fakeroot make -j$(nproc)
nproc는 CPU Core의 개수를 확인 할 수 있습니다.
make의 -j옵션은 빌드중 사용할 core의 개수를 지정할 수 있습니다.
실제 root권한을 부여하지 않고 가상의 root권한을 부여하고, 빌드 과정에서 생성되는 파일들의 소유권 및 권한 정보를 조작도와줍니다.
3-5. 설치
sudo make modules
sudo make modules_install
sudo make install
이후 커널 설치가 완료되면
재부팅해주면 됩니다.
재부팅 후 uname -r 로 커널버전을 확인해줍니다.
감사합니다.
'linux 커널' 카테고리의 다른 글
netfilter hook을 이용한 fw 만들기 - 2 (2) | 2023.12.30 |
---|---|
netfilter hook을 이용한 fw 만들기 (2) | 2023.12.18 |
리눅스 커널 모듈 (2) | 2023.12.18 |