디바이스 소스코드만 바꾸는데 커널컴파일이 필요한가요?

xflare의 이미지

현재 페도라 코어3을 깔아 잘 쓰고 있습니다.
근데 USB high speed 로 연결되는 대용량 외장하드를
인식하지 못하는군요.
googling 결과 이미 비슷한 현상을 겪고 있는 사람들이
있는걸 알았습니다.
해법을 찾은것 같은데

커널 소스 디바이스
drivers/usb/storage/scsiglue.c
를 편집하는거랍니다.
(이름으로 볼 때 usb 에뮬레이션 스카시 드라이버를 딱 붙이는
코드라 여기집니다.)

보통 어느정도 지식이 있으면 이쯤 대답하면 뭔 이야기인지
아는것 같은데 전 잘 모르겠습니다.

저 대답의 의미는 커널 전체를 다시 컴파일 하는 것일까요?
구체적인 방법은 소스를 kernel.org에서 받은 다음 편집하고
여기 wiki 에서 커널 컴파일 메뉴얼을 잘 읽은다음 그대로 하면
되나요?
아마 되겠죠.

사실 질문하고 싶은건 단지 몇줄 고치는 건데
현재로선 아무것도 모르는 커널 컴파일을 위해 메뉴얼 읽고
따라가는게 좀 멀게 보이네요.
다른 방법이 없을까요?

몇가지 글들을 읽은 결과 원래 커널이 그런거다.
뭐 그런 느낌이 강하게 오고 있습니다.

그럼 조언 부탁드립니다.

익명 사용자의 이미지

너무 우끼는 질문 아닌가요?
커널을 바꿔놓고
커널 컴파일을 해야하나 말아야 하나 이런 말은 한다니...

익명 사용자의 이미지

전공이 궁금하네요~

망치의 이미지

자신이 모르는 부분에 대해 조언을 바라는것은 QnA 포럼에선 당연한거라봅니다..

그런 답변을 하시려면 왜 이 포럼에 와계신지 모르겠군요. 게다가 '손님' 으로..

Anonymous wrote:
너무 우끼는 질문 아닌가요?
커널을 바꿔놓고
커널 컴파일을 해야하나 말아야 하나 이런 말은 한다니...

---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/

galien의 이미지

Anonymous wrote:
너무 우끼는 질문 아닌가요?
커널을 바꿔놓고
커널 컴파일을 해야하나 말아야 하나 이런 말은 한다니...

엿같은 대답이지만, 뭐 의미만은 맞습니다. 컴파일 하셔야 합니다.

물론 초보자로써 커널 컴파일에 대한 부담이 있으시리라
생각이 됩니다만,

이기회에 시간을 들여서 메뉴 하나하나 도움말을 읽어가면서
커널컴파일을 하시면 두고두고 도움이 되리라 생각합니다.

초보자가 대체로 메뉴 도움말을 하나하나 읽어가면서 옵션 정하는데
한시간 정도 걸릴 거라 예상합니다.
(문제 발생하지 않을 경우)

저도 젠투밖에 사용해 본 적이 없는 초보자로서 조언을 드리긴 힘들구요, 그냥 저는 젠투 인스톨 가이드를 읽고 따라했습니다.

무우의 이미지

xflare wrote:

저 대답의 의미는 커널 전체를 다시 컴파일 하는 것일까요?

아뇨, 모듈(M)로 설정되었으면 그 모듈만 컴파일하고 등록시켜주면 됩니다.
다른 파일명으로 바꾸고 수동으로 mknod, insmod, rmmod등을 써서 일일이 설치하고 제거하는 방법도 가능합니다.

xflare의 이미지

일단 답변주신 분들 감사합니다.
좋은 지적 있었습니다.
시비거는거 아니지만 처음 답변하신분
만일 제가 물어본 첫번째 질문해 대답하실 능력있는지 궁금하군요.

즉 usb2.0 규격 high speed 대용량 하드를
2.6.9 커널에서 인식하게 하는방법 아십니까?
이런 질문보다 지금이 좀 낫지 않나요?

저는 나름대로 질문을 구체적으로 하려 노력했습니다.
명확한 대답을 하실 수 있다면 제가 웃기는 사람이 맞는거 같군요.
대답하는 모양으로는 아니것 같습니다.

전공은 천문학입니다.
이런게 전공하고 무슨 상관있는지 모르겠군요.

codebank의 이미지

xflare wrote:
일단 답변주신 분들 감사합니다.
좋은 지적 있었습니다.
시비거는거 아니지만 처음 답변하신분
만일 제가 물어본 첫번째 질문해 대답하실 능력있는지 궁금하군요.

즉 usb2.0 규격 high speed 대용량 하드를
2.6.9 커널에서 인식하게 하는방법 아십니까?
이런 질문보다 지금이 좀 낫지 않나요?

저는 나름대로 질문을 구체적으로 하려 노력했습니다.
명확한 대답을 하실 수 있다면 제가 웃기는 사람이 맞는거 같군요.
대답하는 모양으로는 아니것 같습니다.

전공은 천문학입니다.
이런게 전공하고 무슨 상관있는지 모르겠군요.


지금 시기가 방학이라서 그런것이라고 생각하세요. :)

위에 무우님께서도 답변을 달아주셨지만 조금 덧붙여서 글을
써보겠습니다.

일단은 커널 설정을 보셔야합니다.
커널설정을 하지 안고 배포된 커널을 그냥사용하신다면 커널소스를
설치한다음 찾으신 해법을 이용하여 소스를 수정하고 전체컴파일을
하시는게 좋습니다.
저도 Gentoo만 사용해서 Fedora에서 커널컴파일을 해주는 툴은
잘모르지만 만일있다면 그 툴을 이용해서 컴파일하셔도 되겠죠.
이전에 커널 소스를 설치했으며 한번이상 커널 컴파일을하셨고
해당 부분(USB부분)을 모듈로 설정하셨다면 make modules;
make modules_install로도 충분합니다.
만일 커널에 직접포함시키는 형태였다면 커널 컴파일 방법을 그대로
따라해주어야하겠죠.

모듈로 설정했고 modules_install까지 마쳤다면 무우님의
말씀처럼 rmmod, modprobe등으로 재시동없이 해당부분을 사용
할 수도 있습니다. 개인적으로는 안전을 위해서는 다시 부팅해주는
방법을 선호하기도 합니다. :)

------------------------------
좋은 하루 되세요.

익명 사용자의 이미지

첨언하자면
FC4에서 현재 사용하고 계시는 커널에서 특정 드라이버(모듈)을
별도로 컴파일하셔야 한다면
kernel.org에서 바닐라 커널을 받아서는 안됩니다.
현재 사용중이신 커널과 같은 버전, 같은 리비전의 소스rpm 을 받아서
설치 후에 위에 codebank 님께서 말씀하신 대로 make modules modules_install 등의 과정을 통해 모듈을 컴파일하셔서
그 모듈만 /lib/modules/<커널버전> 아래의 같은 파일이 있는 장소에
덮어 씌워주시면 됩니다.

작동여부는 해봐야 알겠지요.[/b]

xflare의 이미지

제가 좀 글을 공격적으로 쓴 것 같습니다. 그점 죄송합니다.
자세하게 답변주신 분들 감사드립니다.

리눅스 자체에 그렇게 관심을 갖고 싶지 않지만
요즘은 서버를 쓰지 않고 자기 PC에 포팅해 쓰는 걸로 생각하니.
(제가 쓰는 천문학 패키지들이 좀 잡다한게 많아서요
몇몇 전공 관련자들이 만들어 그냥 주죠. 돈받고 주는 것도
아니니 한방에 성공하지 못하는 경우 많습니다.)
거기다 기계는 왜이리 빨리 바뀌는지. 안사면 그만이지만
눈앞에 2배용량에 2배속도가 있는데 손이가죠.
들고오면 항상 말썽이 납니다.

지금 외장하드 250기가 놀고 있습니다.
질문도 이것 땜에 생긴건데요.
리눅스와 usb 연결이 좀 매끄럽지 않은것 같습니다.
이건 usb쪽 문제가 더 많은 것 같습니다만.
케이스엔 당연히 리눅스 지원은 없죠. 파는 사람도
보장 못한다고 했지만 늘 겪는 일이니 그냥 샀죠.
사실 firewire 800, usb2.0 high speed 480Mbps
이런 글자들이 좋아보여서...

앞으로도 궁금한점 있으면 조언 부탁드리겠습니다.

아직 커널컴파일은 시작하지 못했습니다.
시간내서 한번 해야겠군요.
위 코드를 바꾸라는 제안은 Alan Stern 의 해법제안인데요.
해보지 않았으니 잘 될지 모르겠습니다.
그의 글에 리눅스 커널의
usb 저장매체 운영(?) Matt Dharm 이나
일반 usb 운영 Greg Kroah-Hartman
을 거치지 않은 내용이라고 적혀있고 공식(?)적인 패치는
아닌듯 싶습니다.

xflare의 이미지

이거 잘 해결되었습니다.
더불어 알고싶지 않았지만 커널 컴파일도 조금 알았습니다.
모듈에 대한 개념을 잡기보다 그냥 무식하게 하는게
시간이 절약될것 같아 통채로 컴파일 했습니다.
걱정은 커널 configuration을 잘 잡았는지
rpm 을 패치할 때 문제가 생길지 모르겠군요.

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

위 문서 2.6 커널을 다루고 따라가기 쉽습니다.
커널 컴파일 하고싶으신분은 보시길.

소맛라면의 이미지

KLDP에도 드디어 악플러가 생기는 것 일까요??

제발 드라군 놀이는 하지 맙시다...;;

무엇을 위해 사는가..

댓글 달기

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