LukeHan 의 잡다한 기술 블로그

하모니카 3.0 커널 변경 방법 본문

OS/HamoniKR

하모니카 3.0 커널 변경 방법

LukeHan1128 2020. 12. 6. 01:02
반응형

※ 주의

새 커널을 설치하는 동안 뜻밖의 문제가 생길 수 있습니다.

특히 독점 드라이버를 사용하신다면 그럴 가능성이 더 큽니다.

 

이슈에 포함되는 항목은 다음과 같습니다.

  • 네트워크 사용 불가(wifi, 유선랜)
  • 비디오 가속 안됨
  • 부팅할 때 검은 화면
  • 예고 없는 시스템 정지

 

해당 문제가 발생하면 아래의 순서로 복구해 보시기 바랍니다.

  • 시스템 재시작
  • Shift 키를 누르고 부팅 메뉴를 기다립니다.
  • 부팅 메뉴에서 'Advanced options' 으로 시작하는 줄을 선택합니다.
  • 이전 커널을 선택합니다.
  • 이전커널로 부팅한 후 새 커널을 삭제합니다.

 

 

 

 

※ 해당 문서는 하모니카 3.0를 기준으로 작성되었습니다.

※ 커널 변경 전 Timeshift 를 이용하여 백업한 뒤 진행하는 것을 권장 드립니다.

※ 순서대로 진행하지 않는 경우 에러가 발생하여 장치에 이상이 생길 수 있습니다. 주의하시기 바랍니다.

 

 

 

 

커널이란

리눅스 커널은 운영체제에서 가장 중요한 부분이다.

프로세서와 시스템 메모리에 상주하면서 디바이스나 메모리 같은 하드웨어 자원을 관리하고,

프로세스의 스케줄을 관리하여 다중 프로세스를 구현하고, 시스템에 연결된 입출력을 처리하는 운영체제의 핵심 역할을 수행한다.

 

 

 

 

커널 종류

linux-image-4.18.0 을 기준으로 커널을 확인해 보면 아래와 같은 목록을 확인할 수 있다

linux-image-4.18.0-1004-gcp       linux-image-4.18.0-1013-azure     linux-image-4.18.0-15-generic
linux-image-4.18.0-1005-gcp       linux-image-4.18.0-1013-gcp       linux-image-4.18.0-15-lowlatency
linux-image-4.18.0-1006-aws       linux-image-4.18.0-1014-azure     linux-image-4.18.0-16-generic
linux-image-4.18.0-1006-azure     linux-image-4.18.0-1015-gcp       linux-image-4.18.0-16-lowlatency
linux-image-4.18.0-1006-gcp       linux-image-4.18.0-1016-aws       linux-image-4.18.0-17-generic
linux-image-4.18.0-1007-aws       linux-image-4.18.0-1017-aws       linux-image-4.18.0-17-lowlatency
linux-image-4.18.0-1007-azure     linux-image-4.18.0-1018-aws       linux-image-4.18.0-18-generic
linux-image-4.18.0-1007-gcp       linux-image-4.18.0-1018-azure     linux-image-4.18.0-18-lowlatency
linux-image-4.18.0-1008-aws       linux-image-4.18.0-1019-azure     linux-image-4.18.0-20-generic
linux-image-4.18.0-1008-azure     linux-image-4.18.0-1020-aws       linux-image-4.18.0-20-lowlatency
linux-image-4.18.0-1008-gcp       linux-image-4.18.0-1020-azure     linux-image-4.18.0-21-generic
linux-image-4.18.0-1009-gcp       linux-image-4.18.0-1023-azure     linux-image-4.18.0-21-lowlatency
linux-image-4.18.0-1011-aws       linux-image-4.18.0-1024-azure     linux-image-4.18.0-22-generic
linux-image-4.18.0-1011-azure     linux-image-4.18.0-1025-azure     linux-image-4.18.0-22-lowlatency
linux-image-4.18.0-1011-gcp       linux-image-4.18.0-13-generic     linux-image-4.18.0-24-generic
linux-image-4.18.0-1012-aws       linux-image-4.18.0-13-lowlatency  linux-image-4.18.0-24-lowlatency
linux-image-4.18.0-1012-gcp       linux-image-4.18.0-14-generic     linux-image-4.18.0-25-generic
linux-image-4.18.0-1013-aws       linux-image-4.18.0-14-lowlatency  linux-image-4.18.0-25-lowlatency

목록을 보면 크게 5종류로 나뉘는 것을 확인 할 수 있다

  • gcp : Google Cloud Platform 구글 클라우드 플랫폼 지원 버전
  • aws : Amazon Web Services 아마존 웹 서비스 지원 버전
  • azure : Microsoft Azure 지원 버전
  • generic : 일반적인 버전
  • lowlatency : 대기시간이 짧은 버전으로 일반 커널에 비해 성능이 약간 낮고 베터리 수명이 짧다

 

 

 

 

커널 확인 방법

# 커널 확인
uname -a
 
# 하모니카 1.4 커널 버전
Linux hamo 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
 
# 하모니카 3.0 커널 버전
Linux nhis-X556UAK 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 

 

 

 

설치된 커널 패키지 확인

# ex) dpkg -l | grep 커널버전
dpkg -l | grep 4.15.0-54
 
# output
ii  linux-headers-4.15.0-54                    4.15.0-54.58                                 all          Header files related to Linux kernel version 4.15.0
ii  linux-headers-4.15.0-54-generic            4.15.0-54.58                                 amd64        Linux kernel headers for version 4.15.0 on 64 bit x86 SMP
ii  linux-image-4.15.0-54-generic              4.15.0-54.58                                 amd64        Signed kernel image generic
ii  linux-kernel-generic                       4.15.0-54                                    all          The Linux kernel.
ii  linux-modules-4.15.0-54-generic            4.15.0-54.58                                 amd64        Linux kernel extra modules for version 4.15.0 on 64 bit x86 SMP
ii  linux-modules-extra-4.15.0-54-generic      4.15.0-54.58                                 amd64        Linux kernel extra modules for version 4.15.0 on 64 bit x86 SMP

 

 

 

 

linux-kernel-generic

릴리스 커널을 가리키는 메타 패키지(메타 패키지?)로 LinuxMint 에서 제공하는 패키지 이며

커널과 관련된 패키지를 그룹화 하여 일괄적으로 업데이트 할 수 있도록 지원해 준다.

 

LinuxMint 에선 4.15.0-54 버전 이후 5.0.0-32 버전을 지원하고 있으며

다른 버전의 커널을 설치하고 싶다면 linux-kernel-generic 을 무시하고 수동으로 다른 버전의 커널을 설치 해야 한다.

 

 

linux-headers , linux-headers-generic

헤더는 내부 커널 구성 요소간 및 사용자 공간과 커널간 인터페이스 역활을 하며, 소스 파일의 함수가 정의되는 방식을 지정합니다.

 

C에서는 함수를 사용하기 전에 함수를 선언해야 합니다. 즉, 함수에 대한 설명, 매개 변수 및 반환되는 데이터 종류의 선언을 header 라는 단일 파일에 넣는 것이 일반적입니다.

 

linux-headers 는 리눅스 커널이 제공하는 기능을 포함하는 모든 파일입니다.

 

 

linux-image-generic

일반적인 리눅스 커널 이미지

 

 

linux-modules-generic , linux-modules-extra-generic

패키저가 빌드 한 모듈 및 업데이트 후 시스템을 부팅 할 수없는 상태로 두지 않도록하는 스크립트를 포함합니다.

 

 

 

 

커널 설치

# 설치
sudo apt-get install -y linux-image-4.18.0-25-generic
sudo apt-get install -y linux-headers-4.18.0-25-generic
sudo apt-get install -y linux-modules-extra-4.18.0-25-generic
 
# 재부팅 필요
reboot

 

※ 부팅시 shift 키를 누르고 있으면 grub 모드로 접속이 가능하며 'HamoniKR용 고급 설정' 메뉴에서 설치된 커널을 선택하여 부팅이 가능하다.

 

 

 

 

설치 확인

# 확인
dpkg -l *4.18.0-25*
 
# output
희망상태=알수없음(U)/설치(I)/지우기(R)/깨끗이(P)/고정(H)
| 상태=아님(N)/설치(I)/설정(C)/풀림(U)/절반설정(F)/일부설치(H)/트리거대기(W)/
| /    트리거밀림(T)
|/ 오류?=(없음)/다시설치필요(R) (상태, 오류가 대문자=불량)
||/ 이름                                      버전                      Architecture              설명
+++-=========================================-=========================-=========================-=======================================================================================
ii  linux-headers-4.18.0-25                   4.18.0-25.26~18.04.1      all                       Header files related to Linux kernel version 4.18.0
ii  linux-headers-4.18.0-25-generic           4.18.0-25.26~18.04.1      amd64                     Linux kernel headers for version 4.18.0 on 64 bit x86 SMP
ii  linux-image-4.18.0-25-generic             4.18.0-25.26~18.04.1      amd64                     Signed kernel image generic
un  linux-image-unsigned-4.18.0-25-generic    <none>                    <none>                    (설명 없음)
ii  linux-modules-4.18.0-25-generic           4.18.0-25.26~18.04.1      amd64                     Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP
ii  linux-modules-extra-4.18.0-25-generic     4.18.0-25.26~18.04.1      amd64                     Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP

 

 

 

 

커널 삭제

아래와 같이 삭제 하지 않는 경우 OS 일부 기능이 정상적으로 동작하지 않을 수 있습니다. (ex 터치패드, 네트워크 등의 장비 제어)

# 삭제
sudo apt-get --purge remove -y linux-image-4.15.0-54-generic
sudo apt-get --purge remove -y linux-image-unsigned-4.15.0-54-generic
sudo apt-get --purge remove -y linux-headers-4.15.0-54-generic
sudo apt-get --purge remove -y linux-headers-4.15.0-54
sudo apt-get --purge remove -y linux-modules-4.15.0-54-generic
sudo apt-get --purge remove -y linux-modules-extra-4.15.0-54-generic
 
# 재시작
reboot

 

반응형
Comments