RH9 기반 커널 2.4 -> 2.6 으로 업그레이드 하기.

intelbio의 이미지

리눅스 접한지 일주일 된 초보입니다.

lego IR Tower usb 를 사용해야 하는 관계로 커널을 2.4에서 2.6 으로

업그레이드 하는데 일주일간 온갖 난관에 부딪혔습니다.

리눅스를 처음 접하는 분들께 커널 업그레이드 시 제가 겪었던 문제와

해결책을 적어 보겠습니다. 하지만 이는 근본적인 해결책이 아니라 에러와

failed 없이 리눅스를 띄우는 정도임을 알아주시기 바랍니다.

1. 커널 다운 받기 및 설치하기

ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

위의 주소에서 커널을 다운 받은 후 /usr/src 에서 압축을 풉니다.

저는 2.6.10 버젼을 다운 받았기 때문에 /usr/src/linux-2.6.10 이

되었습니다.

이제 /usr/src/linux-2.6.12.2/Documentation/ 로 가서

Changes 를 참고하여 버젼에 맞는 유틸리티로 업그레이드 합니다.

o Gnu C 2.95.3 # gcc --version
o Gnu make 3.79.1 # make --version
o binutils 2.12 # ld -v
o util-linux 2.10o # fdformat --version
o module-init-tools 0.9.10 # depmod -V
o e2fsprogs 1.29 # tune2fs
o jfsutils 1.1.3 # fsck.jfs -V
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs y
o xfsprogs 2.6.0 # xfs_db -V
o pcmcia-cs 3.1.21 # cardmgr -V
o quota-tools 3.09 # quota -V
o PPP 2.4.0 # pppd --version
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
o nfs-utils 1.0.5 # showmount --version
o procps 3.2.0 # ps --version
o oprofile 0.5.3 # oprofiled --version

2.6.10 의 경우 위와 같습니다.

* module-init-tools 의 경우 위가 표기가 잘못되었습니다. 3.0 이상

버젼을 받으시기 바랍니다.

위의 유틸을 받아서 설치하는데 특히 주의 해야할 사항이 module-init-tools

입니다. 커널이 2.4 에서 2.6으로 바뀌면서 모듈을 로딩하는 방식이 틀려져

많은 에러를 접했습니다. 대표적으로 QM_MODULE not implemented~~

라는 에러를 module-init-tools 를 제대로 설치함으로써 해결했습니다.

module-init-tools 의 설치 법은 아래와 같습니다.

./configure --prefix=/
make moveold
./configure
make links
make
make install
./generate-modprobe.conf /etc/modprobe.conf
depmod 2.6.10

저는 위와 같이 커맨드를 입력해 설치했습니다.

이제 다시 커널을 설치하겠습니다.

cd /usr/src/linux-2.6.10
make xconfig

를 실행하면 옵션 화면이 나오는데 전 디폴트 옵션에서

ext3 를 모듈로 설정하니 커널 패닉이 되어서 이를 v 표시인 커널안으로

집어넣었습니다.

그리고 ntfs 를 모듈로 설치, lego IR Tower 를 모듈로 설치했습니다.

이 외에는 특별히 손댄 부분이 없이 save 를 합니다.

make bzImage && make modules && make modules_install

커맨드를 위와같이 입력해 커널을 bzImage 로 만듭니다.

한참을 기다려서 다시 입력창이 뜨게 되면 아래와 같이 입력합니다.

# mv arch/i386/boot/bzImage /boot/bzImage-2.6.10
# mv System.map /boot/System.map-2.6.10
# cd /boot
# rm System.map
# ln -s System.map-2.610 System.map

2. grub 설정하기

위와 같이 함으로써 boot 에 새로운 커널 이미지가 생겼습니다.

이제 grub 를 설정합니다.

/boot/grub 안에 있는 grub.conf 를 에디팅 하면 됩니다.

default=1
timeout=10
splashimage=(hd0,7)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,7)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-8.img
title DOS
rootnoverify (hd0,0)
chainloader +1
title Red Hat Linux (2.6.10)
kernel /bzImage-2.6.10 ro root=/dev/hda10

첫번째는 2.4 커널은 img 파일을 생성했을때 저런식으로 자동으로 입력

되었고 전 2.6 커널을 위와같이 설정했습니다. 전 root 가 hda10 에

잡혀있기 때문에 위와 같이 입력했습니다.

전 boot 파티션이 따로 있기 때문에 위와 같이 입력했고 만약

boot 파타션이 따로 없으시다면 kernel /boot/bzImage/..

와 같이 입력하시면 됩니다.

3. 오류 수정하기

위와 같이 실행하여 리눅스 커널이 부팅이 되긴 했는데

각종 failed 가 뜹니다.

여기 저기 문서를 뒤져보니 레드헷 9.0 기반에서는 /etc/rd.d 안에 있는

rc.sysinit 파일을 수정해 주어야 합니다.

바꾸기 명령으로 ksyms -> kallsyms 로 다 교체해 줍니다.

또 usbdevfs -> usbfs 로 바꾸어 줍니다.

그리고 hid 를 찾아서 usbhid 로 바꾸어 줍니다.

전 usb 용 키보드와 마우스를 사용하지 않는 관계로 mousedev 와

keybdev 는 # 로 사용중지 시켰습니다.

4. 마무리

위와 같이 설정하니 failed 가 하나도 없이 부팅이 됩니다.

전 NF7-2.0 보드를 사용하기 때문에 www.nvidia.com 에서 linux 용

ethernet 드라이버를 설정해주니 인터넷도 되는군요.

리눅스의 아무런 구조도 모른채 오로지 에러 해결에만 신경썼기 때문에

엉망이지만 저같은 초보분들 시간 낭비를 조금이라도 줄여드리고자

글을 썼습니다. 부디 많은 도움되시기 바라겠습니다.

Forums: 
익명 사용자의 이미지

귀중한 글 감사드립니다.

---------- 오만한 리눅서----------

OOv의 이미지

간단한게 아니군요..

좋은 정보 감사합니다..

rpm같으면 그냥 Uvh -_-;하하;

아직도...

dash의 이미지

intelbio wrote:
리눅스 접한지 일주일 된 초보입니다.

대단하시네요..

댓글 달기

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