본문 바로가기
개발환경/우분투

Ubuntu 20.04에서 Kernel 버전 업데이트 방법

by Kibua20 2021. 9. 26.

리눅스의 가장 큰 장점 중에 하나는 커널만 업데이트 가능하는 것입니다.  노트북이나 PC 구입 시점에서는 지원하지 않은 HW Device Driver도 추후에 최신 Linux Kernel에 적용되는 경우가 종종 있습니다.  Ubuntu 20.04 LTS에서 최신 Linux Kernel으로 업데이트하는 방법을 설명합니다.  본 포스팅 내용은 LG 그램 17 노트북으로 확인하였습니다. (설치 방법  링크) 

 

Ubuntu 20.04 버전에서 Kernel Update 방법:

  1. Ubuntu 최신 커널 Repository 추가 및 설치 
  2. Ubuntu Kernel 버전 확인 및 업그레이드
  3. 노트북 Secure Boot Disable로 변경
  4. Kernel Version Update 확인
  5. Kernel Version 원복 또는 버전 변경

 

Ubuntu 최신 커널 Repository 추가 및 설치 

Ubuntu 20.04에서 최신 Kernel Image를 다운로드할 수 있는 apt repository를 추가하고 Ubuntu mainline 프로그램을 설치합니다.  mainline 은 kernel.ubuntu.com에서 최신 커널 버전을 다운로드하고, 설치할 버전을 선택할 수 있는 GUI 프로그램입니다.  (※ 커널 소스를 다운로드하여 직접 빌드해서 직접 설치도 가능하지만, Kenel 개발자가 아니 분들께는 쉽지 않은 과정입니다. Ubuntu Kernel팀에서 release 하는 kernel 이미지 사용을 추천드립니다.)

 

$ sudo add-apt-repository ppa:cappelikan/ppa
$ sudo apt update
$ sudo apt install mainline

 

Application 메뉴에서 Ubuntu Mainline을 실행하면 아래 왼쪽 화면이 표시됩니다. 처음 접속 시 kernel.ubuntu.com에서 Release 하는 커널 버전 list를 보여주고, "설치" 메뉴가 활성됩니다.  커널 버전  리스트에서는 ① 이미 설치된 Kernel 버전과 ② 구동 중인 버전을 확인할 수 있습니다.  Ubuntu mainline은 기본 값으로 stable version만 표시하고, "설정" 메뉴 unstable, RC 릴리즈 숨김 옵션을 해제해야 전체 리스트를 확인할 수 있습니다. 

 

Ubuntu 최신 커널 Repository 추가 및 설치

Kernel 버전은 검증 수준에 따라서 mainline 버전, stable, longterm 버전으로 구분됩니다. mainline은 가장 최신 kernel branch이고, Critical 한 버그를 수정해서 statble 버전으로 분기합니다. 현재 시점에서 Ubuntu의 stable release는 5.14.7 버전이고, mainline은 5.15.0-rc2 버전입니다.  Kernel 버전 확인 아래 사이트에 확인 가능합니다.  

 

Kernel 버전 확인

 

Ubuntu Kernel 버전 확인 및 업그레이드

우분투 터미널에서 mainline 명령어를 확인하고, 현재 설치된 버전을 확인합니다.  현재 Ubuntu 20.04에서는 5.4.0 버전과 5.11.0 버전이 설치된 상태이고 5.11.0 버전이 구동 중인 상태입니다.

 

$ mainline --list-installed

Ubuntu Kernel 버전 확인 및 업그레이드

다른 방법으로는 uname 명령어로 현재 설치된 버전 확인이 가능합니다. 

$ uname -a

Ubuntu Kernel 버전 확인

Ubuntu mainline GUI에서 설치를 하고자 하는 kernel 버전을 지정 (아래 예제는 5.15.0 rc2 버전 설정)하고, "설치" 메뉴를 실행하면 아래와 같이 linux-modules-5.15-generic, ❷ linux-images-usinged-5.15.0-generic,  ❸ linux-headers-5.15.0-generic 을 다운로드하고 Grub에 설정도 업데이트합니다. 

Ubuntu kernel 업데이트

linux header설치 시 libc6 종속성 에러가 발생하지만 무시하고 진행해도 무방합니다. 

 dpkg: 종속성 문제로 linux-headers-5.15.0.-015500rc2-generic의 구성이 차단되었습니다. linux-headers-5.15.0-051500rc2-generic 패키지는 다음 패키지에 의존: libc6 (>= 2.34): 하지만 시스템에 있는 libc6:amd64의 버전은 2.31-0ubuntu9.2입니다. 

 

노트북 Secure Boot Disable로 변경

Secure Boot란 메인 보드의 보안을 강화하기 위해서 Boot Image의 서명의 유효성을 체크하는 기능입니다.  Secure Boot가 활성화된 경우 신뢰할 수 있는 서명이 포함된 Boot image으로만 부팅을 하고, 서명이 없는 Boot Image는 부팅을 허용하지 않습니다. Ubuntu에서 배포하는 하는 Kenel 이미지는 secure booting을 위한 Signing이 "안된" 이미지입니다.  

 

LG 그램 17은 기본 값으로 Secure Boot가 활성되어 있고, Ubuntu Kenel 이미지는 non-signed image이기 때문에  Secure Boot 옵션을 비활성화해야 부팅이 가능합니다.  노트북을 재 부팅하고 부팅 초반에 LG GRAM 부팅 로그가 나오기 전부터 F2 Key 연타를 치고, Bios 설정에서  Security Boot Option을 Disable로 변경합니다. 

노트북 Secure Boot Disable로 변경

 

참고로, Secure Boot가 활성화된 상태에서 Non-signed Image를 부팅하는 경우에 아래와 같은 부팅 에러가 발생합니다. 

error: /boot/vmlinuz-5.15.0-51500rc2-generic has invalid signature
error: you need to load the kernel first

Press any key to continue

 

Kernel Version Update 확인

Kernel 업데이트 완료하고 uname -a 명령어서 설치된 버전을 확인합니다.  아래 예제에서는 5.15.00 rc2 버전으로 업데이트 완료한 것을 알 수 있습니다. 

 

$ uname -a

Kernel Update 확인

 

Kernel Version 원복 또는 버전 변경

Kernel 버전을 업데이트하는 경우 종종 부팅에 실패하는 경우가 있습니다. 이 경우에는 부팅 시 Grub 메뉴에서 이전 버전으로 부팅하고, 문제의 버전을 삭제하면 정상적으로 부팅 가능합니다.  Ubuntu Grub에서 "Ubuntu용 고급 설정"  메뉴에서 설치된 Kernel 버전 리스트를 보여주고 부팅 가능한 이미지를 선택할 수 있습니다. 

Kernel Version 원복 또는 부팅 확인

 

관련 글:

[개발환경/우분투] - LG 그램17 노트북에 Ubuntu 20.04를 microSD카드에 설치하기

[개발환경/윈도우와 WSL] - Windows 10 과 Ubuntu 20.04 설치하기

[개발환경/우분투] - Ubuntu 에서 SW 개발 Tool 설치

[개발환경/윈도우와 WSL] - Window 와 Ubuntu 파일 공유하기 (듀얼부팅)

[개발환경/우분투] - Ubuntu 테마 설치 (맥분투 만들기)

[개발환경/우분투] - [Tips] 우분투 화면 캡쳐 및 화면 녹화

[개발환경/우분투] - [Tips] Ubuntu 20.04 키 모음 잠금 풀기 (부팅 후에 표시하지 않도록 수정하기)

[개발환경/우분투] - Docker 개념과 명령어 사용 방법 및 예제

[개발환경/Tips] - rclone을 활용하여 Microsoft OneDrive를 네트위크 드라이브로 마운트하는 방법

[개발환경/Web Server] - 우분투 20.04에서 Apache와 Tomcat 완전 삭제 방법

 

 




댓글