우분투에서 네트웍카드 설정/커널 컴파일

godotw의 이미지

지난 주말에 우분투를 깔았습니다.
인스톨 도중 네트웍카드를 찾을수 없다면서 추가 다운로드는 못한다던가.. 그러더군요...
일단 계속 설치 했습니다. 소문대로.. 깔끔하더군요.
깔긴 깔았는데.. 먼저 네트웍부터 잡아야겠다.. 싶어 확인해보니,
Marvell Yukon 88E8053이라는 메인보드 내장 랜카드더군요.
다행히 제조사 웹페이지에서 리눅스 드라이버를 지원해주길래 받아서 압축풀고,
sh install.sh하니 다음과 같은 선택사항이 뜨더군요.

Quote:
1) user installation 3) generate patch
2) expert installation 4) exit
Choose your favorite installation method: 1

user installation을 선택하니.. 첨에는 리눅스 커널 헤더가 없다... gcc가 없다.. 그러길래, 구글링...
synaptic...이라는 것에서 패키지를 깔면된다고 하기에 찾아서 깔았더니.. 일단 진행은 되더군요..
그러다가 막판(?)에 다음과 같은 에러가...

Quote:
Create tmp dir (/tmp/Sk98IReMQPHlIKGlAhCcJdqEU) [ OK ]
Check user id (0) [ OK ]
Check kernel version (2.6.10-5-386) [ OK ]
Check kernel symbol file (/proc/kallsyms) [ OK ]
Check kernel type (SP) [ OK ]
Check architecture (found) [ OK ]
Set architecture (i386) [ OK ]
Check compiler (/usr/bin/gcc) [ OK ]
Check mcmodel flags (32bit) [ OK ]
Check module support (/sbin/insmod) [ OK ]
Check make (/usr/bin/make) [ OK ]
Check archive file (sk98lin) [ OK ]
Check kernel gcc version (3.3.5) (Kernel:3.3.5 == gcc:3.3.5) [ OK ]
Check sk98lin driver availability (loaded) [ OK ]
Disconnect devices: (done) [ OK ]
Remove driverinstall.sh: line 632: 7812 Segmentation fault rmmod $drv_name >&/dev/null
(done) [ OK ]
Check kernel header files (/usr/src/linux) [ OK ]
Check the mem address space (lowmem) [ OK ]
Unpack the sources (done) [ OK ]
Check sources for .config file (/usr/src/linux/.config) [ OK ]
Copy and check .config file (done) [ OK ]
Execute: make oldconfig (done) [ OK ]
Check kernel header version (Kernel:2.6.10-5-386 != Header:2.6.10) [ OK ]
Save old version.h (saved) [ OK ]
Check and create new version.h (created) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Compile the kernel (error) [ failed ]

An error has occurred during the compile proces which prevented
the installation from completing.
Take a look at the log file install.log for more informations.
Installation of sk98lin driver module failed.

install.log를 확인해보니...

Quote:
+++ Install mode: User
+++ Kernel version 2.6.10-5-386
+++ smp_count=0
+++ cpu_number=1
+++ kernel_machine=i686
+++ Architecture: i386
+++ Unpack the sources
+++ ====================================
+++ tar xfv sk98lin.tar
2.4/
2.4/h/
2.4/h/skdrv1st.h
2.4/h/skdrv2nd.h
2.4/Makefile
2.4/skdim.c
2.4/skproc.c
2.4/skge.c
2.4/sky2.c
2.6/
2.6/h/
2.6/h/skdrv1st.h
2.6/h/skdrv2nd.h
2.6/Makefile
2.6/skdim.c
2.6/skproc.c
2.6/skge.c
2.6/sky2.c
common/
common/h/
common/h/skgesirq.h
common/h/skgetwsi.h
common/h/xmac_ii.h
common/h/sktypes.h
common/h/skvpd.h
common/h/skaddr.h
common/h/skcsum.h
common/h/skgehw.h
common/h/skdebug.h
common/h/lm80.h
common/h/skrlmt.h
common/h/sky2le.h
common/h/sktwsi.h
common/h/skqueue.h
common/h/skversion.h
common/h/skerror.h
common/h/skgeinit.h
common/h/sktimer.h
common/h/skgedrv.h
common/h/skgepnm2.h
common/h/skgepnmi.h
common/h/skgehwt.h
common/skgesirq.c
common/skvpd.c
common/skaddr.c
common/skcsum.c
common/sklm80.c
common/skxmac2.c
common/sk98lin.htm
common/sk98lin.txt
common/skrlmt.c
common/sky2le.c
common/sktwsi.c
common/skqueue.c
common/sk98lin.4
common/skgeinit.c
common/sktimer.c
common/skgepnmi.c
common/skgehwt.c
common/skgemib.c
misc/
misc/Kconfig
misc/Configure.help

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-headers-2.6.10-5'
Building modules, stage 2.
MODPOST
make: Leaving directory `/usr/src/linux-headers-2.6.10-5'
+++ Compiler error

뭔지 몰라서 조금 생각하다가.. expert installation은 엄두도 못내겠고,
generate patch를 해보자 싶어서 해보니,

Quote:
Kernel version (2.6.10) [ OK ]
Driver version (7.04) [ OK ]
Release date (Jun-19-2004) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Generate driver patches (done) [ OK ]
Generate readme patch (done) [ OK ]
Generate Kconfig patch workinginstall.sh: line 2167: ((: startline=1941
1943
2048
2056 - 1: syntax error in expression (error token is "1943
2048
2056 - 1")
Generate Kconfig patch (done) [ OK ]
Delete temp directories (done) [ OK ]

All done. Patch successfully generated.
To apply the patch to the system, proceed as follows:
# cd /usr/src/linux
# cat /root/drivers/DriverInstall/sk98lin_v7.04_2.6.10_patch | patch -p1

Have fun...

Have fun...을 한번 더 되새겨보면서 cd /usr/src/linux하고 cat 어쩌구한 다음
드라이버 인스톨 매뉴얼에 나온대로 make menuconfig했더니

Quote:
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status

>> Unable to find the Ncurses libraries.
>>
>> You must install ncurses-devel in order
>> to use 'make menuconfig'

make[2]: *** [scripts/lxdialog/ncurses] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2

라고 뜨는군요. 매뉴얼에.. 만약 그게 안되면 make gconfig해보라길래 해봤더니,

Quote:
*
* Unable to find the GTK+ installation. Please make sure that
* the GTK+ 2.0 development package is correctly installed...
* You need gtk+-2.0, glib-2.0 and libglade-2.0.
*
make[1]: *** [scripts/kconfig/.tmp_gtkcheck] Error 1
make: *** [gconfig] Error 2

-_-; 힘들군요..
synaptic...에 관련 패키지가 있나 싶어서 찾아봤는데 없더군요. 인터넷 뒤져보니 apt-get 써서 내려받아야 된다는데,
당췌 네트웍부터가 안되는 마당에....
어디서부터 어떻게 접근을 해야될지 모르겠습니다. 그래서 주저리주저리 다 옮겨봤습니다.
어떻게 해야 할까요?
(ㅡㅜ 네트웍만 되면 이후로는 뭐든 다 잘될거 같은 예감이 드는군요.)

랜덤여신의 이미지

언제나, 에러 메세지를 잘 보시기 바랍니다.
항상은 아니지만, 대부분 문제에 대한 해결책을 제공해 줍니다.

make menuconfig 를 쳐서 나온 에러 메세지를 보면...

Quote:
>> Unable to find the Ncurses libraries.
>>
>> You must install ncurses-devel in order
>> to use 'make menuconfig'

You must install ncurses-devel in order to use 'make menuconfig'
즉 시냅틱 등으로 ncurses-devel 패키지를 설치하시면 됩니다.

또한 make gconfig 를 쳐서 나온 에러 메세지를 보면
You need gtk+-2.0, glib-2.0 and libglade-2.0.

make menuconfig 와 make gconfig 중 하나를 골라서 쓰시면 됩니다.
터미널에서 작업하는 것이 익숙하시다면 menuconfig 를, GUI 로 작업하는 것이 익숙하시다면 gconfig 를 쓰세요.

그럼, 성공하시길... ;-)

================================================================================================

다시 읽어 보니 제가 착각한 것인 것 같군요.
인터넷이 안 되서 시냅틱이 패키지를 다운로드 할 수 없었던 것인가요?
그렇다면, 인터넷이 되는 다른 컴퓨터에서
http://archive.ubuntu.com/ubuntu/pool/main/
이곳으로 들어가서 관련 패키지명을 가진 확장자가 .deb 인 파일들을 받으신 후,
(현 시점에서는 http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_5.4-4_i386.deb 이군요)
CD 에 구우시거나 USB 에 담으시거나 해서 파일을 리눅스 컴퓨터로 옮기시고,
dpkg -i 파일명.deb
명령을 내리면 됩니다.

godotw의 이미지

앗! 감사합니다!
따로 다운받아서 할수 있었군요...
정말 감사합니다!
(지금 바로 집으로 달려가서 해보고싶건만.. ^^;;;)

Somewhere over the rainbow...

익명 사용자의 이미지

godotw wrote:
지난 주말에 우분투를 깔았습니다.
인스톨 도중 네트웍카드를 찾을수 없다면서 추가 다운로드는 못한다던가.. 그러더군요...
일단 계속 설치 했습니다. 소문대로.. 깔끔하더군요.
깔긴 깔았는데.. 먼저 네트웍부터 잡아야겠다.. 싶어 확인해보니,
Marvell Yukon 88E8053이라는 메인보드 내장 랜카드더군요.
다행히 제조사 웹페이지에서 리눅스 드라이버를 지원해주길래 받아서 압축풀고,
sh install.sh하니 다음과 같은 선택사항이 뜨더군요.

Quote:
1) user installation 3) generate patch
2) expert installation 4) exit
Choose your favorite installation method: 1

user installation을 선택하니.. 첨에는 리눅스 커널 헤더가 없다... gcc가 없다.. 그러길래, 구글링...
synaptic...이라는 것에서 패키지를 깔면된다고 하기에 찾아서 깔았더니.. 일단 진행은 되더군요..
그러다가 막판(?)에 다음과 같은 에러가...

Quote:
Create tmp dir (/tmp/Sk98IReMQPHlIKGlAhCcJdqEU) [ OK ]
Check user id (0) [ OK ]
Check kernel version (2.6.10-5-386) [ OK ]
Check kernel symbol file (/proc/kallsyms) [ OK ]
Check kernel type (SP) [ OK ]
Check architecture (found) [ OK ]
Set architecture (i386) [ OK ]
Check compiler (/usr/bin/gcc) [ OK ]
Check mcmodel flags (32bit) [ OK ]
Check module support (/sbin/insmod) [ OK ]
Check make (/usr/bin/make) [ OK ]
Check archive file (sk98lin) [ OK ]
Check kernel gcc version (3.3.5) (Kernel:3.3.5 == gcc:3.3.5) [ OK ]
Check sk98lin driver availability (loaded) [ OK ]
Disconnect devices: (done) [ OK ]
Remove driverinstall.sh: line 632: 7812 Segmentation fault rmmod $drv_name >&/dev/null
(done) [ OK ]
Check kernel header files (/usr/src/linux) [ OK ]
Check the mem address space (lowmem) [ OK ]
Unpack the sources (done) [ OK ]
Check sources for .config file (/usr/src/linux/.config) [ OK ]
Copy and check .config file (done) [ OK ]
Execute: make oldconfig (done) [ OK ]
Check kernel header version (Kernel:2.6.10-5-386 != Header:2.6.10) [ OK ]
Save old version.h (saved) [ OK ]
Check and create new version.h (created) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Compile the kernel (error) [ failed ]

An error has occurred during the compile proces which prevented
the installation from completing.
Take a look at the log file install.log for more informations.
Installation of sk98lin driver module failed.

install.log를 확인해보니...

Quote:
+++ Install mode: User
+++ Kernel version 2.6.10-5-386
+++ smp_count=0
+++ cpu_number=1
+++ kernel_machine=i686
+++ Architecture: i386
+++ Unpack the sources
+++ ====================================
+++ tar xfv sk98lin.tar
2.4/
2.4/h/
2.4/h/skdrv1st.h
2.4/h/skdrv2nd.h
2.4/Makefile
2.4/skdim.c
2.4/skproc.c
2.4/skge.c
2.4/sky2.c
2.6/
2.6/h/
2.6/h/skdrv1st.h
2.6/h/skdrv2nd.h
2.6/Makefile
2.6/skdim.c
2.6/skproc.c
2.6/skge.c
2.6/sky2.c
common/
common/h/
common/h/skgesirq.h
common/h/skgetwsi.h
common/h/xmac_ii.h
common/h/sktypes.h
common/h/skvpd.h
common/h/skaddr.h
common/h/skcsum.h
common/h/skgehw.h
common/h/skdebug.h
common/h/lm80.h
common/h/skrlmt.h
common/h/sky2le.h
common/h/sktwsi.h
common/h/skqueue.h
common/h/skversion.h
common/h/skerror.h
common/h/skgeinit.h
common/h/sktimer.h
common/h/skgedrv.h
common/h/skgepnm2.h
common/h/skgepnmi.h
common/h/skgehwt.h
common/skgesirq.c
common/skvpd.c
common/skaddr.c
common/skcsum.c
common/sklm80.c
common/skxmac2.c
common/sk98lin.htm
common/sk98lin.txt
common/skrlmt.c
common/sky2le.c
common/sktwsi.c
common/skqueue.c
common/sk98lin.4
common/skgeinit.c
common/sktimer.c
common/skgepnmi.c
common/skgehwt.c
common/skgemib.c
misc/
misc/Kconfig
misc/Configure.help

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-headers-2.6.10-5'
Building modules, stage 2.
MODPOST
make: Leaving directory `/usr/src/linux-headers-2.6.10-5'
+++ Compiler error

뭔지 몰라서 조금 생각하다가.. expert installation은 엄두도 못내겠고,
generate patch를 해보자 싶어서 해보니,

Quote:
Kernel version (2.6.10) [ OK ]
Driver version (7.04) [ OK ]
Release date (Jun-19-2004) [ OK ]
Check kernel functions (Changed: nothing) [ OK ]
Generate driver patches (done) [ OK ]
Generate readme patch (done) [ OK ]
Generate Kconfig patch workinginstall.sh: line 2167: ((: startline=1941
1943
2048
2056 - 1: syntax error in expression (error token is "1943
2048
2056 - 1")
Generate Kconfig patch (done) [ OK ]
Delete temp directories (done) [ OK ]

All done. Patch successfully generated.
To apply the patch to the system, proceed as follows:
# cd /usr/src/linux
# cat /root/drivers/DriverInstall/sk98lin_v7.04_2.6.10_patch | patch -p1

Have fun...

Have fun...을 한번 더 되새겨보면서 cd /usr/src/linux하고 cat 어쩌구한 다음
드라이버 인스톨 매뉴얼에 나온대로 make menuconfig했더니

Quote:
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status

>> Unable to find the Ncurses libraries.
>>
>> You must install ncurses-devel in order
>> to use 'make menuconfig'

make[2]: *** [scripts/lxdialog/ncurses] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2

라고 뜨는군요. 매뉴얼에.. 만약 그게 안되면 make gconfig해보라길래 해봤더니,

Quote:
*
* Unable to find the GTK+ installation. Please make sure that
* the GTK+ 2.0 development package is correctly installed...
* You need gtk+-2.0, glib-2.0 and libglade-2.0.
*
make[1]: *** [scripts/kconfig/.tmp_gtkcheck] Error 1
make: *** [gconfig] Error 2

-_-; 힘들군요..
synaptic...에 관련 패키지가 있나 싶어서 찾아봤는데 없더군요. 인터넷 뒤져보니 apt-get 써서 내려받아야 된다는데,
당췌 네트웍부터가 안되는 마당에....
어디서부터 어떻게 접근을 해야될지 모르겠습니다. 그래서 주저리주저리 다 옮겨봤습니다.
어떻게 해야 할까요?
(ㅡㅜ 네트웍만 되면 이후로는 뭐든 다 잘될거 같은 예감이 드는군요.)

음 패치도 제공해 주는군요.전 AMD용 ALi 보드인데 소스 가져다 놓고 make파일고쳐서 컴파일 했는데...

뭐...그건 그렇고요.
컴파일할때 그냥 make config로 하시면 됩니다. 저도 make menuconfig 등르로 우분투에서 커널 컴파일하려고 했는데 깔아야 되는 패키지가 많더라고요. make config는 gcc정도만 있으면 됩니다.
다음 순서대로 하세요. 커널 소스 풀어 놓으시고요. /boot 디렉에 config-xxxx도 된 파일이 있습니다. 이걸 커널 소스 풀어 놓은 곳에 .config 로 복사합니다. 그런다음 make oldconfig 하시면 기존 우분투 커널 컴파일 옵션을 그대로 쓰고 새로 추가된 항목만 config 할 수 있습니다. 그런다음 make config 해서 커널 설정하신후 컴파일 하시면 됩니다.

hgseid의 이미지

sudo apt-get install ncurses-dev

이렇게 하셔도 간단하게 설치됩니다 ^^

댓글 달기

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