우분투 이전 설정 그대로 커널 컴파일 하려면?

박민권의 이미지

linux-source-2.6.12 를 받아 압축을 풀고
linux-headers-2.6.12-10-386 디렉토리에 있는
.config 파일을 linux-source-2.6.12 디렉토리에 복사해서 컴파일 했습니다.
make-kpkg 를 이용해서 컴파일 했습니다.

kernel-header와 kernel-image패키지가 만들어졌고 설치했습니다.
컴파일한 커널로 부팅했는데 무선랜카드가 잡히지 않습니다.

무선랜의 기종은 intel PRO/Wireless 2200BG 입니다.

기존 커널에서 몇가지 옵션만 바꿔서 컴파일 하려면 어떻게 해야하는지 궁금합니다.

지리즈의 이미지

.config를 수정하면 됩니다.

수정방법은 직접 열어서 무선랜관련 옵션의 주석을 풀고
수정하는 방법.

다른 방법은,

소스 디렉토리 가장 상단에서( etc: /usr/src/linux)
make menuconfig ,
make gconfig 혹은 make xconfig를
이용해서 수정하는 방법이 있습니다.

약간 노하우가 생기고 한두가지 설정을 바꿀 수준이라면,
첫번째가 가장 쉽고,
개인적으로는 make menuconfig를 선호합니다.
(ncurse기반의 콘솔 설정)

gconfig나 xconfig는 gui기반입니다.

There is no spoon. Neo from the Matrix 1999.

yuni의 이미지

질문의 내용이 일단 지금 잘 돌아가는 커널을 기반으로 해서 몇가지 수정해서 컴파일 하사고 싶으신 겨죠? 우분투에서요.

sudo  make oldconfig
sudo make menuconfig

이렇게 해주시면 됩니다. oldconfig로 하신다음에 menuconfig로 올드에 있던 설정을 그냥 넘겨 받으신 다음 해당 파트만 손질을 해주심 되요.

==========================
부양가족은 많은데, 시절은 왜 이리 꿀꿀할까요?
=====================
"지금하는 일을 꼭 완수하자."

박민권의 이미지

yuni wrote:
질문의 내용이 일단 지금 잘 돌아가는 커널을 기반으로 해서 몇가지 수정해서 컴파일 하사고 싶으신 겨죠? 우분투에서요.
sudo  make oldconfig
sudo make menuconfig

이렇게 해주시면 됩니다. oldconfig로 하신다음에 menuconfig로 올드에 있던 설정을 그냥 넘겨 받으신 다음 해당 파트만 손질을 해주심 되요.

네 맞습니다.
그렇다면 제가 하는 순서가 맞는지 봐주세요.
수정하고 싶은 커널은 linux-headers-2.6.12-10-386 입니다.

- /usr/src 에 linux-source-2.6.12 를 받아 압축을 풀고 /usr/src/linux 로 링크를 만든다.

- /usr/src/linux-headers-2.6.12-10-386 의 .config를 /usr/src/linux 에 복사한다.

- 아래의 명령실행
# cd /usr/src/linux
# make oldconfig
# make menuconfig //새로 추가하고 싶은 설정
# make-kpkg --initrd binary-arch

- /usr/src 에 생성된 kernel-header, kernel-image 패키지를 설치

- 재부팅후 새로운 커널로 시작

제가한 순서가 맞나요?

Prentice의 이미지

기존 커널이 2.6.12가 아니라는 말씀이시라면

cp /usr/src/linux-headers-2.6.12-10-386/.config /usr/src/linux/

이렇게 하지 마시고,

cat /proc/config > /usr/src/linux/.config

이렇게 하신 후 cd /usr/src/linux ; make oldconfig 해보세요.

cat /proc/config가 안되면:

cp /proc/config.gz /usr/src/linux/
cd /usr/src/linux/
gunzip config.gz
mv config .config

박민권의 이미지

검은해 wrote:
기존 커널이 2.6.12가 아니라는 말씀이시라면

cp /usr/src/linux-headers-2.6.12-10-386/.config /usr/src/linux/

이렇게 하지 마시고,

cat /proc/config > /usr/src/linux/.config

이렇게 하신 후 cd /usr/src/linux ; make oldconfig 해보세요.

cat /proc/config가 안되면:

cp /proc/config.gz /usr/src/linux/
cd /usr/src/linux/
gunzip config.gz
mv config .config

기존 커널은 시냅틱관리자를 통해서 받은 커널(2.6.12-10-386)입니다.
/proc/config, /proc/config.gz 둘다 파일이 없습니다.

# ls /proc 해봤는데 config 라는 디렉토리도 안보입니다.

Prentice의 이미지

죄송합니다. 데비안용 2.6.15에서는 되길래 우분투용 2.6.12에서도 될 줄 알았습니다.

박민권의 이미지

박민권 wrote:

수정하고 싶은 커널은 linux-headers-2.6.12-10-386 입니다.

- /usr/src 에 linux-source-2.6.12 를 받아 압축을 풀고 /usr/src/linux 로 링크를 만든다.

- /usr/src/linux-headers-2.6.12-10-386 의 .config를 /usr/src/linux 에 복사한다.

- 아래의 명령실행
# cd /usr/src/linux
# make oldconfig
# make menuconfig //새로 추가하고 싶은 설정
# make-kpkg --initrd binary-arch

- /usr/src 에 생성된 kernel-header, kernel-image 패키지를 설치

- 재부팅후 새로운 커널로 시작

이 순서로 했지만 무선랜카드가 잡히질 않네요.
커널에 intel Wireless 2200 모듈이 있는데 왜 안잡히는건지.
2.6.12 커널로는 단순히 커널 컴파일 만으로는 위의 무선랜을 인식하지 못하는 걸까요?

익명 사용자의 이미지

제가 2.6.15로 올릴 ㅤㄸㅒㅤ 썼던 방법이라는..

그리고 저도 커널 컴파일 할 때 Intel껄 해도 잡지를 못하더군요.

여기 팁 게시판에 따로 임시 방편으로 잡는 방법이 있으니 참고하시길.^^

Prentice의 이미지

박민권 wrote:
이 순서로 했지만 무선랜카드가 잡히질 않네요.
커널에 intel Wireless 2200 모듈이 있는데 왜 안잡히는건지.
2.6.12 커널로는 단순히 커널 컴파일 만으로는 위의 무선랜을 인식하지 못하는 걸까요?

modprobe는 해보셨나요?

아니라면 윗분 말씀대로 http://bbs.kldp.org/viewtopic.php?t=36684

prolinko의 이미지

우분투에서 커널에 여러가지 패치를 했을 테니까 바닐라 소스 말고 우부투 커널 소스 패키지를 받아서 해보세요.

데비안식 커널컴파일이라고 해서 커널소스패키지를 받아서 설정변경후에 패키지 관리자에 포함시켜서 커스텀 커널을 함께 관리 할 수 있는 방법이 있습니다.

http://debianusers.org/DebianWiki/wiki.php/%C4%BF%B3%CE%C4%C4%C6%C4%C0%CF

debian kernel compile 또는 ubuntu kernel compile 로 구글링 해보세요.

박민권의 이미지

검은해 wrote:

modprobe는 해보셨나요?

아니라면 윗분 말씀대로 http://bbs.kldp.org/viewtopic.php?t=36684

다시 몽땅 지우고 처음부터 시작했습니다.
새로 컴파일한 커널 패키지 만들고 설치 후 재부팅.
무선랜 안잡혔습니다.

# modprobe ipw2200
아무런 메세지 없습니다.

재부팅 -> 무선랜 안잡혔습니다.

이번에는 팁에 올라온 대로 해봤습니다.

최신버전의 파일들을 받았습니다.
ieee80211-1.1.9.tgz //ieee80211
ipw2200-1.0.10.tgz //드라이버
ipw2200-fw-2.4.tgz //펌웨어

펌웨어 압축을 풀고 복사해 넣고 링크도 만들었습니다.
# cp *.fw /usr/lib/hotplug/firmware/
# ln -s /usr/lib/hotplug/firmware /etc/firmware

ipw2200 드라이버를 설치하려 하자 ieee80211가 없다는 에러가 났습니다.

ieee80211을 설치했습니다.
# make
# make install

ipw2200 을 설치했습니다.
# make
# make install

팁에 나온대로 모듈을 올렸습니다.
# modprobe firmware_class
# modprobe ipw2200
아무런 메세지가 없습니다.

재부팅 -> 무선랜 잡히지 않습니다.

이해할 수가 없네요. 이전 .config 파일 가져와서 그대로 컴파일시켜주고 최신버전의 펌웨어와 드라이버를 설치해줬는데도 안잡히네요.

박민권의 이미지

prolinko wrote:
우분투에서 커널에 여러가지 패치를 했을 테니까 바닐라 소스 말고 우부투 커널 소스 패키지를 받아서 해보세요.

데비안식 커널컴파일이라고 해서 커널소스패키지를 받아서 설정변경후에 패키지 관리자에 포함시켜서 커스텀 커널을 함께 관리 할 수 있는 방법이 있습니다.

http://debianusers.org/DebianWiki/wiki.php/%C4%BF%B3%CE%C4%C4%C6%C4%C0%CF

debian kernel compile 또는 ubuntu kernel compile 로 구글링 해보세요.

제가 컴파일 참고한 문서가 링크 걸어주신 문서입니다. ㅠㅠ
안전을 위해서 우분투 커널소스를 apt-get을 통해 받아서 컴파일 한 것입니다.
우분투꺼 가져다가 그대로 했는데 직접 컴파일하면 무선랜이 안잡히는 이유를 모르겠네요. 휴~

박민권의 이미지

Sensui wrote:

주제 : /boot 에 config 파일을 복사해서 쓰시면 됩니다.

제가 2.6.15로 올릴 ㅤㄸㅒㅤ 썼던 방법이라는..

/boot 에 어떤 config 파일을 복사하셨다는건지 좀 자세한 설명 부탁드립니다.
.config 인가요 config 인가요?
말이 안되지만 혹시나 싶어서 /boot 에 컴파일에 사용한 .config 파일을 복사해서 넣어 봤습니다만;; 안되네요.

Prentice의 이미지

modprobe 후 lsmod 해보셨나요? modprobe는 원래 조용합니다.

Sensui님 말씀은 /boot/config-2.6.15-1-amd64-k8 이런 파일이 보이시면 .config로 복사하라는 말씀 같습니다.

modprobe가 성공한 것이 lsmod로 확인되면 재부팅하지 마시고 ifup eth0 같은 것을 해보시면 어떨까요?

박민권의 이미지

검은해 wrote:

modprobe가 성공한 것이 lsmod로 확인되면 재부팅하지 마시고 ifup eth0 같은 것을 해보시면 어떨까요?

팁에서 나온대로 설치후 modprobe ipw2200 했을때는 조용했습니다. 그런데 재부팅하고 나서 다시 해보니 에러가 ㅡㅡ;

FATAL: Error inserting ipw2200 (/lib/modules/2.6.12/kernel/drivers/net/wireless/ipw2200.ko) :
Unknown symbol in module, or unknown parameter (see dmesg)

다시 커스텀 커널 꾸러미 제거하고 꾸러미를 다시 설치했습니다.
그리고 새커널로 부팅후

# modprobe ipw2200
# lsmod |grep ipw2200
ipw2200 92296 0
firmware_class 9472 1 ipw2200
ieee80211 26884 1 ipw2200
ieee80211_crypt 5636 2 ipw2200,ieee80211

이렇게 나옵니다.
그래서 잘 올라갔다 싶어서

#ifup eth1 //eth0은 일반랜

했더니 오류가 잔뜩 No such device 라고 하네요.

검은해 wrote:

Sensui님 말씀은 /boot/config-2.6.15-1-amd64-k8 이런 파일이 보이시면 .config로 복사하라는 말씀 같습니다.

아! 그렇군요. 이번에는 이 방법을 이용해서 커널을 새로 컴파일 해봐야 겠습니다.(커널 컴파일 하는데 30분은 충분히 걸리던데 ㅠㅠ)

익명 사용자의 이미지

/boot/config 나 /usr/src/linux-2.6xxxx 나 똑같은 걸 아실수 있을겁니다.
iwconfig
로 한번 무선랜 디비아스가 eth1 으로 잡혔는지 먼저 알아보시는게 먼저인것 같습니다.
만약 "no wireless extension"만 나온다면...모듈이 잘못 올려진것이구요.

박민권의 이미지

이은상 wrote:
/boot/config 나 /usr/src/linux-2.6xxxx 나 똑같은 걸 아실수 있을겁니다.
iwconfig
로 한번 무선랜 디비아스가 eth1 으로 잡혔는지 먼저 알아보시는게 먼저인것 같습니다.
만약 "no wireless extension"만 나온다면...모듈이 잘못 올려진것이구요.

no wireless extension 만 나옵니다.
모듈을 올린다는 것은 컴파일하기 전에 해야하는 일인가요?
단순히 위와같은 드라이버 설치로는 안되나요?
우분투에서 제공하는거 그대로 받아다가 했는데 왜 안되는지 참 답답합니다. ㅠㅠ

박민권의 이미지

아무리 해도 우분투에서 제공하는 2.6.12 커널소스로는 무선랜을 잡을 수 없어서 2.6.15.1 버전을 받았습니다.
이것도 처음에는 무선랜이 안잡히더군요.
커널 2.6.14 이상에서는 ipw2200의 펌웨어 2.4 버전이 필요하다는 걸 알았습니다.
/lib/hotplug/firmware 에 2.4 버전의 펌웨어 파일을 복사해주니 무선랜은 잡혔습니다.

그리고 나서 사운드카드는 쉽게 잡을 수 있을 줄 알았는데 이번에는 사운드 카드가 안잡히는군요. ㅡㅡ;
리얼텍의 alc880 인데 드라이버를 받아 설치해도 안잡히네요.
이건 또 어찌 해결해야 할지...

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.