블로그 이미지
은총애비!!

카테고리

분류 전체보기 (2525)
Linux (35)
Error 해결 방법 (5)
소소한 일상 (1620)
사진실 (0)
책책책, 책을 읽읍시다!! (21)
기타(JSP & DB & 등등) (4)
미국 주식 관련 (541)
아침형 인간 프로젝트 (292)
Total
Today
Yesterday
반응형

[MicroServer G7 N54L] Linux Kernel 4.6.2 compile

 

 

kernel 컴파일시 추가 패키지 목록

- ncurses-devel hmaccalc binutils-devel qt-devel gcc make

 

 

https://www.kernel.org/ 에서 버전을 다운 받을수 있습니다.

 

 

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.2.tar.gz

 

 

위와 같이 리눅스 쉘상태에서도 wget로도 다운 받을 수 있습니다.

 

커널을 다운 받고 디렉토리 안으로 들어가 아래와 같이 순서대로만 하시면 됩니다.

 

1. make mrproper

※반드시 1번 후에 config-xxx파일을 복사 해야 합니다.

2. make menuconfig => /boot/config-xxx 커널 위치에 .config로 복사후 menuconfig에서 LOAD후 make oldconfig 적용

3. make oldconfig => 기존 설정 적용

4. make clean

5. make all

6. make modules

7. make modules_instal

8. make install

9. make -j4 all && make -j4 modules && make -j4 modules_install && make -j4 install

 

 

 

 

 

ERROR: modinfo: could not find module snd_page_alloc

ERROR: modinfo: could not find module output

ERROR: modinfo: could not find module crc_t10dif

 

 

그런데 말입니다..예전 3.x버전에서는 이런 에러가 없었는데..모듈관련 에러가 있습니다.

 

 

 

 

lsmod로 모듈이 있는지 확인해 봤습니다.

 

 

빨간색 네모는 컴파일시 모듈을 못찾는다는 에러..

 

 

노란색 네모는 lsmod로 모듈을 확인해 보았습니다.

 

 

하얀색은 에러난 모듈을 검색해서 나온 결과 입니다.

 

 

현재 버전에서 모듈을 검색해본 결과 입니다.


 

 

 

vi /boot/grub/grub.conf에서

default=1번을 defaule=0번으로 수정하고 reboot

 

 

아래의 사진은 커널 업데이트 하고 모듈을 확인해 보았습니다.

 

컴파일 후 하위 버전에서는 분명 확인 했었습니다.

 

 

 

 

그런데 말입니다. 아까 하얀색 네모를 검색해보니 이름이 바껴서 모듈이 제대로 올라왔습니다. 이게 에러인지 아닌지 정확하게는 알 수는 없지만..일단 제대로 컴파일 되고 사용하는데는 무리가 없어 보입니다.

 

 

 

에러를 보고나서 정말 20번 이상은 컴파일 했습니다. 리눅스도 몇번 다시 설치도 해보고 커널 버전도 바꿔서 해보고..모듈 검색과 추가/삭제도 알게 되고..많은 시간을 들였지만 그래도 몇가지 정보와 지식을 얻었으니 다행이라고 생각합니다.

반응형
Posted by 은총애비!!
, |
반응형

[MicroServer G7 N54L] Linux Kernel 3.16.3 compile

 

그전에 미리 설치 해야할 패키지 들이 있습니다.

ncurses-devel, hmaccalc, qt-devel, binutils, binutils-devel, make, gcc, lib, zlib, apr, apr-util, apr-devel,

libtool/automake/autoconf/compat*

설치가 되어 있으면 굳이 안하셔도..그러면 업데이트?~~ 이왕이면 최신버전이 좋겠지요?

 

1. kernel 파일을 다운 받는다.

- www.kernel.org  홈페이지에서 다운 받아도 되고 아래처럼 wget로 다운받아도 됩니다.

그래도 아래와 같이 버전별로 있으니 홈페이지에서 확인하고 받으시길 바랍니다.!!

ex) wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.16.3.tar.gz -> 커널 버전

 

2. 압축을 풉니다.

※ boot안에 config 파일을 커널 파일이 있는 곳에 .config로 복사한다.

그리고 make menuconfig에서 Load해서 현 리눅스에 설정을 불러온다!!(기존 설정을 불러와서 컴파일 하는 것을 추천)

[root@localhost linux-3.16.3]# make mrproper => 의존성 제거

[root@localhost linux-3.16.3]# make menuconfig => 메뉴 형식의 커널 환경 설정

SAVE 하면 .config 파일에 저장.

 

[root@localhost linux-3.16.3]# make dep => 위에서 설정한 대로 다시 의존성 작업을 함

[root@localhost linux-3.16.3]# make clean => 컴파일 하기 이전 컴파일 작업 파일(.o)등을 깨끗이 삭제 함

 

[root@localhost linux-3.16.3]# make bzImage => 실제 커널 이미지를 만들기 위한 컴파일 명령어

[root@localhost linux-3.16.3]# make modules => 옵션에서 설정한 모듈을 컴파일

[root@localhost linux-3.16.3]# make modules_install => 컴파일된 모듈을 설치

[root@localhost linux-3.16.3]# make install 을 해야 vmlinuz-3.16.3 파일이 생성됨.

[root@localhost linux-3.16.3]# make bzImage; make modules; make modules_install ;make install

 

시간이 오래 걸리니 위에 명령어 처럼 한방에 해결 하자!!

속도가 느린 VMWARE에서 6시간 정도 예상!! 그래야 속 편함...

빠른 시스템에서는 좀더 빠르겠지요?

 

[root@localhost linux-3.16.3]# make bzImage && make modules && make modules_install && make install

&& 이전단계에서 에러가 없을시 다음 단계로 진행함!!

 

마지막 make install하는데 에러 메세지가 나왔지만 걍 무시!!

ERROR: modinfo: could not find module vmware_balloon

vmware_balloon module을 찾을 수 없다는데...

 

vi /boot/grub/grub.conf에서

default=1번을 defaule=0번으로 수정하고 reboot

 

 

커널 컴파일 완료!!

반응형
Posted by 은총애비!!
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함