커널 업그레이드 후 쓰지 않는 모듈이 잔뜩 올라왔습니다..
데비안 sarge 를 사용중입니다.
처음에 woody 를 설치할 때 깔린 2.4.18-bf2.4 커널을 쓰다가, 오늘 갑자기 충동이 생겨... (잘 돌아가면 손대지 말라 했건만) 커널을 업그레이드했습니다.
예전까지는 직접 컴파일을 했는데 이젠 그것도 귀찮다고 kernel-image-2.4.22-1-k6 패키지를 dselect 로 설치했습니다. 의존성 걸린 것들을 나란히 설치해 주고 나니 /lib/modules/ 아래에도 2.4.22-1-k6 디렉토리가 생겼네요. 여기까지는 좋은데...
부팅후에 lsmod 를 했더니 2.4.18 에서보다 훨씬 많은 모듈이 떠 있는 겁니다. 정체도 알 수 없고 쓰지도 않는 것으로 보이는데...
부팅 시 뜨는 모듈은 /etc/modules 에 명시되어 있거나, 아니면 다른 모듈 또 는 프로그램이 의존하는 경우, /etc/modules.conf 에 alias 되어 있다거나 하는 경우 아닌가요? 그런데 이 모듈을은 그런데 적혀 있지도 않은데 떠 있으니 이유를 모르겠습니다.
제 /etc/modules 는 아래와 같습니다.
# /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a "#", and everything on the line after them are ignored. usb-ohci input usbkbd keybdev agpgart tdfx mousedev parport isa-pnp msdos nls_cp949 nls_euc-kr nls_euc-jp nls_utf8 nls_sjis ntfs smbfs ip_tables iptable_filter ipx apm cpuid ne2k-pci <-- 이 줄만 커널 업글 후 추가했고 다른 내용은 그대로
다음은 2.4.18 에서 lsmod 한 결과입니다.
Module Size Used by Not tainted cpuid 1184 0 (unused) apm 9116 0 (unused) ipx 15604 0 iptable_filter 1728 0 (unused) ip_tables 10432 1 [iptable_filter] smbfs 31296 0 (unused) ntfs 48512 0 (unused) nls_sjis 480 0 (unused) nls_utf8 768 0 (unused) nls_cp932 76480 2 (autoclean) nls_euc-jp 4032 0 (unused) nls_euc-kr 496 0 (unused) nls_cp949 141440 1 msdos 4668 0 (unused) isa-pnp 27400 0 (unused) parport 21696 0 (unused) mousedev 3744 0 (unused) tdfx 35032 0 (unused) agpgart 29792 0 (unused) keybdev 1664 0 (unused) usbkbd 2848 0 (unused) input 3040 0 [mousedev keybdev usbkbd] usb-ohci 17472 0 (unused) usbcore 48000 0 [usbkbd usb-ohci]
다음은 2.4.22 에서 lsmod 한 결과입니다.
Module Size Used by Not tainted ne2k-pci 5344 1 8390 5840 0 [ne2k-pci] crc32 2880 0 [8390] apm 9548 0 (unused) ipx 16708 0 iptable_filter 1644 0 (unused) ip_tables 12000 1 [iptable_filter] smbfs 34864 0 (unused) ntfs 50368 0 (unused) nls_sjis 448 0 (unused) nls_utf8 768 0 (unused) nls_cp932 76480 2 (autoclean) nls_euc-jp 3988 0 (unused) nls_euc-kr 464 0 (unused) nls_cp949 141440 1 msdos 5420 0 (unused) fat 30232 0 [msdos] isa-pnp 30032 0 (unused) parport 24264 0 (unused) mousedev 4052 0 (unused) tdfx 30936 0 (unused) agpgart 39672 0 (unused) keybdev 1860 0 (unused) usbkbd 3384 0 (unused) input 3392 0 [mousedev keybdev usbkbd] usb-ohci 18248 0 (unused) usbcore 58348 0 [usbkbd usb-ohci] rtc 6408 0 (autoclean) ext3 58532 4 (autoclean) jbd 38632 4 (autoclean) [ext3] ide-detect 9808 0 (autoclean) via82cxxx 10216 0 (autoclean) (unused) trm290 2346 0 (autoclean) (unused) triflex 2348 0 (autoclean) (unused) slc90e66 4496 0 (autoclean) (unused) sis5513 10800 0 (autoclean) (unused) siimage 8132 0 (autoclean) (unused) serverworks 7804 0 (autoclean) (unused) sc1200 4976 0 (autoclean) (unused) rz1000 1000 0 (autoclean) (unused) piix 7752 0 (autoclean) (unused) pdc202xx_old 10692 0 (autoclean) (unused) opti621 2284 0 (autoclean) (unused) ns87415 1864 0 (autoclean) (unused) hpt366 13764 0 (autoclean) (unused) ide-disk 13856 5 (autoclean) [hpt366] hpt34x 2280 0 (autoclean) (unused) generic 1896 0 (autoclean) (unused) cy82c693 1932 0 (autoclean) (unused) cs5530 3472 0 (autoclean) (unused) cmd64x 7364 0 (autoclean) (unused) cmd640 2692 0 (autoclean) (unused) amd74xx 9188 0 (autoclean) (unused) alim15x3 6900 1 (autoclean) aec62xx 5604 0 (autoclean) (unused) adma100 808 0 (autoclean) (unused) pdc202xx_new 7044 0 (autoclean) (unused) ide-core 91704 5 (autoclean) [ide-detect via82cxxx trm290 triflex slc90e66 sis5513 siimage serverworks sc1200 rz1000 piix pdc202xx_old opti621 ns87415 hpt366 ide-disk hpt34x generic cy82c693 cs5530 cmd64x cmd640 amd74xx alim15x3 aec62xx adma100 pdc202xx_new] unix 14668 5 (autoclean)
보면 trm290 이니 sis5513 이니 하는 것들이 떠 있는데, trm290 을 예로 들면
* /etc 디렉토리 안에서 grep 으로 trm290 을 검색하면 나오는 것 없음
* /lib/modules/2.4.22-1-k6 디렉토리에서 grep 으로 검색하면 modules.dep 안에
/lib/modules/2.4.22-1-k6/kernel/drivers/ide/pci/trm290.o: /lib/modules/2.4.22-1-k6/kernel/drivers/ide/ide-core.o
라고 되어 있는 것이 전부임... 근데 이건 trm290 이 뜨려면 ide-core 가 필요하다는 뜻이지, trm290 이 떠야 할 이유는 아니지 않나요?
* trm290 을 rmod 로 내린 후, modprobe 나 insmod 를 하면 no such device 라며 에러가 남. 애초에 뜰 수 없는 모듈이 부팅시에 떠 있다는 얘기가 되나요? (아니면 실제로는 뜨지도 않았는데 뜬 것처럼 나오는 건지..)
어찌 된 일인지 모르겠습니다. 조언 부탁드립니다.
음... 데비안의 dselect로 커널을 설치할때 어떠한 형태로 이루어지
음... 데비안의 dselect로 커널을 설치할때 어떠한 형태로 이루어지는지는 모르니까 패스하고... :-)
중요한건 ide-core가 뜰려면 trm290 있어야겠네요.
trm290이 뜨려면 ide-core가 필요하다고 쓰셨는데 반대로 알고 계신듯합니다.
즉, ide-core가 뜨려면 trm290이 무엇을하든 그것이 필요하고 그것이 없으면 에러가
출력되겠죠.(trm290이 무엇에 쓰는 물건인지는...)
귀찮더라도 직접 커널 컴파일을 해주는게 좋겠네요. :-)
위글을 보니까 kernel-image-2.x.x 가 거의 공용 커널같다는 생각을 지울 수가 없네요.
------------------------------
좋은 하루 되세요.
[quote="codebank"]중요한건 ide-core가 뜰려면 t
??? modules.dep 의 라인의 순서가...
a.o : a.o 가 의존하는 (즉 a.o 가 뜨기 위해 필요한) 모듈들 리스트...
아니었나요?
어쨌거나 말씀하신대로 아무래도 직접 컴파일을 한 번 하긴 해야할 듯 합니다.. 그냥 쓰자니 영 그렇군요. 답변 감사합니다~
좋은 하루 되세요!
dselect 를 이용한 커널을 업해서 그럴겁니다.이미 빌드되어 있는
dselect 를 이용한 커널을 업해서 그럴겁니다.
이미 빌드되어 있는것을 사용했기 때문이죠.
저는 데비안식으로 컴파일할때는 .. 먼저 데비안에서 소스를 받은 다음에...
데비안패키지를 빌드해서, 커널을 올리기 때문에
lsmod 하면 4개정도 밖에 안올라옵니다.
소스컴파일과 사실 별다를게 없습니다.
단지, 데비안패키지파일을 빌드해서, 설치한다는것뿐입니다.
아바타 제작기간~~ 무려 5초!!!
댓글 달기