운영체제 리눅스 커널 컴파일 성공/실패기
2014.09.10 21:35
오늘 리포 PE에 사용할 커널을 빌드해 보았습니다.
그래서 빌드에 실패하고 성공한 방법을 공유해 보겠습니다.
1. 커널 소스 RPM 다운로드
먼저, 배포판의 사이트에 가서 커널 소스 RPM을 받아서 몇 가지 설정을 수정했습니다.
다음, 일반적인 rpmbuild 명령을 사용하여 커널을 빌드하려고 했습니다.
2. 1차 시도 - 실패
그런데 rpmbuild 명령이 거의 마지막에서 멈추고 있었습니다.
*** ERROR - ABI BREAKAGE WAS DETECTED *** 와 같은 에러를 내면서 말이죠
이 문제는 간단한 웹 검색을 통해 --without kabichk 옵션을 붙여서 해결할 수 있었습니다.
3. 2차 시도 - 실패
이번에는 빌드까지 모두 성공하고 RPM도 만들어졌습니다.
그런데 RPM 파일들을 테스트 시스템에 적용시키고 해당 커널로 부팅을 하니
부팅이 되지 않았습니다.
중간 부분에서 약 5분간 멈추고 하드디스크를 찾지 못했습니다.
보니까 커널 모듈들이 전혀 로딩이 되지 않고 있었습니다.
모듈 경로도 다 올바른데 이유를 알 수 없는 에러가 나서 몇 시간동안 테스트하고 고민했습니다.
알고 보니까 제가 버전을 변경한 부분에서 일부분이 변경되지 않았기에 발생하는 에러였습니다.
4. 3, 4차 시도 - 성공
다행이도 위 문제들이 모두 해결되어서 3, 4차 시도때는 모두 성공했습니다.
뒤에 'lf'를 붙여서 컴파일한 커널입니다. (lf는 'LinuxForum' 의 약자입니다.)
설정을 바꾸었더니 속도도 많이 빨라지고 용량도 줄어들었습니다.
좋은 프로그램을 배포해주신 http://www.kernel.org 분들께 감사드립니다.
고생 많이 하셨어요.