'Linux/Kernel'에 해당되는 글 17건

  1. 2008.07.08 리눅스 커널 모듈 파일에서 모듈 정보 확인하기 by 알 수 없는 사용자
  2. 2008.07.08 리눅스 커널 소스에 태그 달기 by 알 수 없는 사용자
  3. 2008.07.08 리눅스 커널 모듈 작성자 찾기 by 알 수 없는 사용자
  4. 2008.07.07 리눅스 커널 모듈 정보 확인하기 by 알 수 없는 사용자
  5. 2008.07.07 리눅스에서 현재 부팅된 커널 버전 확인하기 by 알 수 없는 사용자
  6. 2008.07.04 리눅스에서 프로세스 시스템 콜 추적하기 by 알 수 없는 사용자 1
  7. 2008.07.04 리눅스 커널 모듈 추가/삭제 by 알 수 없는 사용자
  8. 2008.07.04 리눅스 커널 모듈 의존성 확인하기 by 알 수 없는 사용자
  9. 2008.07.04 리눅스 커널 모듈 Alias 확인하기 by 알 수 없는 사용자
  10. 2008.07.04 리눅스에서 로딩된 커널 모듈 확인하기 by 알 수 없는 사용자

[root@jmlim modules]# strings hello-4.ko
<6>Hello, world 4
<6>Goodbye, world 4
license=GPL
author=Jungmuk Lim <jmlim@corecess.com>
description=A sample driver
vermagic=2.6.25 mod_unload 686
depends=
lstruct_module
printk
hello_4
[root@jmlim modules]#

objdump 명령으로도 볼 수 있다는데, 알고 계신 분은 글을 남겨주시면 감사하겠습니다.
Posted by 알 수 없는 사용자
,

[jmlim@jmlim linux-2.6.25]$ make tags
  MAKE   tags
[jmlim@jmlim linux-2.6.25]$

태그를 달면 함수의 정의를 손쉽게 찾을 수 있다.
Posted by 알 수 없는 사용자
,

[jmlim@jmlim linux-2.6.25]$ grep -inr MODULE_AUTHOR *
arch/x86/mach-rdc321x/wdt.c:272:MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
arch/x86/kvm/svm.c:30:MODULE_AUTHOR("Qumranet");
arch/x86/kvm/vmx.c:34:MODULE_AUTHOR("Qumranet");
...
[jmlim@jmlim linux-2.6.25]$
Posted by 알 수 없는 사용자
,

[root@jmlim modules]# modinfo hello-1.ko
filename:       hello-1.ko
vermagic:       2.6.25 mod_unload 686
depends:       
[root@jmlim modules]#
Posted by 알 수 없는 사용자
,

[root@jmlim linux-2.6.25]# uname -r
2.6.25
[root@jmlim linux-2.6.25]#
Posted by 알 수 없는 사용자
,

[root@jmlim ~]# strace modprobe msdos
execve("/sbin/modprobe", ["modprobe", "msdos"], [/* 20 vars */]) = 0
uname({sys="Linux", node="jmlim.corecess.com", ...}) = 0
brk(0)                                  = 0x805a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=130967, ...}) = 0
old_mmap(NULL, 130967, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd4000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \177\253"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1512400, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd3000
old_mmap(0xaa3000, 1207532, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xaa3000
old_mmap(0xbc4000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x120000) = 0xbc4000
old_mmap(0xbc8000, 7404, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xbc8000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd2000
mprotect(0xbc4000, 8192, PROT_READ)     = 0
mprotect(0xa9b000, 4096, PROT_READ)     = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7fd26c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7fd4000, 130967)              = 0
uname({sys="Linux", node="jmlim.corecess.com", ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
brk(0)                                  = 0x805a000
brk(0x807b000)                          = 0x807b000
open("/etc/modprobe.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
open("/etc/modprobe.conf.dist", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
open("/etc/modprobe.conf.dist", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=5754, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ff3000
read(3, "# default modutils aliases\nalias"..., 4096) = 4096
read(3, "l net-pf-3 /bin/true\ninstall net"..., 4096) = 1658
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7ff3000, 4096)                = 0
open("/etc/modprobe.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=401, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ff3000
read(3, "alias eth0 via-rhine\nalias scsi_"..., 4096) = 401
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7ff3000, 4096)                = 0
open("/lib/modules/2.6.25/modules.dep", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=151468, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ff3000
read(3, "/lib/modules/2.6.25/kernel/lib/c"..., 4096) = 4096
read(3, "odules/2.6.25/kernel/sound/core/"..., 4096) = 4096
read(3, "l/sound/core/snd-timer.ko /lib/m"..., 4096) = 4096
read(3, "ules/2.6.25/kernel/sound/core/sn"..., 4096) = 4096
read(3, "/snd-trident.ko: /lib/modules/2."..., 4096) = 4096
read(3, "modules/2.6.25/kernel/sound/core"..., 4096) = 4096
read(3, "odules/2.6.25/kernel/sound/core/"..., 4096) = 4096
read(3, "nd/isa/cs423x/snd-cs4236-lib.ko:"..., 4096) = 4096
read(3, ".6.25/kernel/sound/core/snd-page"..., 4096) = 4096
read(3, ".25/kernel/sound/core/seq/snd-se"..., 4096) = 4096
read(3, "p.ko /lib/modules/2.6.25/kernel/"..., 4096) = 4096
read(3, ".6.25/kernel/sound/core/seq/snd-"..., 4096) = 4096
read(3, ".6.25/kernel/sound/core/snd-rawm"..., 4096) = 4096
read(3, "filter/ebt_redirect.ko: /lib/mod"..., 4096) = 4096
read(3, "p.ko: /lib/modules/2.6.25/kernel"..., 4096) = 4096
read(3, "ipv4/ipvs/ip_vs_wrr.ko: /lib/mod"..., 4096) = 4096
read(3, "m.ko: /lib/modules/2.6.25/kernel"..., 4096) = 4096
read(3, "ernel/drivers/mtd/chips/map_ram."..., 4096) = 4096
read(3, "e.ko\n/lib/modules/2.6.25/kernel/"..., 4096) = 4096
read(3, "ry.ko:\n/lib/modules/2.6.25/kerne"..., 4096) = 4096
read(3, "/modules/2.6.25/kernel/drivers/u"..., 4096) = 4096
read(3, "/lib/modules/2.6.25/kernel/drive"..., 4096) = 4096
read(3, "b/modules/2.6.25/kernel/drivers/"..., 4096) = 4096
read(3, "1004x.ko /lib/modules/2.6.25/ker"..., 4096) = 4096
read(3, "les/2.6.25/kernel/drivers/i2c/al"..., 4096) = 4096
read(3, "tl32.ko:\n/lib/modules/2.6.25/ker"..., 4096) = 4096
read(3, ".6.25/kernel/drivers/media/video"..., 4096) = 4096
read(3, "a7146_vv.ko /lib/modules/2.6.25/"..., 4096) = 4096
read(3, "6a.ko: /lib/modules/2.6.25/kerne"..., 4096) = 4096
read(3, ".6.25/kernel/drivers/input/joyst"..., 4096) = 4096
read(3, "scsi/aha1542.ko: /lib/modules/2."..., 4096) = 4096
read(3, "ules/2.6.25/kernel/drivers/net/i"..., 4096) = 4096
read(3, "ernel/drivers/net/appletalk/ltpc"..., 4096) = 4096
read(3, "m/atmtcp.ko: /lib/modules/2.6.25"..., 4096) = 4096
read(3, "s/2.6.25/kernel/drivers/i2c/i2c-"..., 4096) = 4096
read(3, "vers/isdn/capi/kernelcapi.ko\n/li"..., 4096) = 4096
read(3, "_blkcipher.ko\n/lib/modules/2.6.2"..., 4096) = 4012
close(3)                                = 0
munmap(0xb7ff3000, 4096)                = 0
open("/lib/modules/2.6.25/kernel/fs/fat/fat.ko", O_RDWR) = 3
fcntl64(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}) = 0
open("/proc/modules", O_RDONLY)         = 4
fstat64(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ff3000
read(4, "parport_pc 27368 1 - Live 0xf8a1"..., 1024) = 1024
read(4, "art, Live 0xf888d000\nsnd_seq_dev"..., 1024) = 501
read(4, "", 1024)                       = 0
close(4)                                = 0
munmap(0xb7ff3000, 4096)                = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFREG|0644, st_size=555218, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ff3000
_llseek(3, 0, [0], SEEK_CUR)            = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\1\0\3\0\1\0\0\0\0\0\0\0"..., 16384) = 16384
read(3, "\366@0\1\17\205#\1\0\0\17\267^j\201\347\347\0\0\0\213N"..., 16384) = 16384
read(3, "P\200bmmpage_readpage\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb1000
read(3, "\0\34/\242\1\26\243\35\0\0/\243\1!\0\0\0\2#\0\26b\24\0"..., 65536) = 65536
mremap(0xb7fb1000, 135168, 266240, MREMAP_MAYMOVE) = 0xb7f70000
read(3, "\0!\252\0\0<\\L\v|\207\0\0\\NX\0\0\0\2#\0\v\241\227\0\0"..., 131072) = 131072
mremap(0xb7f70000, 266240, 528384, MREMAP_MAYMOVE) = 0xb7eef000
read(3, "#\24\nu\0009\320\226J\0\0\2#\30\0\7\4\301J\0\0\t)L\0\0"..., 262144) = 262144
mremap(0xb7eef000, 528384, 1052672, MREMAP_MAYMOVE) = 0xb7dee000
read(3, "\207\31\3\0\1\'\0\0\224\31\3\0\1\21\0\0\236\31\3\0\1\'"..., 524288) = 30930
read(3, "", 491520)                     = 0
read(3, "", 491520)                     = 0
init_module("ELF", 0x878d2)         = 0
munmap(0xb7dee000, 1052672)             = 0
close(3)                                = 0
open("/lib/modules/2.6.25/kernel/fs/msdos/msdos.ko", O_RDWR) = 3
fcntl64(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}) = 0
open("/proc/modules", O_RDONLY)         = 4
fstat64(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd1000
read(4, "fat 49336 0 - Live 0xf89ee000\npa"..., 1024) = 1024
read(4, "d_rawmidi 23364 1 snd_mpu401_uar"..., 1024) = 531
read(4, "", 1024)                       = 0
close(4)                                = 0
munmap(0xb7fd1000, 4096)                = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFREG|0644, st_size=97926, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd1000
_llseek(3, 0, [0], SEEK_CUR)            = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\1\0\3\0\1\0\0\0\0\0\0\0"..., 16384) = 16384
read(3, "N\222$\0\0\2#\4\0$m$\0\0\1\30\2\0\0\4\10\37\0\0\4\16\37"..., 16384) = 16384
read(3, "\0\0D\25Rd\0\0\7\4<d\0\0\t\235d\0\0u4\0\0\24?\205\vi5\0"..., 32768) = 32768
mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb0000
read(3, "o_list\0rb_node\0num_symtab\0st_nam"..., 65536) = 32390
read(3, "", 32768)                      = 0
read(3, "", 32768)                      = 0
init_module("ELF", 0x17e86)         = 0
munmap(0xb7fb0000, 135168)              = 0
close(3)                                = 0
exit_group(0)                           = ?
[root@jmlim ~]#
Posted by 알 수 없는 사용자
,

[root@jmlim ~]# insmod /lib/modules/2.6.25/kernel/fs/msdos/msdos.ko
insmod: error inserting '/lib/modules/2.6.25/kernel/fs/msdos/msdos.ko': -1 Unknown symbol in module
[root@jmlim ~]# insmod /lib/modules/2.6.25/kernel/fs/fat/fat.ko
[root@jmlim ~]# insmod /lib/modules/2.6.25/kernel/fs/msdos/msdos.ko
[root@jmlim ~]# rmmod fat
ERROR: Module fat is in use by msdos
[root@jmlim ~]# rmmod msdos
[root@jmlim ~]# rmmod fat
[root@jmlim ~]# insmod /lib/modules/2.6.25/kernel/fs/msdos/msdos.ko
insmod: error inserting '/lib/modules/2.6.25/kernel/fs/msdos/msdos.ko': -1 Unknown symbol in module
[root@jmlim ~]# modprobe msdos
[root@jmlim ~]#

멍청한 insmod와 똑똑한 modprobe.
Posted by 알 수 없는 사용자
,

[root@jmlim ~]# cat /lib/modules/2.6.25/modules.dep
/lib/modules/2.6.25/kernel/lib/crc-ccitt.ko:
/lib/modules/2.6.25/kernel/lib/libcrc32c.ko:
/lib/modules/2.6.25/kernel/lib/zlib_deflate/zlib_deflate.ko:
/lib/modules/2.6.25/kernel/sound/ac97_bus.ko:
/lib/modules/2.6.25/kernel/sound/soundcore.ko:
...
[root@jmlim ~]#
Posted by 알 수 없는 사용자
,

[root@jmlim ~]# cat /etc/modprobe.conf
alias eth0 via-rhine
alias scsi_hostadapter sata_via
alias snd-card-0 snd-via82xx
options snd-card-0 index=0
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-via82xx { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-via82xx
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
[root@jmlim ~]#
Posted by 알 수 없는 사용자
,

[root@jmlim ~]# lsmod
Module                  Size  Used by
parport_pc             27368  1
lp                     12712  0
parport                35612  2 parport_pc,lp
autofs4                22048  0
sunrpc                175888  3
dm_mod                 57612  0
button                  8728  0
battery                13840  0
ac                      6412  0
ipv6                  232428  10
ehci_hcd               33312  0
uhci_hcd               24092  0
i2c_viapro              8996  0
i2c_core               23176  1 i2c_viapro
snd_via82xx            27712  0
gameport               14864  1 snd_via82xx
snd_ac97_codec         90804  1 snd_via82xx
ac97_bus                2312  1 snd_ac97_codec
snd_pcm_oss            40672  0
snd_mixer_oss          15752  1 snd_pcm_oss
snd_pcm                71464  3 snd_via82xx,snd_ac97_codec,snd_pcm_oss
snd_timer              23444  1 snd_pcm
snd_page_alloc         10516  2 snd_via82xx,snd_pcm
snd_mpu401_uart         8584  1 snd_via82xx
snd_rawmidi            23364  1 snd_mpu401_uart
snd_seq_device          7956  1 snd_rawmidi
snd                    50952  9 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore               7908  1 snd
via_rhine              23584  0
mii                     5640  1 via_rhine
floppy                 56328  0
ext3                  121560  2
jbd                    47152  1 ext3
sd_mod                 26248  0
scsi_mod              142236  1 sd_mod
[root@jmlim ~]#

[root@jmlim ~]# cat /proc/modules
parport_pc 27368 1 - Live 0xf8a19000
lp 12712 0 - Live 0xf89b2000
parport 35612 2 parport_pc,lp, Live 0xf8a56000
autofs4 22048 0 - Live 0xf89a4000
sunrpc 175888 3 - Live 0xf89c2000
dm_mod 57612 0 - Live 0xf8a89000
button 8728 0 - Live 0xf89a0000
battery 13840 0 - Live 0xf899b000
ac 6412 0 - Live 0xf89af000
ipv6 232428 10 - Live 0xf8d86000
ehci_hcd 33312 0 - Live 0xf8991000
uhci_hcd 24092 0 - Live 0xf89bb000
i2c_viapro 8996 0 - Live 0xf894c000
i2c_core 23176 1 i2c_viapro, Live 0xf88da000
snd_via82xx 27712 0 - Live 0xf88d2000
gameport 14864 1 snd_via82xx, Live 0xf88cd000
snd_ac97_codec 90804 1 snd_via82xx, Live 0xf8953000
ac97_bus 2312 1 snd_ac97_codec, Live 0xf8824000
snd_pcm_oss 40672 0 - Live 0xf88c2000
snd_mixer_oss 15752 1 snd_pcm_oss, Live 0xf88e1000
snd_pcm 71464 3 snd_via82xx,snd_ac97_codec,snd_pcm_oss, Live 0xf896d000
snd_timer 23444 1 snd_pcm, Live 0xf889c000
snd_page_alloc 10516 2 snd_via82xx,snd_pcm, Live 0xf8898000
snd_mpu401_uart 8584 1 snd_via82xx, Live 0xf8894000
snd_rawmidi 23364 1 snd_mpu401_uart, Live 0xf888d000
snd_seq_device 7956 1 snd_rawmidi, Live 0xf884b000
snd 50952 9 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device, Live 0xf887f000
soundcore 7908 1 snd, Live 0xf8848000
via_rhine 23584 0 - Live 0xf8841000
mii 5640 1 via_rhine, Live 0xf8821000
floppy 56328 0 - Live 0xf8832000
ext3 121560 2 - Live 0xf88a3000
jbd 47152 1 ext3, Live 0xf8872000
sd_mod 26248 0 - Live 0xf882a000
scsi_mod 142236 1 sd_mod, Live 0xf884e000
[root@jmlim ~]#
Posted by 알 수 없는 사용자
,