insmod

Autres langues

Langue: ja

Version: October 2, 2001 (openSuse - 09/10/07)

Section: 8 (Commandes administrateur)

̾Á°

insmod - ¥í¡¼¥À¥Ö¥ë¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë

½ñ¼°

insmod [-fhkLmnpqrsSvVxXyY] [-e persist_name] [-o module_name] [-O blob_name] [-P prefix] module [ symbol=value ... ]

ÀâÌÀ

insmod ¤Ï¼Â¹ÔÃæ¤Î¥«¡¼¥Í¥ë¤Ë¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£

insmod ¤Ï¼Â¹ÔÃæ¤Î¥«¡¼¥Í¥ë¤Ë¥â¥¸¥å¡¼¥ë¤ò¥ê¥ó¥¯¤·¡¢ ¥«¡¼¥Í¥ë¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ë Á´¤Æ¤Î¥·¥ó¥Ü¥ë¤ò²ò·è¤·¤è¤¦¤È¤¹¤ë¡£

¥Ç¥£¥ì¥¯¥È¥ê¤ä³ÈÄ¥»Ò¤Ê¤·¤Ç¥â¥¸¥å¡¼¥ë¥Õ¥¡¥¤¥ë̾¤òÍ¿¤¨¤ë¤È¡¢ insmod ¤Ïɸ½à¤Î¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê(Ê£¿ô)¤«¤é¥â¥¸¥å¡¼¥ë¤òõ¤¹¡£´Ä¶­ÊÑ¿ô MODPATH ¤ò»È¤Ã¤Æ¡¢¤³¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò¾å½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ /etc/modules.conf ¤Î¤è¤¦¤Ê¥â¥¸¥å¡¼¥ëÀßÄê¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢ ¤³¤Á¤é¤ÎÆâÍƤ¬ MODPATH ¤Ç¤Î»ØÄê¤ò¾å½ñ¤­¤¹¤ë¡£

´Ä¶­ÊÑ¿ô MODULECONF ¤Ë¤è¤Ã¤Æ¡¢ /etc/modules.conf (¤¢¤ë¤¤¤Ï /etc/conf.modules (»È¤ï¤Ê¤¤¤Û¤¦¤¬Îɤ¤)) °Ê³°¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢¾åµ­¤Î»ØÄꤹ¤Ù¤Æ¤è¤êÍ¥À褵¤ì¤ë¡£

¥ª¥×¥·¥ç¥ó

-f --force
¼Â¹ÔÃæ¤Î¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤È¡¢ ¥â¥¸¥å¡¼¥ë¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¥«¡¼¥Í¥ë¤ÎÂоݥС¼¥¸¥ç¥ó¤¬°Û¤Ê¤Ã¤Æ¤â¡¢ ¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É¤ò»î¤ß¤ë¡£ ¤³¤ì¤Ï¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯¤À¤±¤ò̵¸ú¤Ë¤·¡¢ ¥·¥ó¥Ü¥ë̾¥Á¥§¥Ã¥¯¤Ë¤Ï²¿¤Î±Æ¶Á¤âÍ¿¤¨¤Ê¤¤¡£ ¥â¥¸¥å¡¼¥ë¤Î¥·¥ó¥Ü¥ë̾¤¬¥«¡¼¥Í¥ë¤Î¤â¤Î¤È°ìÃפ·¤Ê¤¤¾ì¹ç¡¢ insmod ¤Ë¶¯À©Åª¤Ë¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤µ¤»¤ëÊýË¡¤Ï¤Ê¤¤¡£
-h --help
¥Ø¥ë¥×ʸ¾Ï¤òɽ¼¨¤¹¤ë¡£
-k --autoclean
¥â¥¸¥å¡¼¥ë¤Î auto-clean ¥Õ¥é¥°¤òÀßÄꤹ¤ë¡£¤³¤Î¥Õ¥é¥°¤Ï kerneld(8) ¤¬»ÈÍѤ·¡¢ °ìÄê´ü´Ö(ÉáÄÌ¤Ï 1 ʬ)»È¤ï¤ì¤Ê¤«¤Ã¤¿¥â¥¸¥å¡¼¥ë¤òºï½ü¤¹¤ë¡£
-L --lock
Ʊ¤¸¥â¥¸¥å¡¼¥ë¤òƱ»þ¤Ë¥í¡¼¥É¤¹¤ë¤³¤È¤òËɤ°¤¿¤á¤Ë¡¢flock(2) ¤òÍѤ¤¤ë¡£
-m --map
¥í¡¼¥É»þ¤Î¥á¥â¥ê¥Þ¥Ã¥×¤òɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë¡£¤³¤ì¤Ë¤è¤ê¡¢ ¥«¡¼¥Í¥ë¥Ñ¥Ë¥Ã¥¯¤ÎºÝ¤Î¥â¥¸¥å¡¼¥ë¤Î¥Ç¥Ð¥Ã¥°¤¬Íưפˤʤ롣 ¤è¤ê¾ÜºÙ¤Ê¥Ç¥Ð¥Ã¥°¤ò²Äǽ¤Ë¤¹¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï ksymoops ¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï -X/-x ¥ª¥×¥·¥ç¥ó¤È¤ÏÆÈΩ¤Ç¤¢¤ë¡£

ksymoops ¥·¥ó¥Ü¥ë¤Ï¡¢³Æ¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¤´¤È¤Ë¡¢ Ìó 260 ¥Ð¥¤¥È¤ò;ʬ¤ËɬÍפȤ¹¤ë¡£¥«¡¼¥Í¥ë¶õ´Ö¤¬¥­¥Ä¥­¥Ä¤Ç¡¢ ksyms ¤òºÇ¾®¤Ë¤·¤¿¤¤¤è¤¦¤Ê¾ì¹ç¤ò½ü¤­¡¢ ¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤Ë¤·¤Æ¾Ü¤·¤¤ Oops ¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë¤Û¤¦¤¬Îɤ¤¡£

-o module_name --name=module_name
¥â¥¸¥å¡¼¥ë¤ËÌÀ¼¨Åª¤Ë̾Á°¤ò¤Ä¤±¤ë¡£ Ä̾ï¤Ï¥í¡¼¥É¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î basename ¤Ë´ð¤Å¤¤¤¿Ì¾Á°¤¬ÍѤ¤¤é¤ì¤ë¡£
-O blob_name --blob=blob_name
¥Ð¥¤¥Ê¥ê¥ª¥Ö¥¸¥§¥¯¥È¤ò blob_name ¤Î¥Õ¥¡¥¤¥ë̾¤ÇÊݸ¤¹¤ë¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï ¥«¡¼¥Í¥ë¤Ë¥í¡¼¥É¤µ¤ì¡¢¥»¥¯¥·¥ç¥óÁàºî¤ÈºÆÇÛÃÖ¤¬¹Ô¤ï¤ì¤¿¸å¤Î ¾õÂÖ¤òÀµ³Î¤Ëɽ¤·¤Æ¤¤¤ë¥Ð¥¤¥Ê¥ê blob (ELF ¥Ø¥Ã¥À¤Ê¤·)¤Ç¤¢¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¾ðÊó¤òÆÀ¤ë¤¿¤á¤Ë¤Ï -m ¥ª¥×¥·¥ç¥ó¤¬¿ä¾©¤µ¤ì¤ë¡£
-P prefix --prefix=prefix
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï SMP ¥«¡¼¥Í¥ë¤ä bigmem ¥«¡¼¥Í¥ë¸þ¤±¤Î¡¢ ¥Ð¡¼¥¸¥ç¥óÉÕ¤­¥â¥¸¥å¡¼¥ë¤ò»È¤¦¤È¤­¤ËÍøÍѤǤ­¤ë¡£ ¤³¤ì¤é¤Î¥â¥¸¥å¡¼¥ë¤Ë¤Ï¡¢¥·¥ó¥Ü¥ë̾¤Ë;ʬ¤Ê prefix ¤¬¤Ä¤¯¤«¤é¤Ç¤¢¤ë¡£ ¥«¡¼¥Í¥ë¤¬¥·¥ó¥Ü¥ë¥Ð¡¼¥¸¥ç¥ó¤Ä¤­¤Ç¥Ó¥ë¥É¤µ¤ì¤ë¤È¡¢ insmod ¤Ï¼«Æ°Åª¤Ë prefix ¤ò "get_module_symbol" ¤« "inter_module_get" ¤ÎÄêµÁ¤«¤é¼èÆÀ¤¹¤ë (¥â¥¸¥å¡¼¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ëÁ´¤Æ¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¤³¤Î¤É¤Á¤é¤«¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£ ¥«¡¼¥Í¥ë¤¬¥·¥ó¥Ü¥ë¥Ð¡¼¥¸¥ç¥ó¤ò»ý¤¿¤º¡¢ ¤·¤«¤·¥â¥¸¥å¡¼¥ë¤¬¥·¥ó¥Ü¥ë¥Ð¡¼¥¸¥ç¥óÉÕ¤­¤Ç¥Ó¥ë¥É¤µ¤ì¤¿¾ì¹ç¤Ï¡¢ ¥æ¡¼¥¶¡¼¤Ï -P ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£
-e persist_name --persist=persist_name
¥â¥¸¥å¡¼¥ë¤Î±Ê³¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¡£ ¤³¤ì¤Ï¥â¥¸¥å¡¼¥ë¤¬¥í¡¼¥É¤µ¤ì¤¿»þ¤ËÆɤ߹þ¤Þ¤ì¡¢ ¥â¥¸¥å¡¼¥ë¤Î¼ÂÂΤ¬¥¢¥ó¥í¡¼¥É¤µ¤ì¤¿»þ¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¡£ ¥â¥¸¥å¡¼¥ë¤Ë±Ê³¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ÅÌÛ¤Ë̵»ë¤µ¤ì¤ë¡£ ±Ê³¥Ç¡¼¥¿¤Ï insmod ¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ßÆɤ߹þ¤Þ¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï insmod ¤Ï±Ê³¥Ç¡¼¥¿¤ò½èÍý¤·¤Ê¤¤¡£ ¾Êάµ­Ë¡¤È¤·¤Æ -e "" (¶õʸ»úÎó) ¤¬»ØÄꤵ¤ì¤ë¤È¡¢ insmod ¤Ï persistdir ¤ÎÃÍ( modules.conf(5) »²¾È)¤Î¸å¤í¤Ë¡¢¥â¥¸¥å¡¼¥ë¤Î¥Õ¥¡¥¤¥ë̾¤«¤éËöÈø¤Î '.gz', '.o' and '.mod' ¤ò ¼è¤Ã¤¿¤â¤Î(¤½¤Î¥â¥¸¥å¡¼¥ë¤¬¸«¤Ä¤«¤Ã¤¿¥â¥¸¥å¡¼¥ë¸¡º÷¥Ñ¥¹¤«¤é¤ÎÁêÂХѥ¹)¤¬ »ØÄꤵ¤ì¤¿¤â¤Î¤È²ò¼á¤¹¤ë¡£ persistdir= (¤Ä¤Þ¤ê persistdir ¤Ë ¶õ¥Õ¥£¡¼¥ë¥É)¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢ ¾Êάµ­Ë¡¤Ï°ÅÌÛ¤Ë̵»ë¤µ¤ì¤ë¡£

¥â¥¸¥å¡¼¥ë¤Î¥Ñ¥é¥á¡¼¥¿

°ìÉô¤Î¥â¥¸¥å¡¼¥ë¤Ç¤Ï¥í¡¼¥É»þ¤Ë¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤷ¤Æ¡¢ Æ°ºî¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤Î¤è¤¦¤Ê¥Ñ¥é¥á¡¼¥¿¤Ï I/O ¥Ý¡¼¥È¤ä IRQ ÈÖ¹æ¤Ç¤¢¤ë¤³¤È¤¬Â¿¤¤¡£ ¤³¤ì¤é¤Î¿ôÃͤϥޥ·¥ó¤´¤È¤Ë°Û¤Ê¤ê¡¢ ¤·¤«¤â¥Ï¡¼¥É¥¦¥§¥¢¤«¤éµá¤á¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£

2.0 ·ÏÎó¤Î¥«¡¼¥Í¥ëÍѤ˹½ÃÛ¤·¤¿¥â¥¸¥å¡¼¥ë¤Ç¤Ï¡¢ Á´¤Æ¤ÎÀ°¿ô¤Èʸ»ú¥Ý¥¤¥ó¥¿¥·¥ó¥Ü¥ë¤Ï¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ°·¤ï¤ì¡¢ ½¾¤Ã¤Æ¤½¤ÎÆâÍƤÏÊѹ¹¤µ¤ì¤¦¤ë¡£ 2.1 ·ÏÎó¤Î¥«¡¼¥Í¥ë¤«¤é¤Ï¡¢ÆÃÄê¤ÎÃͤÀ¤±¤¬Êѹ¹¤µ¤ì¤ë¤è¤¦¤Ë¡¢ ¥·¥ó¥Ü¥ë¤Ë¤Ï¥Ñ¥é¥á¡¼¥¿¤«¤É¤¦¤«¤Î°õ¤¬ÌÀ¼¨Åª¤ËÉÕ¤±¤é¤ì¤ë¡£ ¤Þ¤¿¡¢¥í¡¼¥É»þ¤ËÍ¿¤¨¤é¤ì¤¿Ãͤò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¡¢ Äɲäη¿¾ðÊó¤¬Í¿¤¨¤é¤ì¤ë¡£

À°¿ô¤Î¾ì¹ç¤Ë¤Ï¡¢Á´¤Æ¤ÎÃÍ¤Ï 10 ¿ÊÃÍ¡¢8 ¿ÊÃÍ, 16 ¿ÊÃÍ¤Ç C ¸À¸ì¤ÈƱ¤¸¤è¤¦¤Ë»ØÄê¤Ç¤­¤ë (17, 021, 0x11 Åù)¡£ ÇÛÎó¤ÎÍ×ÁǤϡ¢Ãͤò¥³¥ó¥Þ¤Ç¶èÀڤäÆʤ٤뤳¤È¤Ë¤è¤ê»ØÄꤹ¤ë¡£ Ãͤò¾Êά¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Í×ÁǤòÈô¤Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£

2.0 ·ÏÎó¤Î¥â¥¸¥å¡¼¥ë¤Ç¤Ï¡¢¿ô»ú¤Ç»Ï¤Þ¤é¤Ê¤¤ÃͤÏʸ»úÎó¤È²ò¼á¤µ¤ì¤ë¡£2.1 °Ê¹ß¤Ç¤Ï¡¢Ãͤòʸ»úÎó¤È²ò¼á¤¹¤ë¤«¤É¤¦¤«¤Ï¥Ñ¥é¥á¡¼¥¿¤Î·¿¾ðÊó¤Ë¤è¤Ã¤ÆȽÃǤ¹¤ë¡£ Ãͤ¬Æó½Å°úÍÑÉä(")¤Ç»Ï¤Þ¤ë¾ì¹ç¤Ï¡¢ ¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤â´Þ¤á¤ÆÁ´¤Æ C ¸À¸ì¤ÈƱ¤¸¤è¤¦¤Ëʸ»úÎó¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£ ¥·¥§¥ë¤Î¥×¥í¥ó¥×¥È¤Ç»È¤¦¾ì¹ç¤Ë¤Ï¥¯¥©¡¼¥È¼«ÂΤ⥷¥§¥ë¤¬²ò¼á¤¹¤ë¤¿¤á¡¢ Êݸ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£

GPL ¥é¥¤¥»¥ó¥¹¤Î¥â¥¸¥å¡¼¥ë¤È¥·¥ó¥Ü¥ë

¥«¡¼¥Í¥ë 2.4.10 ¤«¤é¥â¥¸¥å¡¼¥ë¤Ï¥é¥¤¥»¥ó¥¹Ê¸¤ò´Þ¤à¤³¤È¤Ë¤Ê¤ê¡¢ MODULE_LICENSE() ¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤Ã¤¿¡£ ¤¤¤¯¤Ä¤«¤Îʸ»úÎó¤Ï GPL ¸ß´¹¤Ç¤¢¤ë¤Èǧ¼±¤µ¤ì¤ë¡£ ¤½¤ì°Ê³°¤Î¥é¥¤¥»¥ó¥¹Ê¸»úÎó¤À¤Ã¤¿¤ê¡¢¤½¤â¤½¤â¥é¥¤¥»¥ó¥¹¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢ ¤½¤Î¥â¥¸¥å¡¼¥ë¤Ï¥×¥í¥×¥é¥¨¥¿¥ê¤Ê¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤ë¡£ GPL ¸ß´¹¤È¤µ¤ì¤ë¥é¥¤¥»¥ó¥¹Ê¸»úÎó¤Ë¤Ä¤¤¤Æ¤Ï include/linux/module.h ¤ò»²¾È¤¹¤ë¤³¤È¡£

¥«¡¼¥Í¥ë¤¬ /proc/sys/kernel/tainted flag ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¾ì¹ç¤Ï¡¢ insmod ¤Ï GPL ¥é¥¤¥»¥ó¥¹¤ò»ý¤¿¤Ê¤¤¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É»þ¤Ë¡¢ tainted (±øÀ÷) ¥Õ¥é¥°¤ò '1' ¤È OR ¤¹¤ë¡£ ¥«¡¼¥Í¥ë¤¬ tainting ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤È¡¢ ¥é¥¤¥»¥ó¥¹¤Î¤Ê¤¤¥â¥¸¥å¡¼¥ë¤¬¥í¡¼¥É¤µ¤ì¤ëºÝ¤Ë¤Ï·Ù¹ð¤¬È¯¤»¤é¤ì¤ë¡£ ·Ù¹ð¤Ï GPL ¸ß´¹¤Ç¤Ê¤¤ MODULE_LICENSE() ¤ò»ý¤Ä¥â¥¸¥å¡¼¥ë¤ËÂФ·¤Æ¤Ï (tainting ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¸Å¤¤¥«¡¼¥Í¥ë¤Ç¤â)¡¢ ¾ï¤Ë·Ù¹ð¤¬È¯¤»¤é¤ì¤ë¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¿·¤·¤¤¥â¥¸¥å¡¼¥ë¤¬¸Å¤¤¥«¡¼¥Í¥ë¤ÇÍøÍѤµ¤ì¤ë¤È¤­¤â¡¢ ·Ù¹ð¤ÏºÇ¾®¸Â¤Ë¤Ê¤ë¡£

insmod -f (¶¯À©) ¥â¡¼¥É¤Ç¤Ï¡¢tainting ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥«¡¼¥Í¥ë¤Ê¤é tainted ¥Õ¥é¥°¤¬ '2' ¤È OR ¤µ¤ì¡¢¾ï¤Ë·Ù¹ð¤¬È¯¤»¤é¤ì¤ë¡£

¥«¡¼¥Í¥ë³«È¯¼Ô¤ÎÃæ¤Ë¤Ï¡¢Èà¤é¤Î¥³¡¼¥É¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥·¥ó¥Ü¥ë¤Ï¡¢ GPL ¸ß´¹¤Ê¥é¥¤¥»¥ó¥¹¤Î¥â¥¸¥å¡¼¥ë¤«¤é¤·¤«ÍøÍѤǤ­¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¡¢ ¤È¹Í¤¨¤Æ¤¤¤ë¿Í¤¿¤Á¤¬¤¤¤ë¡£¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Ï EXPOET_SYMBOL ¤ÎÂå¤ï¤ê¤Ë EXPORT_SYMBOL_GPL ¤Ç¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¡£ ¥«¡¼¥Í¥ë¤ä¡¢Ê̤Υ⥸¥å¡¼¥ë¤Ë¤è¤Ã¤Æ¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿ GPL ¥ª¥ó¥ê¡¼¤Î¥·¥ó¥Ü¥ë¤Ï¡¢GPL ¸ß´¹¤Ê¥é¥¤¥»¥ó¥¹¤Î¥â¥¸¥å¡¼¥ë¤«¤é¤·¤«¸«¤¨¤Ê¤¤¡£ ¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢ /proc/ksyms ¤Ë¤ª¤¤¤Æ 'GPLONLY_' ¤È¤¤¤¦¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤¬ÉÕ¤¯¡£ insmod ¤Ï GPL ¥é¥¤¥»¥ó¥¹¤Î¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë¤È¤­¤Ï¡¢ ¥·¥ó¥Ü¥ë¤Î 'GPLONLY_' ¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤ò̵»ë¤·¡¢ Ä̾ï¤Î¥·¥ó¥Ü¥ë̾¤ÎÉôʬ¤À¤±¤ò»²¾È¤¹¤ë¡£ GPL ¥ª¥ó¥ê¡¼¤Î¥·¥ó¥Ü¥ë¤Ï GPL ¸ß´¹¤Ê¥é¥¤¥»¥ó¥¹¤ò»ý¤¿¤Ê¤¤¥â¥¸¥å¡¼¥ë¤ËÂФ·¤Æ¤ÏÍøÍѲÄǽ¤È¤Ê¤é¤Ê¤¤¡£ ¥é¥¤¥»¥ó¥¹¤òÁ´¤¯»ý¤¿¤Ê¤¤¥â¥¸¥å¡¼¥ë¤ËÂФ·¤Æ¤âƱÍͤǤ¢¤ë¡£

KSYMOOPS »Ù±ç

¥â¥¸¥å¡¼¥ëÍøÍÑ»þ¤Î¥«¡¼¥Í¥ë Oops ¤Î¥Ç¥Ð¥Ã¥°¤ò»Ù±ç¤¹¤ë¤¿¤á¡¢ insmod ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤¤¤¯¤Ä¤«¤Î¥·¥ó¥Ü¥ë¤ò ksyms ¤ËÄɲ乤ë (-Y ¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤ò¸«¤è)¡£ ¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Î̾Á°¤Ï __insmod_modulename_ ¤Ç»Ï¤Þ¤ë¡£ modulename ¤Ï¥·¥ó¥Ü¥ë¤ò¾¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤ËɬÍפǤ¢¤ë¡£ Ʊ¤¸¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢Ê̤Υ⥸¥å¡¼¥ë̾¤ÇÊ£¿ô²ó¥í¡¼¥É¤¹¤ë¤Î¤Ïµö¤µ¤ì¤Æ¤¤¤ë¡£ ¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Ï

__insmod_modulename_Oobjectfile_Mmtime_Vversion

objectfile ¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¥í¡¼¥É¸µ¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¢¤ë¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ ksymoops ¤¬¥³¡¼¥É¤òÀµ¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ë¡£ mtime ¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¤ÎºÇ½ª½¤Àµ¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò 16 ¿Ê¤Çɽ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ stat ¤Ë¼ºÇÔ¤¹¤ë¤È 0 ¤Ë¤Ê¤ë¡£ version ¤Ï¥â¥¸¥å¡¼¥ë¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë»ØÄꤵ¤ì¤¿¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢ ¥Ð¡¼¥¸¥ç¥ó¤¬¼èÆÀ¤Ç¤­¤Ê¤±¤ì¤Ð -1 ¤È¤Ê¤ë¡£ ¥·¥ó¥Ü¥ë _O ¤Ï¥â¥¸¥å¡¼¥ë¥Ø¥Ã¥À¤ÈƱ¤¸¥¹¥¿¡¼¥È¥¢¥É¥ì¥¹¤Ë¤Ê¤ë¡£


__insmod_modulename_Ssectionname_Llength

¤³¤Î¥·¥ó¥Ü¥ë¤Ï»ØÄꤵ¤ì¤¿ ELF ¥»¥¯¥·¥ç¥ó¤ÎÀèƬ¤Ë¸½¤ì¤ë¡£ ¸½ºß¤Ï .text, .rodata, .data, .bss ¤Ç¤¢¤ë¡£ ¤³¤ì¤¬¸½¤ì¤ë¤Î¤Ï¡¢¥»¥¯¥·¥ç¥ó¤ÎŤµ¤¬ 0 °Ê¾å¤Î¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£ sectionname ¤Ï ELF ¥»¥¯¥·¥ç¥ó¤Î̾Á°¡¢ length ¤Ï³Æ¥»¥¯¥·¥ç¥ó¤ÎŤµ¤Î 10 ¿Êɽµ­¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î¥·¥ó¥Ü¥ë¤Ë¤è¤ê¡¢ ksymoops ¤Ï¥·¥ó¥Ü¥ë¤¬»È¤¨¤Ê¤¤¾ì¹ç¤Ç¤â ¥¢¥É¥ì¥¹¤ò¥»¥¯¥·¥ç¥ó¤Ë¥Þ¥Ã¥×¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£


__insmod_modulename_Ppersistent_filename

¥â¥¸¥å¡¼¥ë¤¬±Ê³¥Ç¡¼¥¿¤È¤·¤Æ¥Þ¡¼¥¯¤µ¤ì¤¿¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Á¡¢ ±Ê³¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¥Õ¥¡¥¤¥ë̾¤¬Í­¸ú¤Ê¾ì¹ç (¾å½Ò¤Î -e »²¾È) ¤Ë¤Î¤ß¡¢insmod ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤ë¡£

¥â¥¸¥å¡¼¥ë¤Ë¤ª¤±¤ë¥«¡¼¥Í¥ë 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 ¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¡£


  #!/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

´ØÏ¢¹àÌÜ

rmmod(8), modprobe(8), depmod(8), lsmod(8), ksyms(8), modules(2), genksyms(8), kerneld(8), ksymoops(kernel).

ÍúÎò

¥â¥¸¥å¡¼¥ëÂбþ¤ò郎ºÇ½é¤Ë¹Í¤¨¤¿¤Î¤«¤ÏÉÔÌÀ¤Ç¤¢¤ë¡£
Linux ÍѤκǽé¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï Bas Laarhoven <bas@vimec.nl> ¤¬ºîÀ®¤·¤¿¡£
¥Ð¡¼¥¸¥ç¥ó 0.99.14 ¤Ï Jon Tombs <jon@gtex02.us.es> ¤¬ºîÀ®¤·¤¿¡£
Bjorn Ekwall <bj0rn@blox.se> ¤¬³ÈÄ¥¤ò¹Ô¤Ã¤¿¡£
¸µ¡¹¤Î ELF Âбþ¤Ï Eric Youngdale <eric@aib.com> ¤Î½õÎϤˤè¤ë¤â¤Î¤Ç¤¢¤ë¡£
¥Ð¡¼¥¸¥ç¥ó 2.1.17 ¤Ø¤Î¹¹¿·¤Ï Richard Henderson <rth@tamu.edu> ¤¬¹Ô¤Ã¤¿¡£
modutil-2.2.* ¤Ç¤Î³ÈÄ¥¤Ï 1999 ǯ 3 ·î¤Ë Bjorn Ekwall <bj0rn@blox.se> ¤¬¹Ô¤Ã¤¿¡£
ksymoops ¤ÎÊä½õ¤Ï 1999 ǯ 5 ·î¤Ë Keith Owens <kaos@ocs.com.au> ¤¬¹Ô¤Ã¤¿¡£
¥á¥ó¥Æ¥Ê: Keith Owens <kaos@ocs.com.au>.