1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
|
.\" Copyright (c) 1996 Free Software Foundation, Inc.
.\" This program is distributed according to the Gnu General Public License.
.\" See the file COPYING in the kernel source directory.
.\" $Id: insmod.8,v 1.5 2004/07/30 13:11:13 nakano Exp $
.\"
.\" Translated Sun Aug 15 10:54:37 JST 1999
.\" by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
.\" Updated Thu 12 Oct 2000 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Updated Sun 28 Jan 2001 by Kentaro Shirakata <argrath@ub32.org>
.\"
.\" WORD: persistent data ³ǡ
.\" WORD: prefix ץեå
.\"
.TH INSMOD 8 "October 2, 2001" Linux "Linux Module Support"
.SH ̾
insmod \- ֥륫ͥ⥸塼ȡ뤹
.hy 0
.SH
.B insmod
[\-fhkLmnpqrsSvVxXyY] [\-e\ persist_name] [\-o\ module_name]
[\-O\ blob_name] [\-P\ prefix] module [\ symbol=value\ ...\ ]
.SH
.B insmod
ϼ¹Υͥ˥֥⥸塼ȡ뤹롣
.PP
.B insmod
ϼ¹Υͥ˥⥸塼
ͥ뤬ݡȤƤ륷ܥơ֥ˤ
ƤΥܥ褷褦Ȥ롣
.PP
ǥ쥯ȥĥҤʤǥ⥸塼ե̾Ϳȡ
.B insmod
ɸΥǥեȥǥ쥯ȥ(ʣ)⥸塼õĶѿ
MODPATH ȤäơΥǥեͤ뤳ȤǤ롣
/etc/modules.conf Τ褦ʥ⥸塼ե뤬С
Ƥ MODPATH Ǥλ롣
.PP
Ķѿ MODULECONF ˤäơ /etc/modules.conf
(뤤 /etc/conf.modules (Ȥʤۤɤ))
ʳեꤹ뤳ȤǤ롣
δĶѿϡ嵭λꤹ٤Ƥͥ褵롣
.SS ץ
.TP
.I "-f --force"
¹ΥͥΥСȡ
⥸塼Ȥ߹ޤƤ륫ͥоݥСۤʤäƤ⡢
⥸塼Υɤߤ롣
ϥͥСå̵ˤ
ܥ̾åˤϲαƶͿʤ
⥸塼Υܥ̾ͥΤΤȰפʤ硢
.I insmod
˶Ū˥⥸塼ɤˡϤʤ
.TP
.I "-h --help"
إʸϤɽ롣
.TP
.I "-k --autoclean"
⥸塼 auto-clean ե饰ꤹ롣Υե饰
\fBkerneld\fP(8) Ѥ
(̤ 1 ʬ)Ȥʤä⥸塼롣
.TP
.I "-L --lock"
Ʊ⥸塼Ʊ˥ɤ뤳Ȥɤˡ\fBflock\fR(2) Ѥ롣
.TP
.I "-m --map"
ɻΥޥåפɸϤ˽Ϥ롣ˤꡢ
ͥѥ˥åκݤΥ⥸塼ΥǥХåưפˤʤ롣
ܺ٤ʥǥХåǽˤ롣
ǥեȤǤ ksymoops ܥ롣
Υץ \-X/\-x ץȤΩǤ롣
.sp
ksymoops ܥϡƥ֥⥸塼뤴Ȥˡ
260 ХȤ;ʬɬפȤ롣֤ͥĥĤǡ
ksyms Ǿˤ褦ʾ
ǥեȤΤޤޤˤƾܤ Oops ǥХåͭˤۤɤ
.TP
.I "-o \fRmodule_name\fI --name\fR=module_name\fI"
⥸塼Ū̾Ĥ롣
̾ϥɤ륪֥ȥե
basename ˴Ť̾Ѥ롣
.TP
.I "-O \fRblob_name\fI --blob\fR=blob_name\fI"
Хʥꥪ֥Ȥ
.I blob_name
Υե̾¸롣
Υե ͥ˥ɤ졢Ⱥ֤Ԥ줿
֤ΤɽƤХʥ blob (ELF إåʤ)Ǥ롣
֥ȤΥޥåԥ뤿ˤ
.I -m
ץ侩롣
.TP
.I "-P \fRprefix\fI --prefix\fR=prefix\fI"
Υץ SMP ͥ bigmem ͥΡ
Сդ⥸塼ȤȤѤǤ롣
Υ⥸塼ˤϡܥ̾;ʬ prefix ĤǤ롣
ͥ뤬ܥСĤǥӥɤȡ
insmod ϼưŪ prefix "get_module_symbol" "inter_module_get"
(⥸塼ݡȤƤΥͥˤϤΤɤ餫¸ߤʤФʤʤ)
ͥ뤬ܥС
⥸塼뤬ܥСդǥӥɤ줿ϡ
桼 \-P ꤹɬפ롣
.TP
.I "-e \fRpersist_name\fI --persist\fR=persist_name\fI"
⥸塼α³ǡ¸ե̾ꤹ롣
ϥ⥸塼뤬ɤ줿ɤ߹ޤ졢
⥸塼μΤɤ줿˽ޤ롣
⥸塼˱³ǡʤϤΥץϰ̵ۤ뤵롣
³ǡ
.I insmod
ˤΥץꤵ줿ˤΤɤ߹ޤ롣
ǥեȤǤ
.I insmod
ϱ³ǡʤ
άˡȤ
.I -e
"" (ʸ) ꤵȡ
.I insmod
.I persistdir
(
.BR modules.conf (5)
)θˡ⥸塼Υե̾ \'.gz', \'.o' and \'.mod'
ä(Υ⥸塼뤬Ĥä⥸塼븡ѥХѥ)
ꤵ줿ΤȲ᤹롣
.IR persistdir =
(Ĥޤ persistdir ե)ꤵƤȡ
άˡϰ̵ۤ뤵롣
.SS ⥸塼Υѥ
Υ⥸塼Ǥϥɻ˥ѥꤷơ
ưѤ뤳ȤǤ롣
Τ褦ʥѥ I/O ݡȤ IRQ ֹǤ뤳Ȥ¿
οͤϥޥȤ˰ۤʤꡢ
ϡɥ뤳ȤǤʤǤ롣
.PP
2.0 ΥͥѤ˹ۤ⥸塼Ǥϡ
ƤʸݥܥϥѥȤư졢
äƤƤѹ줦롣
2.1 Υͥ뤫ϡͤѹ褦ˡ
ܥˤϥѥɤΰŪդ롣
ޤɻͿ줿ͤå뤿ˡ
ɲäηͿ롣
.PP
ξˤϡƤͤ 10 ͡8 , 16 ͤ
C Ʊ褦˻Ǥ (17, 021, 0x11 )
ǤϡͤޤǶڤä¤٤뤳Ȥˤꤹ롣
ͤά뤳ȤˤꡢǤФȤǤ롣
.PP
2.0 Υ⥸塼ǤϡǻϤޤʤͤʸȲᤵ롣2.1
ʹߤǤϡͤʸȲ᤹뤫ɤϥѥηˤäȽǤ롣
ͤŰ(\fI"\fP)ǻϤޤϡ
ץޤ C Ʊ褦ʸȤƲᤵ롣
ΥץץȤǻȤˤϥȼΤ⥷뤬᤹뤿ᡢ
ݸʤФʤʤդ뤳ȡ
.SS GPL 饤Υ⥸塼ȥܥ
ͥ 2.4.10 ⥸塼ϥ饤ʸޤळȤˤʤꡢ
MODULE_LICENSE() ˤä뤳Ȥˤʤä
Ĥʸ GPL ߴǤǧ롣
ʳΥ饤ʸäꡢ⤽饤ʤϡ
Υ⥸塼ϥץץ饨ʤΤȤư롣
GPL ߴȤ饤ʸˤĤƤ
include/linux/module.h Ȥ뤳ȡ
.PP
ͥ뤬
.I /proc/sys/kernel/tainted flag
ݡȤϡ
.I insmod
GPL 饤ʤ⥸塼Υɻˡ
tainted () ե饰 '1' OR 롣
ͥ뤬 tainting ݡȤƤȡ
饤Τʤ⥸塼뤬ɤݤˤϷٹȯ롣
ٹ GPL ߴǤʤ MODULE_LICENSE() ĥ⥸塼ФƤ
(tainting ݡȤƤʤŤͥǤ)
˷ٹȯ롣
ˤäơ⥸塼뤬ŤͥѤȤ⡢
ٹϺǾ¤ˤʤ롣
.PP
.I insmod\ -f
() ⡼ɤǤϡtainting ݡȤ륫ͥʤ
tainted ե饰 '2' OR 졢˷ٹȯ롣
.PP
ͥ볫ȯԤˤϡΥɤݡȤ륷ܥϡ
GPL ߴʥ饤Υ⥸塼뤫餷ѤǤʤ褦ˤ
ȹͤƤͤ롣Υܥ
EXPOET_SYMBOL EXPORT_SYMBOL_GPL ǥݡȤ롣
ͥ䡢̤Υ⥸塼ˤäƥݡȤ줿
GPL ΥܥϡGPL ߴʥ饤Υ⥸塼뤫餷ʤ
Υܥˤϡ
/proc/ksyms ˤ 'GPLONLY_' Ȥץեåդ
.I insmod
GPL 饤Υ⥸塼ɤȤϡ
ܥ 'GPLONLY_' ץեå̵뤷
̾Υܥ̾ʬȤ롣
GPL Υܥ
GPL ߴʥ饤ʤ⥸塼ФƤѲǽȤʤʤ
饤ʤ⥸塼ФƤƱͤǤ롣
.SS KSYMOOPS ٱ
⥸塼ѻΥͥ Oops ΥǥХåٱ礹뤿ᡢ
insmod ϥǥեȤǤϤĤΥܥ ksyms ɲä
.RB ( \-Y
ץ)
Υܥ̾
.BI __insmod_ modulename _
ǻϤޤ롣
.I modulename
ϥܥ¾ȽŤʤʤ褦ˤ뤿ɬפǤ롣
Ʊ֥Ȥ̤Υ⥸塼̾ʣɤΤϵƤ롣
Ƥ륷ܥ
.sp
.nf
__insmod_\fImodulename\fP_O\fIobjectfile\fP_M\fImtime\fP_V\fIversion\fP
.fi
.sp
.I objectfile
ϡ֥ȤΥɸΥե̾Ǥ롣
ˤä
ksymoops ɤ֥Ȥ˥ޥå뤳ȤǽȤʤ롣
.I mtime
ϤΥեκǽॹפ 16 ʤɽΤǤ롣
stat ˼Ԥ 0 ˤʤ롣
.I version
ϥ⥸塼Υѥ˻ꤵ줿ͥΥСǡ
СǤʤ \-1 Ȥʤ롣
.\"NAKANO äỌ̇̄Ǥɤ⡣
ܥ _O ϥ⥸塼إåƱȥɥ쥹ˤʤ롣
.sp
.nf
__insmod_\fImodulename\fP_S\fIsectionname\fP_L\fIlength\fP
.fi
.sp
Υܥϻꤵ줿 ELF Ƭ˸롣
ߤ .text, .rodata, .data, .bss Ǥ롣
줬ΤϡĹ 0 ʾξǤ롣
.I sectionname
ELF ̾
.I length
ϳƥĹ 10 ɽǤ롣
Υܥˤꡢ ksymoops ϥܥ뤬ȤʤǤ
ɥ쥹˥ޥåפǤ褦ˤʤ롣
.sp
.nf
__insmod_\fImodulename\fP_P\fIpersistent_filename\fP
.fi
.sp
⥸塼뤬³ǡȤƥޡ줿ѥ
³ǡ¸ե̾ͭʾ (Ҥ
.I -e
) ˤΤߡinsmod ˤäƺ롣
.PP
⥸塼ˤ륫ͥ Oops ΥǥХåˤ̤Ȥơ
/proc/ksyms /proc/modules Ƥ Oops ȥեδ֤
ѤäƤޤǽ롣
ν뤿ᡢ
/var/log/ksymoops ȡinsmod rmmod ϼưŪ
/proc/ksyms /proc/modules /var/log/ksymoops
`date\ +%Y%m%d%H%M%S` prefix դƥԡ롣
ƥԤ ksymoops Фơ
Oops ΥǥХåˤɤΥʥåץåȥեѤ뤫뤳ȤǤ롣
μưԡ̵ˤ륹å¸ߤʤ
˾ޤʤϡ /var/log/ksymoops äƤϤʤʤ
Υǥ쥯ȥ֤ȤˤϡͭԤ root Ȥ
⡼ɤ 644 ޤ 600 ˤơ
ʲΥץȤټ¹Ԥɤ
ΥץȤ insmod_ksymoops_clean Ȥƥȡ뤵롣
.PP
.nf
#!/bin/sh
# Delete saved ksyms and modules not accessed in 2 days
if [ -d /var/log/ksymoops ]
then
set -e
# Make sure there is always at least one version
d=`date +%Y%m%d%H%M%S`
cp -a /proc/ksyms /var/log/ksymoops/${d}.ksyms
cp -a /proc/modules /var/log/ksymoops/${d}.modules
find /var/log/ksymoops -type f -atime +2 -exec rm {} \\;
fi
.fi
.SH Ϣ
\fBrmmod\fP(8), \fBmodprobe\fP(8), \fBdepmod\fP(8), \fBlsmod\fP(8),
\fBksyms\fP(8), \fBmodules\fP(2), \fBgenksyms\fP(8), \fBkerneld\fP(8),
\fBksymoops\fP(kernel).
.SH
⥸塼бïǽ˹ͤΤǤ롣
.br
Linux ѤκǽΥС Bas Laarhoven <bas@vimec.nl>
.br
С 0.99.14 Jon Tombs <jon@gtex02.us.es>
.br
Bjorn Ekwall <bj0rn@blox.se> ĥԤä
.br
ELF б Eric Youngdale <eric@aib.com> νϤˤΤǤ롣
.br
С 2.1.17 ؤι Richard Henderson <rth@tamu.edu> Ԥä
.br
modutil-2.2.* Ǥγĥ 1999 ǯ 3 Bjorn Ekwall <bj0rn@blox.se> Ԥä
.br
ksymoops 1999 ǯ 5 Keith Owens <kaos@ocs.com.au> Ԥä
.br
ƥ: Keith Owens <kaos@ocs.com.au>.
|