Debian 계열 Linux(Ubuntu 9.04를 사용 중)에서 Xenomai(RTOS)를 설치해야 하는 상황이 생겼습니다.
Debian 계열에서 커널 컴파일시 사용하는 "make-kpkg"와 Xenomai 최신 패치(2.4.7) 과 호환 되는 커널(Linux-2.6.28.7)를 설치하면서 겪은 경험담을 남깁니다.
Debian 계열에서 커널 컴파일시 사용하는 "make-kpkg"와 Xenomai 최신 패치(2.4.7) 과 호환 되는 커널(Linux-2.6.28.7)를 설치하면서 겪은 경험담을 남깁니다.
참고 자료:
우선 필요한 Xenomai와 Linux Kernel를 웹에서 가져온다.
순서는 첫 번째 참고자료에서 커널 패치 과정까지 진행 후 두번째 참고자료의 "make-kpkg"로 커널을 패키징, dpkg로 설치 한 뒤 첫번째 자료의 "Xenomai" 나머지 설정을 설치해준다.
순수 Kernel Build를 하는 도중 직면한 문제들
1. 커널 컴파일에 영향을 준 설정들(컴파일이 되지 않는 문제)
- Kernel hacking -> CONFIG_DEBUG_KERNEL (N)
- Processor type and features -> Maximum number of CPUs (#2)
2. Xenomai 설정 중 CPU Freq.에 영향을 주는 전원 옵션들을 꺼야만 Xenomai가 정상작동한다.
(안그런경우, Xenomai가 Disable 됨)
- Power management and ACPI options -> ACPI -> Processor (N)
- Power management and ACPI options -> APM (N)
- Power management and ACPI options -> CPU Frequency scaling (N)
3. 첫번째 방법으로 Kernel Build 시 직면한 Kernel Panic 문제
- 첫번째 방법으로 순순히 커널을 빌드하고 리부팅 하였으나 "Kernel Panic"문제에 직면했다. 웹서핑 결과 여러 경우가 존재 했지만 나의 경우는 커널이 가상파일시스템(VFS)이 파일 시스템 모듈을 불러오지 못하는 것에서 발생 했다.(reiserfs을 사용 중) 커널에 직접 reiserfs을 입력하니 Kernel Panic 문제는 해결.
- 그러나 부팅후 모든 입력장치가 먹통이 되어 시스템을 사용 할 수가 없었다. 모듈 로딩하는 부분에 문제가 있는 듯(?) 정확한 이유는 모른다. 그래서 make-kpkg 방법으로 전환 한 것.
커널 컴파일 시 유용한 팁(?)
커널을 자신의 시스템에 가장 최적으로 사용하는 것이 가장 현명한 일이겠지만 적절한 모듈이 무엇인지 모르는 상황에서 미니멀한 시스템을 구성하려 노력하는 것은 꽤 힘든 일이다. 그래서 커널을 빌드 할 때에는 자신이 사용하는 리눅스 시스템의 설정을 가져다가 우선 구성한 뒤 차차 줄여나가는 방식이 좀 더 수월하다고 본다.
# uname -a <- 지금 사용하는 커널 버전을 확인
# cp /boot/config-{Current Version of Kernel} /usr/src/linux
# make oldconfig <- 오래된 커널설정과 현재 설정을 비교
# make menuconfig
# cp /boot/config-{Current Version of Kernel} /usr/src/linux
# make oldconfig <- 오래된 커널설정과 현재 설정을 비교
# make menuconfig
위 참고 위치 보다 좀 더 간략한 "make-kpkg" 명령. 좀 더 많은 것을 만들어 주긴한다. 자세한 것은 man을 참고.
make-kpkg --initrd --append-to-version=-xenomai-2.4.7 binary-arch


댓글을 달아 주세요
띠옹 사진 다 어디갔어 ?