  Ext-Rootfs-mini-HOWTO
  ܂݂Ђ (isle@st.rim.or.jp)
  v0.4, 1997/05/14

  ̕ł́ANotePC ȑΏۂɁAinitrd gĊOt SCSI fBX
  N NFS }EgfBNgɃ[gt@CVXe
  Linux N@ 1  FD ɍŏ Linux VXeg݂ޕ@
  ܂B

  1.  ͂߂

  Note PC ł HDD ̗eʂ̖ŁA HDD  Windows95 c܂܁A
  Ot SCSI fBXN Linux CXg[AƂ󋵂悭
  ܂BALinux ŊOt SCSI fBXNg߂ɂ pcmcia-
  cs KvŁÂ߂ɂ Linux NȂ΂ȂȂAƂu{
  vIȖ肪܂B

  ALinux 2.0 ̃V[Yɍ̗pꂽ initrd Ƃ@\𗘗p
  ΁A initrd ŋN pcmcia-cs g悤ɂAOt SCSI HDD 
  [gt@CVXeɂċNAƂƂł悤ɂȂ܂
  BlɁALAN J[hg NFS fBNgɃ[gt@CVXe
  uƂ\łB

  ̕ł́Ainitrd gĊOt SCSI HDD  NFS }EgfB
  NgɃ[gt@CVXeu Linux N@ɂĐ
  ܂B

  2.  initrd Ƃ́H

  Linux 2.0 ł̓Ƀt@CVXe ramdisk t@C
  t@CVXeƂă}Eg loopback t@CVXeT|[g
  At@CVXe߂ď_ɎgƂł悤ɂȂĂ
  B initrd ͂ 2 ̃JjYg݂킹悤Ȃ̂ŁAN
  Ƀt@CƂėpӂt@CVXe ramdisk ɓWJAb
  Iȃ[gt@CVXeƂăJ[l𗧂AKvȏ
  ۂ̃[gt@CVXeă}EgAƂ 2 iPbg
  Iȃu[g\ɂ܂B

  ̋@\gāAinitrd  pcmcia-cs uĂ΁Ainitrd ŋN
  Ԃ PC J[hgpł悤ɂȂ܂BāA[gt@C
  VXeOt HDD  NFS T[oɒuƁA HDD ɂ Linux p[
  eBVuKv͂ȂȂAWin95 ̃fBXN̕Ћ loadlin.ext
  ƃJ[lC[WAk initrd t@CuĂ Linux
  g悤ɂȂ܂B(FD ɓΓ HDD ɂ͈؃t@Cu
  KvȂȂ܂)

  eʂ̖œ HDD ɂ Linux CXg[łȂlANote PC 
  ̃fBXgr[V(Slackware, Red Hat, Debian)؂ւ
  gĂ݂lɂ͕֗ȋ@\ł傤BĂ܂ MO  PD Ƃ
  fBA[gp[eBVɂċN邱Ƃ(͂x
  Ȃł傤)ł͂łB

  AOt SCSI HDD  NFS fBNg[gp[eBVɂ
  ꍇAR̂Ƃłgp PC J[h𔲂Ƃ͂ł܂̂ŁA
  note PC ̖ł͑傫Ȃ܂B

  3.  Ot HDD [gt@CVXeɂ

  Ot HDD Ƀ[gt@CVXeu@܂B

  ܂AWin95 ̍ڂ Note PC  pcmcia-cs ŃT|[gĂ SCSI J
  [hAOt HDD hCuAڑ邽߂ SCSI P[uA^
  [~l[^pӂ܂BLinux ̃CXg[ɂ CD-ROM g߁A
  CD-ROM hCuł傤B茳ł͈ȉ̂悤ȍ\Ŏ
  Ă܂B

  o  Note PC         : Toshiba 610CT

  o  CD-ROM hCu : Panasonic KXL-D740 4X CD-ROM

  o  SCSI J[h     : Lɕt̃J[h(Qlogic OEM)

  o  LAN J[h      : Accton EN2212

  o  Ot SCSI HDD : iomega jaz 1GB

  CXg[Ɏg Linux ̃fBXgr[V̓gbṕuLinux
  v CD-ROM(Slackware 3.1)gƂɂ܂B

  initrd ̓fBXgr[VɈˑ@\ł͂Ȃ̂ŁARed Hat 
  Debian gĂl̂Ƃ͎\Ǝv܂AM҂ Slackware
  3.1 łĂ܂B

  1. ܂AWindows 95 N CD-ROM hCuVXeɔF
     B̕ Linux Ƃ͊֌WȂ̂ŁAWindows 95 ̃}jA
     CD-ROM hCũ}jAǂłB

  2. uLinux v CD-ROM ɓĂ pxmciax.gz  mount ͈ȉ̍
     ƂɕKv loopback foCX̃}EgT|[gĂȂ̂ŁA
     http://www.st.rim.or.jp/~isle/pcmciax2.gz
     <http://www.st.rim.or.jp/~isle/Linux/pcmciax2.gz> _E[h
     ܂B

  3. uLinux v 1 ڂ CD-ROM A
     (D:\)install\notepc\tools\loadlin\loadlin.exe
     (D:\)kernels\aha1542.s\zImage  Windows95 ̗̈ɃRs[
     BLinux p̃fBNgĂɓĂ̂ł
     Bȉł͂̃t@C C:\linux ɒuĂ̂Ƃ܂B
     Ń_E[h pcmciax2.gz fBNgɈڂĂ
     B

  4. Win95 ċNāA"Starting Windows95" ̃bZ[Wo
      F8 L[Aグ[h̑Iʂo܂B6 
     "Command Prompt Only" IсAR}hvvgʂŋN܂B

     Linux u[gہA{ꃂ[hł͉ʂ\ȂȂ̂ŁA
     "us" R}hsāAYꂸɉpꃂ[hɐ؂ւĂ܂
     B

  5. cd linux Aloadlin g Linux N܂B̎A
     pcmciax.gz  initrd Ɏw肵A[gt@CVXe initrd W
     Jč쐬 ramdisk(/dev/ram0) w肵܂B

     ___________________________________________________________________
         c:\linux > loadlin zimage initrd=pcmciax2.gz root=/dev/ram0
     ___________________________________________________________________

  6. pcmciax2.gz ɂ pcmcia-2.8.22 ̋@\g݂܂Ă̂ŁAT
     |[gĂ SCSI J[h͂̂܂ܔFł͂łBڑ
      CD-ROM Ot HDD ƔFĂ邩mFĂ
     B

       pcmciax2.gz ɂ̓lbg[NJ[hg NFS oRŃCX
       g[A EasyHardAPLIPA SLIP oRłCXg[
  悤ɃW[pӂĂ܂̂ŁAq}ƍ̂l
  ͎Ă݂Ă()B

  7. Slackware ̃CXg[Ƃ̂̂́uLinux vɏڂ
     Ă̂ŏȗ܂BOt HDD ΏۂɁACD-ROM CXg[
     悤Ɏw肷΁Ǎ̐ݒ́uLinux v̋Lqɉ
     iނ͂łBA lilo g킸 loadlin.exe ŋN܂
     ̂ŁAŌ lilo ̃CXg[͔̕΂āA HDD  lilo
     CXg[Ȃ悤ɂĂ܂B

  8. Slackware ̃CXg[IAċNO pcmciax2.gz 
     ׍HāAinitrd }Eg_ňxvvgo悤
     ɂĂ܂B

     pcmciax2.gz Cɂ́Ãt@C loopback t@CVXe
     gă}EgȂ΂Ȃ܂Binitrd ɂ͈kt@C
     IɓWJ@\܂Aloopback t@CVXeɂ͎W
     J@\Ȃ̂ŁAx pcmciax2.gz WJKv܂B

     pcmciax2.gz WJ邽߂ɁA܂ /dos ̂悤ȃfBNg
     A Windows95 ̃fBXN̈}EgAgunzip 
     pcmciax2.gz WJ܂B

     ___________________________________________________________________
         # mkdir /dos
         # mount -t msdos /dev/hda1 /dos
         # gunzip < /dos/linux/pcmciax2.gz > /dos/linux/pcmciax2
     ___________________________________________________________________

  pcmciax2 ɍ׍H邽߂ɁApcmciax2 }Eg邽߂̃fBNg
  (/workdir)Amount  -o loop IvVw肵 pcmciax2 t@
  Ct@CVXeƂă}Eg܂B

  ______________________________________________________________________
      # mkdir /workdir
      # /mnt/bin/mount /dos/linux/pcmciax2 /workdir -o loop
      # ls /workdir
      bin/     cdrom@   etc/     lib/     proc/    sbin/    usr/
      boot/    dev/     floppy/  mnt/     root/    tmp/     var/
  ______________________________________________________________________

  initrd ł́Ainitrd  linuxrc Ƃt@C΂܂N
  邱ƂɂȂĂ܂Bł linuxrc  bin/sh ɃV{bNb
  NĂ΁Ainitrd NԂ sh gđΘbIɊe̐ݒ
  sƂ\ɂȂ܂B

  ______________________________________________________________________
      # ln -s bin/sh linuxrc
      # ls -l /workdir/linuxrc
      lrwxrwxrwx 1 root root 6 Jan 4 14:39 /workdir/linuxrc -> bin/sh*
  ______________________________________________________________________

  Aۂ̃[gt@CVXeɂȂp[eBV /initrd
  ƂfBNgĂ܂Binitrd oRŋNAۂ̃
  [gt@CVXeɂȂp[eBV /initrd ƂfBNg
  ƁAinitrd Ŏgbł̃[gt@CVXe͂̃fBN
  gɈڂĕۑ܂B

  ______________________________________________________________________
      # mkdir /workdir/initrd
  ______________________________________________________________________

  ŃCXg[ƂI܂BVXeċNāAēx Win95
  R}hvvg[hŋN܂B

  9. ̓[gt@CVXeΘbIɐݒ肵̂ loadlin.exe 
     ȉ̂悤 root= IvV͎w肹ɋN܂Binitrd ̎w
     C pcmciax2 ɂĂ邱ƂɌ䒍ӂB

     ___________________________________________________________________
         c:\linux\> loadlin zimage initrd=pcmciax2
     ___________________________________________________________________

  10.
     ̏ԂŋNƁAJ[lWJAinitrd ɂ linuxrc
     sAvvgoĎ~܂܂(linuxrc  sh ւ̃V{bN
     NȂ̂ŁAۂɂ sh Ă܂)B̏Ԃł͂܂ pcmcia-
     cs ĂȂ̂ŁA܂ /etc/rc s pcmcia-cs g
     ɂ܂B

     ___________________________________________________________________
      # /etc/rc
     ___________________________________________________________________

  /etc/rc  /rc/rc.d/rc.pcmcia sƁA pcmcia-cs @\悤
  ɂȂASCSI J[h₻ɐڑꂽOfoCXF悤ɂ
  ܂BFĂ邩A\郁bZ[WmFĂB

  11.
     Ƀ[gt@CVXeOt SCSI fBXNɕύX܂B
     initrd gĂꍇAproc t@CVXe
     /proc/sys/kernel/real-root-dev Ƃt@CɃ[gt@CVXe
     ̃foCXԍłƁAinitrd IہÃfoC
     X[gt@CVXeƂă}Eg܂B

     [gt@CVXẽfoCXԍ /dev/xxx t@C ls -l 
     Ε\܂BႦ΁AOt 1 ߂ SCSI HDD ̃p[eBV
      1 [gt@CVXeɂꍇA

     ___________________________________________________________________
         # ls -l /dev/sda1
         brw-r-----   1 root    disk   8,   1 Apr 29  1995 /dev/sda1
     ___________________________________________________________________

  Ȃ̂ŁA/dev/sda1 ̃foCXԍ major  8Aminor  1 łB̏
  A"0x801"  /proc/sys/kernel/real-root-dev ɏ݂܂B

  ______________________________________________________________________
      # echo "0x801" > /proc/sys/kernel/real-root-dev
  ______________________________________________________________________

  lɊOt 2 ߂ SCSI HDD Ŝ[gt@CVXeɂ
  A

  ______________________________________________________________________
      # ls -l /dev/sdb1
      brw-r-----   1 root    disk   8,   17 Apr 29  1995 /dev/sda1
  ______________________________________________________________________

  Ȃ̂ŁA"0x811"  /proc/sys/kernel/real-root-dev ɏ݂܂B2 
  ڂ IDE hCu 2 ڂ̃p[eBVȂ΁A

  ______________________________________________________________________
      # ls -l /dev/hdb2
      brw-r-----   1 root    disk   3,  66 Apr 28  1995 /dev/hdb2
  ______________________________________________________________________

  Ȃ̂ "0x342" ݂܂B

  ls -l /dev/xxx ŕ\foCXԍ 10 i\LłAecho
  "0xaaa" ŏޏꍇ 16 i\LɂȂĂ邱ƂɌ䒍ӂB

  12.
     ۂ̃[gt@CVXe̐ݒ肪I exit ͂
     Actrl-D  linuxrc(̂ sh)I܂BƁA
     /proc/sys/kernel-real-root-dev ɐݒ肵[gt@CVXeV
     [gt@CVXeɂăVXeN͂łB

  13.
     SlackwareɕW̋NpXNvg /etc/rc.d/rc.S ͒ʏ desktop
     OɂĂ̂ nfsroot ŎgpƂ낢Ɩ肪
     B̓Iɂǂ΂݂͌s뒆łAnfsroot 
     fsck ̂̓wȂ̂ŁAfsck Ă͑SRgAEgāA
     KvȃR}h𓮂ĂƂ낾ɂĂ悤Ɏv܂B

  14.
     V[gt@CVXeŋNƁAÂ[gt@CVXe
      /initrd ȉɈڂ read only Ń}EgĂ܂Binitrd
     iKœĂẽvZX͂̃fBNg̓[gt@C
     VXê܂܂Ɍ̂ŁAႦ cardmgr ̌ /var/run/stab
      /initrd/var/run/stab ɂȂ܂B

     pcmcia-cs ł /var/run/stab Ɍݑ}ĂJ[h̏Ԃ
     ŊĎĂ܂A/var/run/stab  /initrdȉ read only
     t@CVXe (/initrd/var/run/stab)ɈړƁAJ[h}
     ̏̍XVs\ɂȂ܂B̂߁AU cardmgr I
     ĂċNAcardmgr ݂ /var/run/stab QƂ悤
     ܂B

     ___________________________________________________________________
         # killall cardmgr
         # /sbin/cardmgr
     ___________________________________________________________________

  ̂߂ɂ́Ainitrd ɑg݂ pcmcia-cs ƃ[gt@CVXe
   pcmcia-cs ̃o[Wݒ肪ɂȂĂKv܂B

  pcmcia-cs  initrd iKőg݂ pcmcia_core.o  i82365.oAds.o
   3 ̃W[͊Ot SCSI HDD [gt@CVXeɂĂ
  gpȂ̂Ŏ菜Ƃ͂ł܂B̂ߍċN̍ۂɂ
  "device busy" ̃G[bZ[Wo܂AɋCɂKv
  ͂܂(ƎvAA)B

  15.
     ċN cardmgr ͒ʏ /var/run/stab ȂJ[h̊Ď
     s߁AVJ[h}ĂFł͂łBPC J[h
     F邩AJ[h𔲂}ĎĂ݂ĂBA
     Ot SCSI [gt@CVXeɂĂꍇASCSI J[h
     ƊmɃnOAbv܂̂Ō䒍ӂB

  4.  NFS }EgfBNgɃ[gt@CVXeu

  initrd g pcmcia-cs oR LAN J[hgANFS }Eg
  fBNgɃ[gt@CVXeu diskless Linux \
  Ƃ\łB

  NFS }EgfBNgɃ[gt@CVXeu(NFS root)
  AJ[l̍\zɁANFS IvV NFS root IvVɎw
  Kv܂BSlackware ɕt̃J[lɂ NFS root IvV
  ͎w肳ĂȂ̂ŁANFS root gꍇɂ̓J[lč\zK
  v܂BJ[lč\zۂɎw肷ׂIvV ``up
  ̃VXev''߂ŉ܂B

  NFS root 𗘗pꍇANFS T[oƂȂ}VɕKvȃ[gt@C
  VXepӂKv܂B̂߂̕@ɂĂ
  /usr/src/linux/Documentation/nfsroot.txt  nfs-root-mini-HOWTO Q
  ĂB

  ܂ANFS T[oƂȂ}VŃ[gt@CVXe export ۂ
  ̓IvVƂ /etc/exports t@C no_root_squash IvV
  w肵A[g NFS fBNgɃANZXł悤ɂĂ
  ܂B

  ______________________________________________________________________
  /var/nfsroot    cyclone.rider.co.jp(rw,no_root_squash)
  ______________________________________________________________________

  NFS T[oƂȂ}Ṽ[gt@CVXêfBNg(L
  ̗ł /var/nfsroot)ɂ /etc/fstab  NFS }EgpɏCĂ
  Kv܂B

  ______________________________________________________________________
  172.16.1.1:/var/nfsroot  /    nfs   rw,rsize=8192,wsize=8192,intr
  ______________________________________________________________________

  J[l NFS root IvVw肵čč\zAinitrd ŋN
  ƁA /proc/sys/kernel/nfs-root-name  /proc/sys/kernel/nfs-root-addrs
  Ƃt@Cɏ߂悤ɂȂ܂BO(nfs-root-name)ɂ̓T[
  o}Vł NFS root ̃fBNgA(nfs-root-addrs)ɂ̓T[o
  [}VANCAg}Vꂼ IP AhXw肵܂B
  /proc/sys/kernel/real-root-dev ɂ 0xff(255) w肵Ă܂B
  Ⴆ΁AT[o}V(hurricane.rider.co.jp) IP AhX
  172.16.1.1ANCAg}V(cyclone.rider.co.jp) IP AhX
  172.16.1.2Albg}XN 255.255.255.0 ̏ꍇAinitrd ŋNāA
  lbg[NJ[hg邱ƂmFĂA

  ______________________________________________________________________
  # echo "/var/nfsroot" > /proc/sys/kernel/nfs-root-name
  # echo "172.16.1.2:172.16.1.1::255.255.255.0:cyclone  \
           > /proc/sys/kernel/nfs-root-addrs
  # echo 255 > /proc/sys/kernel/real-root-dev
  ______________________________________________________________________

  Ə݁Alinuxrc I΁Ahurricane  /var/nfsroot  NFS
  root ɂăVXeN܂B

  /proc/sys/kernel/nfs-root-addrsɏޏ nfsroot.txt ɂ悤
  ɁA <client-ip>:<server-ip>:<gw-
  ip>:<netmask>:<hostname>:<device>:<autoconf> Ƃ`ŁAȗ
  ɂ̓ftHglg܂B

       Slackware W /etc/rc.S ł̓[gt@CVXe
        read-only Ń}Eg fsck ܂ANFS root ̏
       A[gt@CVXe͂炩߃}EgĂ
       ŁA̎|G[bZ[W\܂Av
       ł(܂gĂȂ̂ŎM܂B҂̌ӌ
       ĂB)

  ̏Ȃ}V swap ̈ NFS ɎKvꍇA NFS
  swap patch
  <http://sunsite.unc.edu/pub/Linux/Incoming/etherboot-3.0b1.tar.gz> 
  ĂāAJ[lč\zĂB

  5.  p̃VXeɂ

  pcmciax.gz  Slackware 3.1 ̃J[lƑg݂킹Ďg悤 pcmcia-
  cs  2.0.0 ̃J[lpɃRpCĂ܂̂ŁAJ[lo[W
  Abvۂɂ pcmcia-cs ăRpCKvłB

  initrd oRŋNĂꍇApcmcia-cs  initrd ŋNt@C
  VXe̒ɒuȂ΂ȂȂ̂ŁAVXeo[WAbv
  ۂɂ͑̒ӂKvɂȂ܂B

  5.1.  J[l̍č\z

  J[l̍č\zɂ ȉ̍ڂɒӂĐݒ肵ĂB
  ÕIvV͂g̊ɍ킹Đݒ肵܂B

  o  "Loadable modules support"  "Enable loadable module support" 
     "Kernel daemon support" ݒB

  o  "General Setup"  "Kernel Support for a.out binaries"  "Kernel
     Support for ELF binaries" ݒ(W[ł̓_)B

  o  "Floppy, IDE, and other block devices"  "Loopback device support"
     A"RAM disk support"  "Initial RAM disk(initrd) support" ݒB
  o  "SCSI support"  "SCSI support"A"SCSI disk support" ݒB"SCSI
     tape support", "SCSI CD-ROM support", "SCSI generic support" ͐ݒ
     ĂW[łBK{ł͂܂ "Probe all LUNs on
     each SCSI device" Ôߐݒ肵Ă܂B

  o  NFS root gꍇ "File systems"  "NFS""NFS root"IvV
     ݒ肵܂B

  J[lRpCۂɂ make zlilo ł͂ȂAmake zImage 
  /usr/src/linux/arch/i386/boot/zImage ܂B zImage  DOS 
  ɃRs[āÃJ[lC[W loadlin.exe Ń[h悤
  ܂B

  ______________________________________________________________________
  # cp /usr/src/linux/arch/i386/booz/zImage /dos/linux/zimage.new
  ______________________________________________________________________

  J[l̃RpCI΁AW[ނYꂸRpCACXg
  [Ă܂(make modules; make modules_install)B

  ɋNƂ loadlin.exe  zimage.new w肵܂B

  5.2.  pcmcia-cs ̍č\z

  pcmcia-cs ̓[gt@CVXe initrd ̑oɃCXg[Ă
  Kv܂Bpcmciax2 [vobNŃ}Eg
  /sbin/{cardmgr, cardctl}  /lib/modules/2.0.x/pcmcia ȉւ
  ̂̕@łȀꍇApcmciax ɂ libc-4.7.6 Ă
  ƂɒӂĂBȂ킿AR}hł
  /sbin/{cardmgr,cardctl} RpCꍇ a.out `ŃRpC
  Kv܂B

  ̂߂ɂ́Apcmcia-cs ʏ make ŃRpCĂAcardmgr
  fBNgɈڂAMakefile  CC = /usr/i486-linuxaout/bin/gcc 
   make clean; make ܂B̃R}h a.out `ł
  RpCłȂm܂B

  ̕@́A ELF `̃R}hW߂V initrd pӂ
  ƂłBV initrd ɂ́A܂ ramdisk Ƀt@CVXe
  ĕKvȃt@CW߁At@CɏôȒPł
  Bȉɂ̂߂̈̎菇qׂ܂B

  1. ramdisk  4M قǂ ext2 ̃t@CVXe\zB

     ___________________________________________________________________
     # mke2fs /dev/ram0 4000
     ___________________________________________________________________

  initrd oRŋNVXȅꍇA/dev/ram0 ͎gp̏ꍇ
  ̂ŁA̍ۂ /dev/ram1 gĂB

  2. ramdisk KȃfBNgɃ}EgBqi^Ɏg
     ɁApcmciax2 ʂ̃fBNgɃ}EgA pcmciax Ɠ
     t@C /workdir ȉɃRs[܂B

     ___________________________________________________________________
     # mount -t ext2 /dev/ram0 /workdir
     # mount /dos/linux/pcmciax /refdir -o loop,ro
     # cd /refdir; tar cvf - * | (cd /workdir; tar xf -)
     ___________________________________________________________________

  3.  ̎_ /workdir ȉ pcmciax2 Ɠt@C\ɂȂĂ
     ̂ŁA a.out `̃CuR}hނ ELF `̂̂ɓꂩ
     ܂B͖̂ʓ|łAƂł邵Ȃ悤łB

  4. pcmcia-cs  /workdir ȉɃCXg[܂Bpcmcia-cs ̃fB
     Ngmake configƐݒɊւ鎿₪\܂̂ŁA
     "Alternate target install directory"  /workdir w肵܂B

     ___________________________________________________________________
      # make config

       Linux PCMCIA Configuration Script
       The default responses for each question are correct for most users.
       Consult the PCMCIA-HOWTO for additional info about each option.

       Linux source directory [/usr/src/linux]:
       Alternate target install directory [/]: /workdir
       /workdir
       C compiler name [gcc]:
       ......
     ___________________________________________________________________

  ̏Ԃ make all  make install  /workdir/etc/pcmcia 
  /workdir/lib/modules/`uname -r`/pcmcia ɕKvȃW[CXg[
  ܂BA/workdir/usr/man ȉ pcmcia-cs ̃}jAނ
  CXg[Ă܂̂ŕsvȂ΍폜ĂB

  initrd ȊOɁANɎsۂ̃[gt@CVXeɂ pcm-
  cia-cs ̓CXg[ĂKv܂B̂߂ɂ́A pcmcia-cs
  ēx "Alternate target install directory : / " ɐݒ肵ăCXg[
  Ă܂傤B

  5.  /dev/ram0 ɍ쐬t@CVXeʏ̃t@CɗƂ܂B

     ___________________________________________________________________
     # umount /workdir
     # dd if=/dev/ram0 of=initrd bs=1k count=4000
     ___________________________________________________________________

  6. ŐV initrd ł܂Bmount initrd /workdir -o loop 
     āAt@CVXeƂĔFł邩mFĂ܂
     B

  7. V initrd  DOS ANZXł̈ɃRs[܂B
     initrd ͈kĂƂ\łB

     ___________________________________________________________________
     # cp initrd /dos/linux
     # gzip /dos/linux/initrd
     ___________________________________________________________________

  8. VJ[l initrd ̑gݍ킹ōċN܂B

  茳Ŏ삵 initrd  http://www.st.rim.or.jp/~isle/Linux/initrd.gz
  ɗpӂ܂B initrd ɂ́AΘbIɊOt SCSI [gt@C
  VXeɂA NFS root w肵肷 dialog tĂ܂
  ŁÂ͂B initrd ɑg݂ł pcmcia-
  cs  2.8.23 ŃJ[l 2.0.27 pɃRpCĂ܂B

  6.  all-in-one package ̍

  Slackwareł͐FXȃfoCXhCog݂񂾃J[lpӂt@
  CVXe(u[gfCXN)ƃCXg[p̃t@CVXe([g
  fBXN) 2 gŃCXg[܂B܂A[gt@CVXeɃg
  uꍇȂǂɔp̃c[ꎮg݂񂾃[gt@C
  VXe(XL[fBXN)pӂĂ܂B

  A2 ̃fBXNKvȏꍇA}[tB̖@̓T^ƂāAKv
  ȏꍇɂ͂ǂ炩̃fBXNȂȂ̂(PɎɐ\͂
  ߂낤ǁAA)A 2 ̃f[^ 1 ̃tbs[
  l߂ł܂Ȃ܂B{߂ł 1  FD  Linux NA
  ŏ̃VXe\z@(all-in-one package)ɂĐ
  ܂B

  all-in-one package @ƂẮAʏ ramdisk g@
  initrd g@ 2 ܂Bramdisk gꍇɂ͂ lilo
  oR@ƌoRȂ@܂B̕@ɐ
  B

  6.1.  lilo oR ramdisk g@

  ramdisk gꍇANp̃t@CVXe FD ̋󂢂Ă
  镔 ramdisk ɑg݂ނ߂̃[gt@CVXẽC[W
  ނƂɂȂ܂B̂߂ɂ [gt@CVXekC
  [W /dev/fd0 ɏލۂɁAdd  seek IvVgău[g
  t@CVXe̕ɂ炵ĂKv܂B

  ̕@̗_ lilo oRŋN邽߂ɃJ[lɃR}hCIv
  Vw肵A̐ݒ؂肩Ďg邱ƂłBA_
  Ă mount ăfBXN̒gmFۂ root fs ̕e\
  ꂸAroot fs ƂĉĂ邩mFɂ͋NĂ݂邵
  ȂƂ܂B

  ł Slackware 3.1 ɕt AHA-1542 phCog݂񂾃J[l
   rescue disk ̃C[W(rescue.gz)ŁAp root/boot
  tbs[Ă݂܂B

  1. AHA-1542 p̋NpfBXNC[W dd gătbs[fBXN
     ɏ܂B

     ___________________________________________________________________
     # dd if=/cdrom/slackware/bootdsks.144/aha1542.s of=/dev/fd0 bs=1k
     556+0 records in
     556+0 records out
     ___________________________________________________________________

  rescue disk ̃C[W boot disk ̃C[W̌ɏ݂
  ߁A "bs=1k" IvVw肵āAboot disk ̃C[Wtbs[
  ǂ܂ł߂邩mFĂ܂B̗ł 1 ubN 1k Ƃ
  556 ubN܂Ő߂Ă܂B

  2. recue disk ̃[gt@CVXeC[Wtbs[ɒǉB

     dd  seek IvVgău[gfBXÑC[WƏdȂȂ
      560 ubNȍ~ rescue disk ̃C[W(rescue.gz)ǋL
     B

     ___________________________________________________________________
     # dd if=/cdrom/slackware/rootdsks/rescue.gz of=/dev/fd0 bs=1k seek=560
     529+1 records in
     529+1 records out
     ___________________________________________________________________

   1  FD Ƀu[gp̃t@CVXeƃ[gp̃t@CVX
  e܂B

  3. boot disk  /etc/lilo.conf ̏C

     ɁAN ramdisk ǂ݂ނ悤 boot disk  /etc/lilo.conf
     C܂B̂߂ɂ /dev/fd0 ǂKȃfBNg
     mount Kv܂Bȉł /workdir Ƀ}EgĂ܂B

     ___________________________________________________________________
     # mount /dev/fd0 /workdir
     # df
     Filesystem         1024-blocks  Used Available Capacity Mounted on
     /dev/hda3             944303  747325   148191     83%   /
     /dev/hda1             308248  267832    40416     87%   /dos
     /dev/fd0                 539     490       49     91%   /workdir
     #
     ___________________________________________________________________

  ̕ō all-in-one fBXN}EgꍇAF̂
  ̂悤Ƀu[gfBXN̕łB

  ƂƂ lilo.conf ͂̂悤ɂȂĂ͂łB

  ______________________________________________________________________
  # cat /workdir/etc/lilo.conf
  boot = /dev/fd0
  message=/boot/message
  prompt
  image = /vmlinuz
          label = ramdisk
          ramdisk = 49152
          root = /dev/fd0u1440
          vga = normal
  image = /vmlinuz
  (㗪)
  #
  ______________________________________________________________________

   /workdir/etc/lilo.conf CāANɎI ramdisk 
  ݂ނ悤ɂ܂Bramdisk pɃJ[l̃R}hCƂĈȉ̂
  ȃp[^pӂĂ܂B

     o  ramdisk_start

        FD  ramdisk JnubNw肵܂B̗ł 560
        łB

     o  load_ramdisk

        ramdisk [h(1)Ȃ(0)̎włB 1 w
        āA ramdisk [h悤ɂ܂B

     o  ramdisk_prompt

        ramdisk [hۂɃvvgo(1)oȂ(0)̎w
        łB FD  2 gɂȂĂꍇ FD ꂩ邽߂Ƀv
        vgo܂Aall-in-one ̏ꍇ̓vvgoKv͂
        ̂ 0 w肵܂B

     o  ramdisk_size

        Kv ramdisk ̃TCYłBftHgł 4096k ɂȂĂA
        ̃TCY𒴂 ramdisk mۂꍇ⃁̏Ȃ}V
         ramdisk ̃TCY؂l߂ꍇɎw肵܂B͓
        w肷Kv͂܂B

  ȏ̂ƂA lilo.conf  "ramdisk_start=560 load_ramdisk=1
  prompt_ramdisk=1" Ƃwǉ΂Ƃ܂B̃I
  vV lilo.conf  "append = " Ƃ`ŋLq܂B

  ______________________________________________________________________
  boot = /dev/fd0
  message=/boot/message
  append="ramdisk_start=560 load_ramdisk=1 prompt_ramdisk=0"
  prompt
  image = /vmlinuz
          label = ramdisk
          root = /dev/fd0u1440
          vga = normal
  ______________________________________________________________________

  4. /sbin/lilo sāAMBR ̐ݒ

     lilo.conf CƁAx /sbin/lilo sāAݒ MBR
     ɔfKv܂Blilo  -r IvVŃfBNgw
     肷ƁÃfBNg chroot Ďs܂B̗ł
     /workdir  /dev/fd0 }EgĂ̂ŁA /workdir w肵
     /workdir/etc/lilo.conf ̐ݒ𔽉f悤 lilo s܂B

     ___________________________________________________________________
     # /sbin/lilo -r /workdir
     Added ramdisk *
     Added big2
     Added small2
     Added drive2
     Added mount
     #
     ___________________________________________________________________

   all-in-one  boot/rescue fBXNł܂BVXe FD
  痧āAI ramdisk [hArescue disk N
  ƂmFĂB

  6.2.  zdisk  ramdisk g@

  lilo gċNꍇAlilo ̏o boot: vvgɑ΂ĕKv
  IvVw肷邱Ƃł̂ŁA܂܂ȏ󋵂ɑΉ邱Ƃ
  ܂BA̕@ł́ANpɃt@CVXeKvƂȂAgp
  fBXNXy[X傫߂ɂȂ܂B

  ALinux  make zImage ō쐬J[lC[Wɂ FD 玩
  gN邽߂̃R[htĂ̂ŁAlilo ̃IvVw
  KvȂł lilo g킸ɒ FD J[lN邱
  Ƃ\łBA̋@\g ramdisk [h邽߂ɂ
  rdev ƂR}hgăJ[lgɃ[gt@CVXẽfo
  CX ramdisk ̈ʒuA ramdisk ̃[h̗LłKv
  ܂B

  ̕@̗_ boot disk Ƀt@CVXesvŃJ[lC[W
  𒼏΂ɂȂ̂ŁAFD ̎gpʂȂł邱ƂłB
  A_ƂẮAJ[lڋNĂ܂̂ŃR}hCIv
  VwłȂƂłB̂߂̕@ 1FD router 邱
  ͂ł܂([^ꍇA ethernet J[hFKv
  ̂ŁAJ[lIvVK{ł)

  ܂쐬tbs[̒gmF@Ȃ(ō /dev/fd0
  ̓t@CVXeƂă}Egł܂)Ƃ_ƌł
  B

  1. AHA-1542 p̃J[lC[W FD ɏށB

     O߂Ɠl AHA-1542 p̃hCog݂񂾃J[lg܂
     A񏑂ނ̂̓t@CVXeł͂ȂJ[lꎩgȂ
     ŁAKvȃt@C /cdrom/slackware/kernels/aha1542.s/zImage ɂ
     ܂B

     ___________________________________________________________________
     # dd if=/cdrom/slackware/kernels/aha1542.s/zImage of=/dev/fd0 bs=1k
     437+1 records in
     437+1 records out
     #
     ___________________________________________________________________

  t@CVXe񂾏ꍇA530 ubNKvłAJ[l
   440 ubNقǂōςł邱Ƃ܂B

  2. rescue disk ̃C[W FD ɒǉB

     J[l 440 ubN炢Ŏ܂Ă̂ŁArescue.gz  450
     ubNȍ~ɏ݂܂傤B

     ___________________________________________________________________
     # dd if=/cdrom/slackware/rootdsks/rescue.gz of=/dev/fd0 bs=1k seek=450
     529+1 records in
     529+1 records out
     #
     ___________________________________________________________________

  3. rdev ŃJ[lgɕKvȏݒ

     lilo ̏ꍇAJ[lɃR}hCp[^g ramdisk 
     ւݒs܂A lilo oRȂ̂ŃJ[lg
     ɕKvȃp[^ł܂Kv܂B̂߂Ɏg
     R}h rdev łB܂Ardev R}h /dev/fd0 ɂJ[l
     ̃[gfoCX /dev/fd0 ɏĂ܂B

     ___________________________________________________________________
     # rdev /dev/fd0 /dev/fd0
     ___________________________________________________________________

  rdev ł̓J[l 1 word(2 bytes)̗̈𒼐ڏւ邱Ƃ
  ramdisk ̃[h̗L ramdisk ̈ʒuύXł܂B

  rdev Ŏw肷 2 bytes ̂A 11 bit(0 bit -> 10 bit) 
  ramdisk ̈ʒuw肷邽߂Ɏg(1k Pʂ̃ItZbg)A14 bit
  ڂ ramdisk ̃[h̗LA15 bit ڂ ramdisk [hۂ̃v
  vg̗L̎włB

  ̗ł́Aramdisk [h(bit 14 on)Aramdisk [hۂ
  vvg͕sv(bit 15 off)Aramdisk ̃ItZbg 440 ubNɂ
  ܂̂ŁA

  2^15*0(prompt) + 2^14*1(ramdisk) + 440(offset) = 16824  rdev Őݒ
  ܂B rdev -R IvVgă[gt@CVXe r/w
  Ń}Eg悤ɐݒ肵܂B

  ______________________________________________________________________
  # rdev -r /dev/fd0 16384
  # rdev -R /dev/fd0 0
  ______________________________________________________________________

  ŁAڋNp boot/root tbs[ł܂BVXeċN
  āArescue disk @\邩mFĂB

  6.3.  initrd g@

  initrd g@̗_́A[h ramdisk ̂t@CVXe
  kt@CƂĒڎwł̂ŁAFD ̒ɌȂ̈悪Ȃ
  ƂłB̂悤ɐ\̖͂lԂɂ͂ǂ root fs C[W
  Ă̂mFĂNł邱̕ƂSł܂()B
  AFD Ŝ̎gpʂ̂ŁAƂǂꂭ炢̋@\g݂߂邩
  ۂɂ֗łB

  A̕@̌_ƂẮASlackware 3.1 ɕt̃J[lC[W
   initrd @\͑g݂܂ĂȂ̂ŁÂ߂̃J[l͎茳
  initrd @\gݍŃRpCȂ΂ȂȂƂłB܂A
  rescue.gz ̂܂܂ł initrd ƂĎgȂ߁A׍HĂ
  Kv܂B

  1. 茳ŃJ[l̃RpC

     KvȃIvVg݂ŃJ[lݒ肵Amake zImage Ă
     ܂BIvVIԍۂɁAramdisk @\ initrd @\͖YꂸɃJ
     [lɑg݂łB

     ramdisk @\̓W[ł܂AW[ł͂ȂJ[l
     g݂ޕKv܂B

  2. Np FD ̏

     ̕ł FD 1  1 ̃t@CVXeāA boot
     fs  initrd p̈kt@CVXeuƂɂȂ܂BFD
     Ƀt@CVXeۂ ext2fs  minix fs ɂe
     悭g܂B󋵂ɂĂ -i IvVg i-node 
     Ăm܂B

     ___________________________________________________________________
     # mkfs.minix /dev/fd0 1440
     480 inodes
     1440 blocks
     Firstdatazone=19 (19)
     Zonesize=1024
     Maxsize=268966912
     #
     ___________________________________________________________________

  3. FD ɕKvȃt@C̃Rs[

      FD NpɎgɂ /dev  /etc ȉ̃t@CKvł
     ASlackware ̃u[gfBXÑC[WRs[̂
     Pł傤B̂߂ /dev/fd0  /workdir
     ɁA/cdrom/slackware/bootdsk.144/aha1542.s  /mnt ɂꂼ}E
     gAtar gău[gfBXÑC[W FD ɃRs[܂

     ___________________________________________________________________
     # mount /dev/fd0 /workdir
     # mount /cdrom/slackware/bootdsk.144/aha1542.s /mnt -o loop
     # df
     Filesystem         1024-blocks  Used Available Capacity Mounted on
     /dev/hda3             944303  747372   148144     83%   /
     /dev/hda1             308248  267832    40416     87%   /dos
     /cdrom/slackware/bootdsk.144/aha1542.s
                              539     490       49     91%   /mnt
     /dev/fd0                1404       1     1403      0%   /workdir
     #
     # cd /mnt
     # tar cvf - * |(cd /workdir; tar xf -)
     # sync
     # df
     Filesystem         1024-blocks  Used Available Capacity Mounted on
     /dev/hda3             944303  747372   148144     83%   /
     /dev/hda1             308248  267832    40416     87%   /dos
     /cdrom/slackware/bootdsk.144/aha1542.s
                              539     490       49     91%   /mnt
     /dev/fd0                1404     490      914     35%   /workdir
     # ls -l /workdir
     total 446
     drwxr-xr-x   2 root     root          160 Jun 13  1996 boot
     drwxr-xr-x   2 root     root         3632 May 20  1996 dev
     drwxr-xr-x   2 root     root           48 May  8  1995 etc
     drwxr-xr-x   2 root     root           32 Mar 10  1993 proc
     -rw-r--r--   1 root     root       448013 Jun 13  1996 vmlinuz
     #
     ___________________________________________________________________

  ̎_ł /workdir/vmlinuz  initrd ̋@\g݂܂ĂȂJ[
  lȂ̂ŁA茳ŃRpC zImage(邢 bzImage) t@C
  vmlinuz ɒu܂B

  ______________________________________________________________________
  # cp /usr/src/linux/arch/i386/boot/zImage /workdir/vmlinuz
  ______________________________________________________________________

  4. initrd ̏

     initrd Ŏg߂ɂ rescue.gz  linuxrc Ƃt@CKv
     ܂(linuxrc ̎̂bin/sh ւ̃V{bNNō\܂
     )B̂߂ɂ͈x rescue.gz WJăt@CƂă}Eg
     Kv܂B

     ___________________________________________________________________
     # gunzip < /cdrom/slackware/rootdsks/rescue.gz > /tmp/rescue
     # mount /tmp/rescue /tmpmnt -o loop
     # cd /tmpmnt
     # ln -s bin/sh linuxrc
     # cd /
     # umount /tmpmnt
     # gzip -9 < /tmp/rescue > /workdir/rescue.gz
     ___________________________________________________________________

  5. /etc/lilo.conf ̐ݒ

     /workdir/etc/lilo.conf CāAinitrd Ƃ rescue.gz g
     ɂ܂Binitrd gꍇAlilo.conf  "initrd = filename" 
     IvVǉ܂B͂ɂĂ݂܂B

     ___________________________________________________________________
     boot = /dev/fd0
     message=/boot/message
     prompt
     image = /vmlinuz
             label = ramdisk
             initrd = /rescue.gz
             vga = normal
     ___________________________________________________________________

  lilo.conf ݒ肷΁Alilo ĎsāAύX_𔽉f܂B

  ______________________________________________________________________
  # /sbin/lilo -r /workdir
  Added ramdisk *
  #
  ______________________________________________________________________

   initrd g all-in-one disk ł܂BVXeċN
  Đ@\邩mFĂ݂ĂB̗ł ctrl-D  exit 
  linuxrc IOɁA{Ő@Ŏۂ̃[gt@C
  VXeݒ肵ĂKv邱ƂɌ䒍ӂB

  7.  ֘A

  ̕ۂɎQlɂ́A /usr/src/linux/DocumentationfB
  Ngɂ initrd.txt  nfsroot.txt Aramdisk.txtłBȊO
  Aloadlin16 distribution  docs/manuals.txt  initrd ɂĂ
  ALDP  HOWTO W̒ɂ nfs-root-mini-HOWTO ܂(M
  󂠂)B

  8.  

  initrd ͂ŎȊOɂ܂܂ȎgVXeƎv
  B낢p@v͂ЋĂB

  Ⴆ΁Apcmciax.gz  aha1542 p̃J[lꖇ FD ɋl߂
  all-in-one boot/root fBXN MO Ȃ CD-ROM ȂɃ[gt@CV
  Xe񂾂̂pӂ΁ASCSI @̂Ȃ NotePC 
  uy Linux }Vvɕϐg邱Ƃ\ł傤B܂ANFS 
  Ȃ FD 1 ́uy Diskless Linux }VvLbgƂ̂ʔ
  m܂B

   RedHat  Debian ł悤ȂƂ͂ł͂łARed Hat 
  ł́AVXeƂĂ̊xAς
  Ƃɂ͎RxႢ悤łBANĂ܂΁A
  [gt@CVXe Red Hat ł debian ł֌WȂ͂łB

  ԈႢ뎚EEAP̃ACfAȂǁAȂł M҂܂ŌA
  ΍KłB

