728x90
커널 컴파일 및 설치하는 방법
- 커널 소스 코드 다운로드
- 공식 웹사이트인 https://www.kernel.org/에서 원하는 버전의 커널 소스 코드를 다운로드합니다.
- 커널 소스 코드 압축 해제
- 다운로드한 소스 코드를 압축 해제합니다. tar -xf linux-x.x.x.tar.gz 명령어를 사용하여 압축을 해제합니다.
- 커널 설정
- 커널 설정을 위해 커널 소스 코드 디렉토리로 이동합니다. cd linux-x.x.x 명령어를 사용하여 디렉토리로 이동합니다.
- make mrproper 또는 make clean 명령어를 실행하여 이전 빌드 파일을 제거합니다.
- make menuconfig 명령어를 실행하여 커널 설정을 편집합니다. 이 명령어는 텍스트 기반으로 설정을 제공합니다.
- 필요한 기능, 모듈, 드라이버 등을 선택하고 설정을 저장합니다.
- 커널 컴파일
- make bzImage 명령어를 실행하여 커널 이미지를 빌드합니다.
- make modules 명령어를 실행하여 커널 모듈을 빌드합니다.
- make modules_install 명령어를 실행하여 빌드한 커널 모듈을 설치합니다.
- 커널 설치
- make install 명령어를 실행하여 커널 이미지 파일과 관련된 파일을 시스템에 설치합니다.
- 부팅 설정 업데이트
- /boot/grub/grub.conf 파일을 수정하여 새로운 커널을 부팅 메뉴에 추가합니다. 기존 항목을 복사하여 커널 이미지 파일과 부팅 설정을 수정합니다.
- 시스템 재부팅
- 커널을 변경했으므로 시스템을 재부팅하여 새로운 커널을 사용하도록 설정합니다.
이러한 단계를 따라가면 CentOS에서 커널을 컴파일하고 설치할 수 있습니다. 커널 컴파일은 고급 작업이므로 주의가 필요하며, 필요한 지식과 경험이 필요할 수 있습니다.
[root@ns2 ~]$ cd /usr/src/
[root@ns2 src]$ pwd
/usr/src
[root@ns2 src]$ tar xvfz linux-2.6.16.tar.gz
[root@ns2 src]$ ln -s linux-2.6.16.tar.gz linux
[root@ns2 linux]$ make rmprepro
make: gcc: Command not found
HOSTCC scripts/basic/fixdep
/bin/sh: gcc: command not found
make[2]: *** [scripts/basic/fixdep] Error 127
make[1]: *** [scripts_basic] Error 2
make: *** [include/config/auto.conf] Error 2
#error 해결방안 : gcc 설치한다
[root@ns2 linux]$
[root@ns2 src]$ rpm -qa | grep gcc
libgcc-3.4.6-10
[root@ns2 src]$
[root@ns2 src]$ yum -y install gcc
[root@ns2 linux]$ make mrproper
scripts/kconfig/lxdialog/dialog.h:131: warning: array 'attributes' assumed to have one element
make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2
#error 해결방안 : ncurses-devel 설치한다
[root@ns2 linux]$ yum list ncurses
Setting up repositories
Reading repository metadata in from local files
Installed Packages
ncurses.i386 5.4-15.el4 installed
[root@ns2 linux]$ yum -y install ncurses-devel
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
....
생략
.....
Running Transaction
Installing: ncurses-devel ######################### [1/1]
Installed: ncurses-devel.i386 0:5.4-15.el4
Complete!
[root@ns2 linux]$ make mrproper
CLEAN scripts/basic
CLEAN scripts/kconfig
[root@ns2 linux]$ make menuconfig
[root@ns2 linux]$ make bzImage
...
생략
...
BUILD arch/i386/boot/bzImage
Root device is (8, 3)
Boot sector 512 bytes.
Setup is 6991 bytes.
System is 1865 kB
Kernel: arch/i386/boot/bzImage is ready (#1)
[root@ns2 linux]$ make modules
CHK include/linux/version.h
...
생략
...
[root@ns2 linux]$ make modules_install
[root@ns2 linux]$ make install
[root@ns2 linux]$ vi /etc/grub.conf
###[참고]
[root@ns2 src]$ make rmprepro
make: *** No rule to make target `rmprepro'. Stop.
#make Stop : 현재 디렉토리가 커널이 있는 디렉토리에 위치해 있는지 확인해 본다.
728x90
'리눅스' 카테고리의 다른 글
[리눅스] Apache 2.0 & Tomcat 5.0 연동하기 (0) | 2021.10.17 |
---|---|
하드 디스크에 배드 블록의 존재 여부를 점검하기(badblocks) (0) | 2021.10.16 |
sendmail Relaying denied. IP name lookup failed 오류 (0) | 2021.10.16 |
리눅스 운영체제에서 디스크의 배드 블록을 마크하는 방법 (0) | 2021.10.16 |
[리눅스] Squirrelmail Install (0) | 2021.10.16 |