3 - 공부 기록
[Linux/Ubuntu] Kernel Compile
seonshine-bibi
2022. 4. 12. 13:14
반응형
1. 현재 커널 버전 확인하기
uname -r
2. 커널 소스 다운로드
The Linux Kernel Archives
www.kernel.org
원하는 버전의 커널을 다운로드 받는다.
특정 버전을 찾으려면 pub > linux > kernel > ... 순으로 들어가 찾으면 된다.
3. 커널 소스 파일 이동
mv linux-5.4.67.tar.gz /usr/src
다운로드한 파일을 /usr/src 로 이동시킨다.
4. 압축 해제
tar -xvzf linux-5.4.67.tar.gz
이제 /usr/src/linux-5.4.67 폴더가 생겼다. 커널의 루트 디렉토리이다.
5. 컴파일에 필요한 툴 설치
sudo apt-get install libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf
sudo apt-get install ncurses-dev kernel-package
6. 커널 컴파일
sudo make modules
sudo make modules_install
sudo make
sudo make install
각 make 단계 마다 상당한 시간이 걸린다.
이때 config 파일이 없다고 뜨면
make menuconfig 로 config 파일을 만들어주었다.
7. grub 설정
vi /boot/grub/grub.cfg
이 곳에서 Advanced options for Ubuntu submenu 아래에 menuentry 들이 있다.
부팅시 선택할 커널이 몇 번째 menuentry인지 확인한다.
vi /etc/default/grub
여기에서 grub 설정을 변경할 수 있다.
커널을 변경하는 submenu는 두번째 옵션에 해당하므로, 1로 쓴다.
원하는 menuentry가 5번째 entry 였다. 인덱스는 0부터 시작하므로 4로 쓴다.
GRUB_DEFAULT="1>4"
작성 후 저장한다.
sudo update-grub
변경 후에는 업데이트를 적용해야한다.
8. 재부팅 후 현재 커널 확인
sudo reboot
재부팅한다.
uname -r
커널이 변경된 것을 확인할 수 있다.
반응형