커널 컴파일 질문입니다.

dopekly의 이미지

centos에서 2.6.9-22 2.6.9-34.0.x 2.6.9-42.0.x 여러개 모두 컴파일을 시도해 보았습니다.
p-o-m 패치를 해서 geo-ip extention을 추가 할려구요..

make menuconfig를 하고 geo-ip 모듈만 추가하고 나서

make 를 하기만 하면

CHK include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
CHK include/asm-i386/asm_offsets.h
make[1]: *** no rule to make target 'init/main.o', needed by 'init/built-in.o', Stop.
make: *** [init] Error 2

요렇게 됩니다.

사실 컴파일 시도는 오래전부터 해왔지만 한번도 컴파일을 성공한 경험이 없습니다.

요걸 해결해서 컴파일을 성공 할 수 있는 방법이 없을까요??

jachin의 이미지

일단 한 번 패치 하기 전의 소스로 컴파일을 해보세요.

물론, 모듈이나 관련된 사항은 소스내의 .config 설정을 그대로 두시고,

(대부분 배포판 정책에 따라 소스가 변경되거나, 설정이 특이한 경우가 있는데...)

컴파일을 한 번 해보세요. 커널 소스가 잘 컴파일 되는지...

부팅가능한 이미지를 생성해서 쓸 수 있다면,

그 다음 패치해서 다시 컴파일 해보시기 바랍니다.

만약 그 때도 makefile 내의 생성 규칙이 없어서 저런 오류가 나온다면,

관련 소스의 컴파일 규칙을 찾아서 makefile 내에 추가해보십시오.

헌데 geo-ip 관련 모듈이라 하셨는데, 오류 메시지 난 부분은 모듈 로딩 관련 부분 소스네요?

음... 해결이 안되시면 .config 설정파일도 한 번 올려주세요.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

익명사용자의 이미지

모듈 컴파일용 kernel-devel 패키지 만 설치하신 것 같은데,
완전한 커널 소스를 가져다 놓고 작업하시던가,
아니면 additional module 컴파일 방법에 대해 적은 문서를 찾아서 보세요.

편하라고 devel 과 source 패키지를 분리시켜놓았는데,
엄한데서 엄하게 생고생을 하시는 분들이 꽤 되는군요.

익명사용자의 이미지

아... 참고로 말씀드리는데... 2.6.9 는 어떤지 모르겠지만 최근 배포본들 커널은 GPG signature 가 들어가는 바람에 initrd 까지도 다시 만들어야 하는 사태가 올 수도 있습니다.
그러니, 추가적인 모듈 형식으로 컴파일해서 올리는 것으로 끝날 작업이라면
additional module 컴파일 방법에 대한 문서를 보고 그대로 하세요.

사실, 방법만 놓고 보자면 2.4 커널과 같습니다만,
2.4 커널 시절에서는 개념없이 모듈 컴파일 방법을 설명한 책들이 많아서 어이가 없었습니다.
국내에서 출판된 책 중에 커널 모듈 컴파일 방법을 제대로 설명한 책을 본 적이 없습니다.
바다 건너에도 마찬가진지.. 2.6 부터는 체계적으로 설명을 한 글들이 나옵니다.
소스로 대화하는 시절은 더 이상...

dopekly의 이미지

커널 쪽에는 전혀 깜깜한 사람이라..

additional module 에 대해서 찾아 봐야 겠군요.

감사합니다~

계속되는 2인자

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.