Linux kernel version 변경

‍신충현·2021년 12월 17일
0

1. virtual box 설치

진행 중에 커널이 깨지는 경우가 발생할 수 있기에 Virtualbox나 VMWare와 같은 가상 머신 환경에서 과제를 진행하는 것을 권장한다. 가상 머신의 CPU 코어의 수는 반드시 2개 이상으로 설정해야만 한다.
http://www.virtualbox.org/wiki/Downloads

2. Ubuntu(20.04) 설치

https://old-releases.ubuntu.com/releases/20.04/

  • 디스크 용량 : 60GB
  • 메모리 : 4096
  • 프로세서 : 4

update 및 필요한 package install

sudo apt-get update
sudo apt-get install build-essential libncurses5 libncurses5-dev bin86 kernel-package libssl-dev bison flex libelf-dev dwarves
#출처: https://harryp.tistory.com/839 [Park's Life]

sudo reboot #설치완료 후 재부팅

keep the local version currently installed 선택

3. kernel compile

리눅스 커널의 기능을 추가/수정/삭제하기 위해

커널코드 다운로드 및 압축 풀기

sudo wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.81.tar.xz
# http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz
sudo tar -xvf linux-5.10.81.tar.xz

커널파일 이동

sudo mv linux-5.10.81 /usr/src/

다른 파일들은 우분투 20.04에 기본으로 설치된 커널 소스

config 조정

  • 일일이 설정하는 번거로움 제거하기 위해 기본 커널 소스 안의 config 파일을 새로운 커널 소스로 복사
    /usr/src 위치에서 실행
sudo cp linux-headers-5.11.0-41-generic/.config linux-5.10.81
  • .config 파일 변경
    /usr/src/linux-5.10.81 위치에서 실행
sudo vi .config
//CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" -> CONFIG_SYSTEM_TRUSTED_KEYS = "" 
//CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-certs.pem" -> CONFIG_SYSTEM_REVOCATION_KEYS=""
//이렇게 바꾸어줘야 함
  • menuconfig 실행
sudo make menuconfig

load → ok → exit → yes

커널 이름 변경

cd linux-5.10.81/
sudo vi Makefile

커널 컴파일 및 설치

  • CPU 코어 갯수 확인
grep -c processor /proc/cpuinfo 
#4
  • 컴파일
sudo make -j4 
//j옵션: 컴파일에 사용할 코어의 개수-> 속도가 빨라짐

sudo make modules_install
sudo make install

4. Default boot 변경

커널 목록 확인

sudo vi /boot/grub/grub.cfg

부팅 커널 변경

sudo vi /etc/default/grub

5. 결과

reboot

sudo reboot

최종 변경된 커널 정보 확인

uname -r
uname -a

+ 추가 참고사항

높은 해상도로 창조절 가능

장치 > 게스트 확장 CD 이미지 삽입 > Run > 완료 후 엔터

장치 > 클립보드 공유 > 양방향

Reference

https://5equal0.tistory.com/entry/Linux-Kernel-Kernel-빌드-및-설치
https://junshim.github.io/linux kernel study/Linux_Kernel_Compile/
https://sandarabong.tistory.com/63

profile
Developer thinking about what the world needs

1개의 댓글

comment-user-thumbnail
2023년 4월 7일

저는 m1 맥북이라 utm에서 리눅스 깔고 커널 컴파일 하는데 다 끝내고 부팅이 계속 안되네요... 이게 가상머신 영향도 있을까요?

답글 달기