
                              kerneld mini-HOWTO
                                       
   1.7 棬ϴ Henrik Storner [1](storner@osiris.ping.dk) 1997  7
    19 (storner@osiris.ping.dk) ¡
   
   ￵ [2](a9504480@graduate.hku.hk)  1998  6  14 ɷ롣
     _________________________________________________________________
   


   ļʹ Linux е kerneld ܡ˵
   
     * [3]kerneld ʲ
     * [4]ΪʲҪ
     * [5]ȡ趫
     * [6]趨
     * [7]θ kerneld ʶģ
     * [8] kerneld (趨ʱ)
     * [9]kerneld ر;
     * [10]⼰
       
   ļ°汾
   [11]http://eolicom.olicom.dk/~storner/kerneld-mini-HOWTO.html ҵ
   밴İ [12]http://www.linux.org.tw/CLDP/mini/Kerneld.html
   ҵڴ mini-HOWTO Ƴʽ汾ڼ䣬
   [13]http://eolicom.olicom.dk/~storner/kern.html ҵδ֯ĸ嵥
   
   


   㷢ִļгִµԭߡ¸˶Ա
   ף
   
     * Bjorn Ekwall <bj0rn@blox.se>
     * Ben Galliart <bgallia@luc.edu>
     * Cedric Tefft <cedric@earthling.net>
     * Brian Miller <bmiller@netspace.net.au>
     * James C. Tsiao <jtsiao@madoka.jpl.nasa.gov>
       
   ҷǳл mini-HOWTO ߼ĸǵĹ顣
   
   밴õȻУ֪ͨ￵
   <a9504480@graduate.hku.hk>
     _________________________________________________________________
   
kerneld ʲ᣿

   kerneld  [14]Bjorn Ekwall  1.3 ķչ (development
   kernel) Ĺܡ 2.0  2.1 汾ĺҵģ
   (modules)ʽ (device drivers) (network drivers)
   ϵͳ (filesystems)ԶҪʱ룬ʹ modprobe 
   insmod
   
   иȤĶȻδϵ׼ĺС
   
     * 趨ɲʹڶĿհ׻棬ѡʽʹѡөĻ
        (screen saver)
     * өĻƣɰ̨ (console) ġ١ΪȫͬĶ
       
       
   kerneld ֣
   
     * سʽ (daemon) ģҪ֧Ԯ
     * ҳģҪʹ߲ (user-level) سʽ
       
   Ҫʹ kerneldֶҪֻ趨һûõġ
     _________________________________________________________________
   
ΪʲҪ

   вٺȥʹ kerneldҸ˵ġ˿
   ɡ
   
     * ҪΪֻͬϵͳʹòͬƿ
       ֻ轨һĺģ飬Ϊÿϵͳͬĺġ
     * ԿԱԣģȽײԡ㲻뼰ж
       ʽģ飬 kerneld ģ
     * ٺռõļ壬и幩ʽʹáռ
       ļ **  (swap-out) ģĺ 100kB
       ûõʽĻֻ˷ļ塣
     * һЩҪõĶ ftape floppy-tape driver  iBCSֻģ
       ʽ֡Լжǡ
     * Linux ߲Ҫ 284 ͬĿӰ (boot images) ʹ
       ֻӲʽ RedHat 4.0 ʹⷽ
       
   ȻҲвʹɡϲһӳ (kernel image) 
   Ҫʽ㿴ˡ
     _________________________________________________________________
   
ȡ趫

    kerneld ֧Ԯʼ 1.3.57 档ʹýϾɵİ汾Ҫ
    kerneld ˡҪ Linux ftp ̨кĵԭʽ롣ҽ
   °汾ȶģ2.0ĿǰǶȼ (patch level) 2.0.29 밴
   ʱ 2.0.35
   
  [15]ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/linux-2.0.29.tar.gz
  [16]ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/linux-2.0.29.tar.gz
  [17]ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz

   ʹ߲ļسʽ modules-1.2.8 µ modules-2.0 С
   һͺԴʽͬһصҵٷλð
   
  [18]ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/modules-2.0.0.tar.gz
  [19]ftp://tsx-11.mit.edu/pub/linux/sources/sbin/modules-2.0.0.tar.gz
  [20]ftp://ftp.funet.fi/pub/Linux/tools/modules-2.0.0.tar.gz

   ע⣺ 2.1 Ŀĳģ飬µ
   modutils- modules-뿴 [21]йģ 2.1 Ĳֵ
   ⡣
     _________________________________________________________________
   
趨

   ҪȡĶõĺĲּ° modules-utilities֮
   Ҫװ modules-utilitiesʮּ򵥣ֻԭʽѹִ make
   install.  genksysm, insmod, lsmod, modprobe, depmod,
   kerneldǰװ /sbinҽеĿָ
   (startup-script) ʱ趨ʹ Slackware
   м /etc/rc.d/rc.S ʹ SysVinit Debian,
   RedHat, Calderaм /etc/rc.d/rc.sysinit 밴
   ֪RedHat 5.0 SysVinitѼ˹ܣ
   
        # Start kerneld - this should happen very early in the
        # boot process, certainly BEFORE you run fsck on filesystems
        # that might need to have disk drivers autoloaded
        if [ -x /sbin/kerneld ]
        then
                /sbin/kerneld
        fi

        # Your standard fsck commands go here
        # And you mount command to mount the root fs read-write

        # Update kernel-module dependencies file
        # Your root-fs MUST be mounted read-write by now
        if [ -x /sbin/depmod ]
        then
                /sbin/depmod -a
        fi

   һ kerneld
   
   ڶֿʼʱִ 'depmod -a'depmod пҵģ嵥
   ֮以ԣ֪һģǰǷҪ
   ģ顣
   
   ע°汾 kerneld ѡ (link) GNU  dbm ʽ libgdbm
   ڱ module-utilities ʱ˴˾Ҳ libgdbm ʱ kerneld 
   пܵ /usr һŵ (partition)ͼڹ
   (mount) /usr ǰ kerneld ʱĽǰ libgdbm 
   /usr/lib Ƶ /lib̬ kerneld (link kerneld statically)
   
   ֮ᣬҪѺĵԴʽѹ趨һϲĺġδԹ
   Ķ Linux Դʽ붥Ŀ¼ (top directory) е
   README ִ make config 趨ʱҪעڳֵ
   
   
  Enable loadable module support (CONFIG_MODULES) [Y/n/?] Y

   Ҫѡ loadable module supportģ kerneld 롣
   Yes
   
  Kernel daemon support (CONFIG_KERNELD) [Y/n/?] Y

   ȻҲҪģܶණɽΪģ顣Ƶ⣺
   
  Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?]

   ɻش 'M' ģ顣ֻͨпʱʽӲʽ
   ͸Ŀ¼ĵϵͳȱ轨ںСԿɽΪģ顣
   
    'make config' ᣬִ 'make dep', 'make clean', 'make zImage' 
   'make zlilo', 'make modules'  'make modules_install'
   
   ɹ
   
   'make zImage' ºӳ (kernel image) ŵ
   arch/i386/boot/zImageҪӳĵط LILO װ
   
   
   õй趨װĲֵϣĶʱ
   comp.os.linux.answers [22]Kernel-HOWTO Ҳ sunsite.unc.edu 
   /pub/Linux/docs/HOWTO ҵ밴İ
   [23]http://www.linux.org.tw/CLDP/Kernel-HOWTO.htmlҵ
     _________________________________________________________________
   
 kerneld

   µĺĲֿϵͳᣬִ 'ps -ax'Ӧû
   kerneld һУ
   
    PID TTY STAT  TIME COMMAND
     59  ?  S     0:01 /sbin/kerneld

   kerneld һôֻҪĺļװüسʽֻ
   趨ڣɳһģʽ᲻趨
   ʹáҰŵʽģ飬ҷһֻ DOS ŵ
   
  osiris:~ $ mdir a:
   Volume in drive A has no label
   Volume Serial Number is 2E2B-1102
   Directory for A:/

  binuti~1 gz       1942 02-14-1996  11:35a binutils-2.6.0.6-2.6.0.7.diff.gz
  libc-5~1 gz      24747 02-14-1996  11:35a libc-5.3.4-5.3.5.diff.gz
          2 file(s)        26689 bytes

   ˵ŵʽҳʹŵʱԶ롣
   
   Ҫŵģı룬ִ /sbin/lsmodгʱ
   ģ顣
   
  osiris:~ $ /sbin/lsmod
  Module:        #pages:  Used by:
  floppy            11    0 (autoclean)

   "(autoclean)" һûôģ飬ͻᱻ kerneld Զߡ
   ԣ 11 ҳ壨44 kBһҳ 4kBֻʹʱռá
   һӲᱻͷšļ岻Ӧã̫ˣ
     _________________________________________________________________
   
kerneld ֪ʲģ飿

   Ȼ kerneld Գõģʶʱ᲻֪ӦҪ
   ʽʽȿҪһģΡ
   
   kerneld ӺĲֻյҪ
   
     * [24]豸ʽ (a block-device driver)
     * [25]Ԫ豸ʽ (a character-device driver)
     * [26]Ԫʽ (a binary format)
     * [27]tty ߹ (a tty line discipline)
     * [28]ϵͳ (a filesystem)
     * [29]豸 (a network device)
     *  (a network service) rarp
     * [30]Э (a network protocol) IPX
       
   kerneld Ӽܹ (configuration file) /etc/conf.modules е֪ʲ
   ģҪ롣Ŀ· (paths)ģ鵵λãʹ
   (aliases)Ҫʲģ飩δд˵·Լ죺
   
  /sbin/modprobe -c | grep -v '^path' >/etc/conf.modules

   Ӷһ·Ԥ·Уе·Ϊ
   /etc/conf.modules һ·Ŀȡ  modprobe õ·
   
   ͨǲԼ·ģΪԤ·нչ˵趨
   ɱ֤
   
   һ棬ֻ (alias) ѡ (option directive)
   /etc/conf.modules Ŀ뵽 modprobe ֪ġٶһ
   Żѡ /etc/conf.modules еĿԤǸ
   
  豸
  
   ִ '/sbin/modprobe -c'õһ kerneld ֪ģ
   ӦҪ磬ʽҪ (major
   number)  2 豸
   
  osiris:~ $ /sbin/modprobe -c | grep floppy
  alias block-major-2 floppy

   Ϊʲ block-major-2Ϊ豸 /dev/fd*  (major number)
    2 豸
   
  osiris:~ $ ls -l /dev/fd0 /dev/fd1
  brw-rw-rw-   1 root     root       2,   0 Mar  3  1995 /dev/fd0
  brw-r--r--   1 root     root       2,   1 Mar  3  1995 /dev/fd1

  Ԫ豸
  
   Ԫ豸ķҲࡣ ftape floppy tape driver 
   major-device 27
   
  osiris:~ $ ls -lL /dev/ftape
  crw-rw----   1 root     disk      27,   0 Jul 18  1994 /dev/ftape

    kerneld ֪ ftape ʽ '/sbin/modprobe -c' 
   г֡
   
   ԣҪʹ kerneld  ftape ʽҪһе kerneld 趨
   /etc/conf.modules У
   
  alias char-major-27 ftape

  豸
  
   Ҳ豸Щ 'char-major-xxx'  'block-major-yyy' 
   豸ã ne2000 翨 eth0 Լ
   
   
  alias eth0 ne

   ҪһЩѡʽģ翨ʹʲ IRQ
   ɼһ 'options' У
   
  options ne irq=5

   ʹ kerneld ָ NE2000 ʽ
   
  /sbin/modprobe ne irq=5

   ȻʵõѡӦģͬ
   
  Ԫʽ
  
   ԪʽҲƵķÿ㳢ִһĲĳʽ
   kerneld յһ "binfmt-xxx" Ҫ xxx һɵͷ
   Ԫ֡ʹ kerneld Ϊ ZMAGIC (a.out) ִе binfmt_aout ģ
   趨ǣ
   
  alias binfmt-267 binfmt_aout

   Ϊ ZMAGIC Ļ (magic number)  267鿴 /etc/magic
    0413 ֣ /etc/magic ʹð˽λ (octal numbers) 
   kerneld ʹʮ (decimal)˽λ 413 ʮ 267
   a.out ʽΪΪͬĿִе (NMAGIC, QMAGIC and ZMAGIC)
   Ҫȫ֧Ԯ binfmt_aout ģҪ
   
  alias binfmt-264 binfmt_aout  # pure executable (NMAGIC)
  alias binfmt-267 binfmt_aout  # demand-paged executable (ZMAGIC)
  alias binfmt-204 binfmt_aout  # demand-paged executable (QMAGIC)

   kerneld Զ a.out, Java  iBCS Ԫʽر趨
   
  ߹ (slip, cslip and ppp)
  
   ߹ "tty-ldisc-x"Ҫ󣬶 x һ 1 (slip)  3 (ppp)
   kerneld ʶ
   
   ˵ ppp kerneld  bsd_comp ѹģ飬Ҫе
   /etc/conf.modules У
   
  alias tty-ldisc-3 bsd_comp
  alias ppp0 bsd_comp

  Э (IPX, AppleTalk, AX.25)
  
   ЭҲģ롣Ҫõһ (network family)
   IPXʱ kerneld һ "net-pf-X" Ҫ󣬶 X һ
   ֡ net-pf-3  AX.25net-pf-4  IPX net-pf-5 
   AppleTalkЩ linux Դʽ include/linux/socket.h 
   AF_AX25, AF_IPX ĶġʴҪԶ IPX ģ飬Ҫһ
   µĿ /etc/conf.modules У
   
  alias net-pf-4 ipx

   ҲĶйطֹʱֹδЭ[31]⡣
   
  ϵͳ
  
   йصϵͳ kerneld Ҫǵϵͳơһ;Ϊ
    isofs ģ飬 "iso9660" ϵͳ
   
  alias iso9660 isofs
     _________________________________________________________________
   
Ҫر趨豸

   豸ֻҪʹô (aliasing)Ҫ趨ģ豸 (a
   device to a module)
   
     *  10 Ԫ豸[32]豸 (The miscellaneous devices)
     * [33]SCSI 豸
     * [34]رʼ (initialization) 豸
       
  char-major-10󡢿Ź (Mice, watchdogs and randomness)
  
   Ӳ豸ֱ棬 ftape  char-major-27㿴
    /dev  10 Ԫ豸һѺ޹豸
   
     * ָĻbus mice, PS/2 mice
     * Ź豸 (watchdog devices)
     * ĵ 'random' 豸
     * APM  (Advanced Power Management interface)
       
   ԣЩ豸ɶͬģƵġԣЩ豸 kerneld
   趨õ뼰 (the major number and the minor number)
   
        alias char-major-10-1 psaux     # For PS/2 mouse
        alias char-major-10-130 wdt     # For WDT watchdog

   ҪõԣҪһ 1.3.82 ֮ĺĲ֡ϾɵĺĲѸ
   봫 kerneldˣkerneld ҳҪ豸
   
   SCSI ʽ scsi_hostadapter Ŀ
  
   SCSI 豸һ SCSI ӿ (SCSI host adapter,  Adaptec 1542)
   һ豸Ӳ (hard disk) (CD-ROM) Ŵ
   (tape-drive)ʽȫģ롣ǣȡӵ
   Adaptec Ĺʱĺ kerneld ֻ֪Ҫ sr_mod ģ֧Ԯ
    SCSI ֪ǹӵʲ SCSI  (SCSI
   controller)Բ֪ʲģ֧Ԯǹ
   
   Ҫ⣬ɼһ SCSI ʽĿ
   /etc/conf.modules УԸ kerneld ڶ SCSI ģѡ
   
   
        alias scd0 sr_mod               # sr_mod for SCSI CD-ROM's ...
        alias scsi_hostadapter aha1542  # ... need the Adaptec driver

   ֻ 1.3.82 ֮ĺġ
   
   ֻֻⷽһ SCSI ʱáгһѶȾ͸һ
   
   
   һ˵Ѿһ㲻ٽ kerneld һ
   뵽Уģ飩Լģ롣
   
   ʵϣһʹ kerneld  SCSI ʽJames Tsiao 
   飺
   
  ֻҪֽ modules.dep  (dependency)ɺʹ
   kerneld ڶ SCSI ʽֻһƵĿ

     /lib/modules/2.0.30/scsi/st.o: /lib/modules/2.0.30/scsi/aha1542.o

  ʹ kerneld  st.o ǰ aha1542.oҼеĵԾʹ
  ˼ͬ趨ж SCSI 豸 (secondary scsi devices)
  Ŵһ SCSI 豸û⡣ȱ
  'depmod -a' ԶЩҪԼЩҲ
  ڿʱִ 'depmod -a'ֻҪ趨ˣkerneld Զ
  aha1542.o

   Ҫ֪⼼ֻвͬ SCSI 豸Ӳʱã
   磬ӲһѹŴ SCSI һ
   
  Ҫ볬һģʱpost-installĿ
  
   ʱֻģ벻ʹ豸磬ЧΪģ飬
   Ҳϣʵ趨´ʱʧȥ
   Ben Galliart (bgallia@luc.edu) ṩؾ
   
  յĽҪװ setmix-0.1
   ( ftp://sunsite.unc.edu/pub/Linux/apps/sound/mixers/setmix-0.1.tar.gz )

  ֮һмӵҵ /etc/conf.modules
       post-install sound /usr/local/bin/setmix -f /etc/volume.conf

   Чģᣬkerneld ִ 'post-install sound' Ŀָ
   ˸ģᱻ '/usr/local/bin/setmix -f /etc/volume.conf ָ趨
   á
   
   ⷽģҲã lp ģɼһ tunelp ʽ趨ã
   
        post-install lp tunelp <options>

   ֻ 1.3.69f ֮ kerneld ֧ԮЩѡ
   
   ע:  mini-HOWTO ĽϾɰ汾ἰһ "pre-remove" ѡ
   kerneld жһģʱִһָδɹ˲ʹá
   ѡδ汾 kerneld ʧйģ "趨" 鶼
   ıУ㿴ļʱͬˡ
     _________________________________________________________________
   
 kerneld

   ʲ᷽ԹҲҪ kerneld ʲᣬһ
   ҳ kerneld յʲҪ󣬴Ӷ֪üʲᵽ /etc/conf.modules
   Ҫ kdstat ʽ
   
   õĳʽѰ modules-package УԤǲ뼰װġ
   ·
   
  cd /usr/src/modules-2.0.0/kerneld
  make kdstat

   ֮ᣬҪʹ kerneld ʾʲᣬִ
   
  kdstat debug

   kerneld Ὺʼ̨ӡ乤ϡִָʱ
    kerneld յҪЩҪɷŵ /etc/conf.modules Уģ
   ı (alias)ʹɡ
   
   Ҫֹͣʱִ '/sbin/kdstat nodebug'
     _________________________________________________________________
   
kerneld ;

   ֪趨өĻʽ (screensaver) ģ顭
   
   modules-package  'kerneld/GOODIES' Ŀ¼һЩөĻʽ̨
   ֧Ԯйصĺ޲ (kernel patches)δڹٷĺĳ֡
   Ҫ±ġ
   
   Ҫװ޲Ҫ "patch" ָ
   
  cd /usr/src/linux
  patch -s -p1 </usr/src/modules-2.0.0/kerneld/GOODIES/blanker_patch

   ֮ؽװºġ
   
   өĻʽʱkerneld ִ "/sbin/screenblanker" ָ
   һִϲөĻʽָ (shell script)
   
   ںػөĻʱͳһ SIGQUIT Ѷŵִ
   /sbin/screenblanker г (process)өĻʽҪ׽
   (trap) Ѷż֮ỹҪөĻԭԭģʽ (text
   mode)
     _________________________________________________________________
   
⼰ܻɵ

  Ϊεִ ifconfig ʱΪһõ "Cannot locate module for net-pf-X" ѶϢ
  
   ں 1.3.80 ңĳʽ޸ͨЭ (protocol families
    IPX, AX.25  AppleTalk) Ϊģ顣⵼¶ kerneld Ҫ
   net-pf-XX һԱͨѶЭ֣ο
   /usr/src/linux/include/linux/socket.h ҳֵͬ˼
   ҵأifconfig ЩѶϢԺܶ˻ڿڼִ
   ifconfig 趨ع豸 (loopback device) ʱյЩѶϢ޻
    /etc/conf.modules мǣ
   
        alias net-pf-3 off      # Forget AX.25
        alias net-pf-4 off      # Forget IPX
        alias net-pf-5 off      # Forget AppleTalk

   Ȼ IPX Ϊģ飬㲻ɼϺйصһС
   
  ʼ Kerneld ᣬ PPP ߻ʹҵĵţ
  
   ѾжƺΪ kerneld Ͳϵͳ趨ͼ PPP
   ߵ tkPPP script ػӰ¡Ϊ script ִ
   ifconfig ʱõȦ (loops)ᴥ kerneld Ѱ net-pf-X ģ
   ǰϵͳͿܵϵͳ¼ (system log) гִ
   "Cannot locate module for net-pf-X" ѶϢ˲ʹ tkPPP 
   ߣδ
   
  kerneld ҵ SCSI ʽ
  
    /etc/conf.modules мһ SCSI Ŀ⿴֮ǰй
   [35]scsi_hostadapter Ĳ֡
   
  modprobe Ͷ 'gcc2_compiled' δ (undefined)
  
    module-utilities һֻʹ binutils 2.6.0.9 °
   ʱ֣ binutils ĳ˵ (release note) ˵Ӧ
   ÿҲɸ module-utilities modules-2.0.0 ⡣
   
  ҵʽ (sound driver) ֮趨
  
   ģ趨Ǵģ֮ڵġԣ kerneld Զжģʱ
   趨ᱻ´ʱֻظԭ״
   
   ʹ kerneld Զģִһʽ趨ο[36]
   й 'post-install' ĿĲ֡
   
  DOSEMU ҪһЩģ飬ʹ kerneld ǣ
  
   㲻ܡǹٷ (official) 򿪷 (development)  dosemu֧
   Ԯ kerneld  dosemu ģ顣 2.0.26 µĺģ㲻
   ҪЩ dosemu ģ -- ֻҪ dosemu  0.66.1 档밴Ŀ
   ǰµ DOSEMU ȶ汾 (stable version)  0.66.7
   
  Ϊλ "Ouch, kerneld timed out, message failed" ѶϢ
  
   Ķ kerneld Ҫʱ 1 ֮ڵõӦ
   (acknowledgement) kerneld ӦѶϢᱻ¼
   (logged)ҪٱֱΪֹ
   
   ͨϵͳ (load) ǳʱΪ kerneld Ҳһʹг
   (user-process)ų (scheduling)ɸʱ
   ںĳʱ (time out) ǰӦ
   
   ڸɵʱҲ kerneld ɱ kerneld г̣
   /usr/sbin/kerneldָ¿ʼ⣬Ӧüһݴ󱨸
   [37]linux-kernel@vger.rutgers.eduڼĳǰȷĺĺ
   kerneld µġ
   
  mount ȴ kerneld 뵵ϵͳģ
  
   ѾյһĿй mount (8) ָȴ kerneld 뵵ϵͳģı
   档 ismod ʾģѱ룬ִ mount Ļɹ
    module-utilities 1.3.69f һӰ Debian ʹߵĴʹ
   һ° module-utilities ɽ⡣
   
  kerneld  ncpfs ģ
  
    ncpfs utilities ʱҪ -DHAVE_KERNELD ncpfs  Makefile
   
   
  kerneld  smbfs ģ
  
   ʹһɵ smbmount utilities
   [38]ftp://tsx-11.mit.edu/pub/linux/filesystems/smbfs/ °汾
   (0.10 ֮)
   
  Ұжģ飬ҵϵͳ
  
  kerneld ϵͳ (root filesystem) ģ顣
  
   㲻ɰжģúҪ㹻ʽʹܹ
   (mount) ϵͳִҪ kerneld ĳʽ㲻ܰ
   ¶ģ黯
   
     * ϵͳڵӲʽ
     * ϵͳʽ
     * init, kerneldʽĶԪʽʽ (binary format loader)
       
   [ʵϣⲢȷµ 1.3.x  2.0.x Ķ LILO 
   LOADLIN ʼ ram-disk⡺ŵģ
   ںԭʽе Documentation/initrd.txt пҵ]
   
  kerneld ʱ -- Ͷ libgdbm
  
   ° kerneld Ҫ GNU dbm ʽ libgdbm.so ִСİװ
   ʽ⵵ /usr/libڹ /usr ϵͳǰִ
   kerneldһ֢״ kerneld ʱܼ rc-scripts 
   ϵͳԼʼû⡣һǰ
   kerneld ڹ /usr ᣬһǰ gdbm ʽŵĸϵͳ
    /lib
   
  趨û xxx ֧Ԯ "Cannot load module xxx"
  
   SlackwareҲܣڰװʱִ modprobe һԤ
   /etc/rc.d/rc.modulesmodprode óĽԭĺĵ趨졣
   趨ʱųһЩ rc.modules ģ飬ɴɰ
    rc.modules вõģΪע (comment out)ɾ rc.modules
   kerneld Ҫģʱ롣
   
  ½˺ļģ飬ʱԳδֱķ (unresolved symbol) ѶϢ
  
   趨ºʱųһЩģ飬Ѳõľģ
   /lib/modules Ŀ¼¡򵥵Ľɾ /lib/modules/x.y.z Ŀ¼
   ںĵԴʽĿ¼һ 'make modules_install'ֻ
   趨ͬһ汾ĺʱڸºʱ⣬⡣
   
  Ұװ Linux 2.1 ᲻κģ
  
   Linux 2.1 ĿǰĿ (development kernel)Ҳ˵ʱܳ
   ִһıģĴĺģ뵽ʲط
   Richard Henderson ĵģ鷢չ
   
   ܽһ䣬 2.1 ʹģ飬Ҫ
   
     * Ķ Documentation/Changes ҳϵͳģ
     * ʹµ modutilsɴµط
       [39]ftp://ftp.redhat.com/pub/alphabits/ 
       [40]ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/ ӳվ
       (mirror site)
       
    2.1 ʹģĻһὨʹ 2.1.29 ĺġ
   
  ѡ (dial-on-demand) 
  
   kerneld ҪʱԭЩ֧ԮûʱѶϢ
   (packet) ʹ kerneld ִ /sbin/request_route  PPP 
   SLIP ߡ
   
   Ⲣһ÷Linux 緢չԱ Alan Cox  Linux ĵ̳ͨ
   (Mailing List) 

  ·Ҫ (request-route) ĶǹʱԼõ [...]
  2.1.x Դʽʧ

   ҳĽ http://www.dna.lth.se/~erics/diald.html ȡ Eric Schenk
    [41]diald װװҪʹ·Ҫ kerneld
     _________________________________________________________________
   
ȨѶϢ

   This document is Copyright (c) Henrik Storner, 1996, 1997.
   
   Unless otherwise stated, Linux HOWTO documents are copyrighted by
   their respective authors. Linux HOWTO documents may be reproduced and
   distributed in whole or in part, in any medium physical or electronic,
   as long as this copyright notice is retained on all copies. Commercial
   redistribution is allowed and encouraged; however, the author would
   like to be notified of any such distributions.
   
   All translations, derivative works, or aggregate works incorporating
   any Linux HOWTO documents must be covered under this copyright notice.
   That is, you may not produce a derivative work from a HOWTO and impose
   additional restrictions on its distribution. Exceptions to these rules
   may be granted under certain conditions; please contact the Linux
   HOWTO coordinator at the address given below.
   
   In short, we wish to promote dissemination of this information through
   as many channels as possible. However, we do wish to retain copyright
   on the HOWTO documents, and would like to be notified of any plans to
   redistribute the HOWTOs.
   
   If you have questions, please contact Tim Bynum, the Linux HOWTO
   coordinator, at linux-howto@sunsite.unc.edu via email.

References

   1. mailto:storner@osiris.ping.dk
   2. mailto:a9504480@graduate.hku.hk
   3. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Introduction
   4. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Why
   5. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Where
   6. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Setup
   7. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Configuration
   8. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Spying
   9. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#Goodies
  10. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#CommonProblems
  11. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/kerneld-mini-HOWTO.html
  12. http://www.linux.org.tw/CLDP/mini/Kerneld.html
  13. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/kern.html
  14. mailto:bj0rn@blox.se
  15. ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0
  16. ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0
  17. ftp://ftp.funet.fi/pub/OS/Linux/PEOPLE/Linus/v2.0
  18. ftp://sunsite.unc.edu/pub/Linux/kernel/modules-2.0.0.tar.gz
  19. ftp://tsx-11.mit.edu/pub/linux/sources/sbin/
  20. ftp://ftp.funet.fi/pub/OS/Linux/tools/
  21. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#2-1-problems
  22. http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html
  23. http://www.linux.org.tw/CLDP/Kernel-HOWTO.html
  24. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#blockdev
  25. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#chardev
  26. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#binfmt
  27. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#ldisc
  28. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#fs
  29. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#eth0
  30. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#net-pf
  31. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#CommonProblems
  32. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#miscdevs
  33. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#scsidevs
  34. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#pre_post
  35. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#scsidevs
  36. file://localhost/ftp/pub/CLDP/howto-translations/gb/mini/html/Kerneld.html#pre_post
  37. mailto:linux-kernel@vger.rutgers.edu
  38. ftp://tsx-11.mit.edu/pub/linux/filesystems/smbfs/
  39. ftp://ftp.redhat.com/pub/alphabits/
  40. ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/
  41. http://www.dna.lth.se/~erics/diald.html
