Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > e74e806c1a2640e922856d7eb69d1420 > files > 94

howto-text-ja-2006-5mdv2010.0.noarch.rpm

  Root RAID HOWTO cookbook
  Michael A. Robinton, michael@bzs.org
  <mailto:michael@bzs.org>
  v1.08, April 02, 1998
  “¡Œ´‹P‰Ã, fjwr@mtj.biglobe.ne.jp
  <mailto:fjwr@mtj.biglobe.ne.jp>
  3 May 1998

  ‚±‚Ì•¶‘‚Å‚Í RAID ‚ō\¬‚µ‚½ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ðƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚Æ‚µ‚Ä
  ƒ}ƒEƒ“ƒg‚·‚邽‚ß‚Ì•û–@‚ƁCLinux ‚Ì initrd ‚ðŽg‚Á‚đ΂ɂȂé fallback •œ
  ‹ŒƒVƒXƒeƒ€‚ðì‚邽‚ß‚Ì•û–@‚ðq‚ׂ܂·DRAID1 ‚Æ RAID5 ‚Ì md0 ƒfƒoƒCƒX‚ð
  Žg—p‚·‚銮‘S‚Ȏ菇‚ðŽ¦‚µ‚Ü‚·DŽè‡‚ÌŠeƒXƒeƒbƒv‚ƈꏏ‚É‚»‚Ì–Ú“I‚àà–¾‚µ
  ‚Ü‚·D‚±‚Ì”Å‚Í RAID1 ‚Æ RAID5 ‚̐ݒèŒü‚¯‚́C3‚‚̍s‚Őݒ肳‚ê‚é
  ``/etc/raidboot.conf'' ƒtƒ@ƒCƒ‹‚ɍ‡‚킹‚Đݒ肵‚½ˆê”Ê“I‚È linuxrc ini-
  trd ƒtƒ@ƒCƒ‹‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·D
  ______________________________________________________________________

  –ÚŽŸ

  1. ‚Í‚¶‚ß‚É
     1.1 –{•¶‘‚̍ŐV”Å‚Ì“üŽè
     1.2 ƒoƒO
     1.3 ŽÓŽ«
     1.4 ’˜ìŒ •\Ž¦

  2. ì‹Æ‚ðŽn‚ß‚é‘O‚É•K—v‚ÈŽ–€
     2.1 •K—v‚ȃpƒbƒP[ƒW
     2.2 ‘¼‚Ì—ÞŽ—‚ÌŽÀ‘•Œn
     2.3 ‚º‚Гǂñ‚Å‚¨‚«‚½‚¢•¶‘
     2.4 RAID ŠÖ˜A‚̏î•ñ

  3. ƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚ð RAID ‚É‚·‚é•û–@‚ÌŠTà
  4. RAID ‚ðƒ‹[ƒg‚Æ‚µ‚ă}ƒEƒ“ƒg‚·‚邽‚ß‚Ì initrd ‚̉ðà
     4.1 ƒZƒLƒ…ƒŠƒeƒB‚ÉŠÖ‚·‚钍ˆÓŽ–€
     4.2 ƒJ[ƒlƒ‹‚Æ RAID ƒc[ƒ‹‚̍\’z
     4.3 initrd ‚É‚æ‚é•œ‹Œ‹y‚Ñ‹N“®ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍\’z
     4.4 ƒXƒeƒbƒvEƒoƒCEƒXƒeƒbƒv‚̎菇
     4.5 ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹ (Slackware ‚̏ꍇ‚Ì‚Ý)
     4.6 Linux pthreads ‚̃Cƒ“ƒXƒg[ƒ‹
     4.7 RAID ƒc[ƒ‹‚̃Cƒ“ƒXƒg[ƒ‹
     4.8 V‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚©‚ç‚Ì•s—v‚ȃfƒBƒŒƒNƒgƒŠ‚ƃtƒ@ƒCƒ‹‚̍폜
     4.9 /dev/mdx ‚̍쐬
     4.10 initrd ‚Ì‚½‚ß‚Ì—‡‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€ì¬
        4.10.1 ‹N“®/•œ‹Œ—p‚Ì initrd ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍쐬
        4.10.2 •œ‹ŒƒVƒXƒeƒ€‚̏C³
     4.11 `initrd' ‚Å RAID ƒfƒoƒCƒX‚©‚ç‹N“®‚³‚¹‚é - linuxrc
     4.12 ƒVƒƒƒbƒgƒ_ƒEƒ“—p‚Ì rc ƒXƒNƒŠƒvƒg‚̏C³
     4.13 Configuring RAIDBOOT - raidboot.conf
     4.14 •œ‹ŒCRAID ƒVƒXƒeƒ€‚Ì 'loadlin ‚Æ LILO' ‚̃J[ƒlƒ‹ƒpƒ‰ƒ[ƒ^Žw’è

  5. •MŽÒ‚ÌŽdŽ–—p RAID ƒVƒXƒeƒ€‚̐ݒè
     5.1 ƒVƒXƒeƒ€‚ÌŽd—l “¯‚¶ƒ}ƒU[ƒ{[ƒh‚ª“ü‚Á‚Ä‚¢‚é2‚‚̃VƒXƒeƒ€‚̐ݒè‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·D
     5.2 ƒn[ƒhƒfƒBƒXƒN‚̃p[ƒeƒBƒVƒ‡ƒ“•ªŠ„

  6. RAID ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍\’z
     6.1 /etc/raid5.conf
     6.2 /etc/raid1.conf
     6.3 ŽdŽ–—p RAID ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð\’z‚·‚邽‚ß‚Ì‹ï‘Ì“IŽè‡

  7. ÅŒã‚É’ˆÓ‚·‚é“_
  8. •t˜^ A. Bohumil Chalupa ‚³‚ñ‚É‚æ‚é md0 ‚̃Vƒƒƒbƒgƒ_ƒEƒ“
  9. ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚Ì—á
     9.1 Slackware - /etc/rc.d/rc.6
     9.2 Debian bo - /etc/init.d/halt and /etc/init.d/reboot
        9.2.1 /etc/init.d/halt
        9.2.2 /etc/init.d/reboot

  10. •t˜^ C: ‚»‚Ì‘¼‚̐ݒèƒtƒ@ƒCƒ‹
     10.1 linuxrc ANAME CDATA linuxrc file(REF)REF
     10.2 loadlin -- linux.bat file - boot.par ANAME CDATA linux.bat file - boot.par(REF)REF
     10.3 linuxthreads Makefile.diff ANAME CDATA linuxthreads Makefile.diff(REF)REF
     10.4 raid1.conf ANAME CDATA raid1.conf(REF)REF
     10.5 raid5.conf ANAME CDATA raid5.conf(REF)REF
     10.6 raidboot.conf ANAME CDATA raidboot.conf(REF)REF
     10.7 rc.raidown ANAME CDATA rc.raidown(REF)REF

  11. •t˜^ D: ŒÃ‚¢ linuxrc ‚ƃVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg
     11.1 ŒÃ‚¢ƒtƒ@ƒCƒ‹ - linxurc
     11.2 ŒÃ‚¢ƒtƒ@ƒCƒ‹ - ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg

  12. •t˜^ E: Gadi Ž‚Ì RAID ’âŽ~‚ÉŠÖ‚·‚éLinux ƒJ[ƒlƒ‹ƒpƒbƒ`
  13. •t˜^ F: rc.raidown
  14. •t˜^ G: linuxrc ‚Ì“®ìŒ´—

  ______________________________________________________________________

  1.  ‚Í‚¶‚ß‚É

  “ǎ҂͐FX‚ȃ^ƒCƒv‚Ì RAID ‚ÌŽÀ‘•‚Æ‚»‚ê‚ç‚Ì—˜“_‚⌇“_‚ð‚æ‚­‚í‚©‚Á‚Ä‚¢‚é
  ‚à‚̂Ɖ¼’肵‚Ü‚·D–{•¶‘‚̓`ƒ…[ƒgƒŠƒAƒ‹‚Å‚Í‚È‚­CLinux ƒVƒXƒeƒ€‚Å
  RAID ‚ðƒ‹[ƒg‚Ƀ}ƒEƒ“ƒg‚·‚é•û–@‚̎菇‚¾‚¯‚ðŽ¦‚·‚à‚Ì‚Å‚·DLinux ‚Ì RAID
  ‚ɂ‚¢‚Ä’m‚邽‚ß‚É•K—v‚ȏî•ñ‚Í‘S‚Ä•¶‘“à‚Å’¼ÚŽ¦‚·‚©CŽQl•¶Œ£‚Æ‚µ‚ÄŽ¦
  ‚µ‚Ä‚¢‚Ü‚·D‚Å‚·‚©‚玄‚ÉŽ¿–â‚̃[ƒ‹‚ð‘—‚é‚Ì‚Í‚»‚ê‚ç‚ð‚æ‚­’²‚ׂ½ã‚Å
  s‚Á‚Ä‚­‚¾‚³‚¢D

  1.1.  –{•¶‘‚̍ŐV”Å‚Ì“üŽè

  Root-RAID-HOWTO

  LaTeX (DVI ‚â PostScript ‚ðì‚ê‚Ü‚·)CƒeƒLƒXƒgCHTML ‚ÌŠeƒtƒH[ƒ}ƒbƒg
  ‚Å“üŽè‚Å‚«‚Ü‚·D

       sunsite.unc.edu/mdw/HOWTO/ <http://sun-
       site.unc.edu/mdw/HOWTO/>

  SGML ‚Æ HTML Œ`Ž®‚Å“üŽè‚Å‚«‚Ü‚·D

       ftp.bizsystems.com/pub/raid/ <ftp://ftp.bizsys-
       tems.com/pub/raid/>

  1.2.  ƒoƒO

  ‚±‚Ì•¶‘‚ð‘‚¢‚Ä‚¢‚鎞“_‚ŁCƒ‹[ƒg‚Ƀ}ƒEƒ“ƒg‚µ‚½ RAID ƒfƒoƒCƒX‚ª’âŽ~‚·
  ‚é–â‘è‚ÍŠ®‘S‚É‚Í‰ðŒˆ‚³‚ê‚Ä‚¢‚Ü‚¹‚ñDEd Welbon ‚³‚ñ‚ª’ñˆÄ‚µCBohumil
  Chalupa ‚³‚ñ‚ªŽÀ‘•‚µ‚½‰ñ”ð•û–@‚Í‚±‚Ì•¶‘‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·D‚±‚ê‚Í RAID1
  ‚Æ RAID5 ƒfƒoƒCƒX‚̏ꍇ‚ɁC–ˆƒu[ƒgŽž‚Ì’·‚¢ ckraid ƒRƒ}ƒ“ƒh‚ª•K—v‚Å‚Í
  ‚È‚­‚È‚é‚Æ‚¢‚¤‚à‚Ì‚Å‚·D‚±‚̉ñ”ð•û–@‚ðs‚í‚È‚¢‚ƁCƒVƒXƒeƒ€‚ðÄ‹N“®‚·‚é
  “x‚É md ƒfƒoƒCƒX‚ɑ΂µ‚Ä ckraid ‚ª•K—v‚Æ‚È‚è‚Ü‚·D‚±‚ꂾ‚Æ‘å‚«‚ȃAƒŒƒC
  ‚̏ꍇ‚ɂ́CƒVƒXƒeƒ€‚̐«”\‚ª‘啝‚ɒቺ‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·D•MŽÒ‚Ì Pentium
  166, ƒƒ‚ƒŠ 128M ‚̃VƒXƒeƒ€ã‚Å“®ì‚µ‚Ä‚¢‚é 6G ‚Ì RAID1 ƒfƒoƒCƒX‚ł́C
  Ä‹N“®‚Ì“x‚É ckraid ‚É30•ªˆÈã‚à‚©‚©‚Á‚Ä‚µ‚Ü‚¢‚Ü‚· :-( “]‘—‘¬“x
  20MB/•b‚Ì SCSI ƒAƒ_ƒvƒ^‚ɐڑ±‚µ‚Ä‚¢‚é 15ƒMƒKƒoƒCƒg‚Ì RAID5 ƒAƒŒƒC‚̏ê
  ‡‚Í1ŽžŠÔˆÈã‚©‚©‚è‚Ü‚·D

  ‰ñ”ð•û–@‚Æ‚¢‚¤‚̂́CƒVƒƒƒbƒgƒ_ƒEƒ“Žž‚ɃAƒŒƒC‚̏ó‘Ô‚ðŽÀÛ‚̃u[ƒgƒfƒoƒC
  ƒX‚É•Û‘¶‚µ‚āC‚±‚±‚É’u‚¢‚Ä‚ ‚éÅ‰‚ɃVƒXƒeƒ€‚ð\’z‚µ‚½Žž‚ÌŽQÆƒXƒe[ƒ^
  ƒX‚Æ”äŠr‚·‚é‚à‚Ì‚Å‚·DƒXƒe[ƒ^ƒX‚ªÄ‹N“®‚Ì‚Æ‚«‚Ɉê’v‚µ‚Ä‚¢‚ê‚΃AƒŒƒC‚Ì
  ƒX[ƒp[ƒuƒƒbƒN‚ÍŽŸ‚̃u[ƒgŽž‚ɍč\’z‚³‚êC‚»‚¤‚Å‚È‚¯‚ê‚΃IƒyƒŒ[ƒ^‚É
  ƒXƒe[ƒ^ƒXƒGƒ‰[‚ð’Ê’m‚µC‘S‚Ä‚Ì RAID ƒc[ƒ‹‚ªŽg—p‰Â”\‚È•œ‹ŒƒVƒXƒeƒ€‚ª
  Žc‚³‚ê‚Ü‚·D

  ƒX[ƒp[ƒuƒƒbƒN‚ðÄ\’z‚·‚邱‚ƂŁC‘S‚Ẵhƒ‰ƒCƒu‚ÉOK‚̈ó‚ð•t‚¯‚ç‚ê‚Ä
  ‚µ‚Ü‚¢Cmdstop ‚ðŽÀs‚¹‚¸‚ɃAƒŒƒC‚Ì“dŒ¹‚ªØ‚ç‚ꂽ‚±‚Æ‚ªƒVƒXƒeƒ€‚É–³Ž‹
  ‚³‚ê‚邱‚Æ‚ª‹N‚±‚è‚Ü‚·D‚±‚ê‚Í‘S‚Ẵhƒ‰ƒCƒu‚̃Xƒe[ƒ^ƒX‚ªƒVƒƒƒbƒgƒ_ƒE
  ƒ“Žž‚ÉOK‚Å‚ ‚éê‡‚µ‚©³‚µ‚­“®ì‚µ‚Ü‚¹‚ñDˆÙí‚ª‚ ‚éƒhƒ‰ƒCƒu‚ŃAƒŒƒC‚ª
  “®‚¢‚Ä‚¢‚éê‡‚ɂ́Cmd ƒfƒoƒCƒX‚ðÄƒXƒ^[ƒg‚³‚¹‚é‘O‚Ɉُí‚ȃhƒ‰ƒCƒu‚ð
  Žæ‚菜‚­•K—v‚ª‚ ‚èC‚»‚¤‚Å‚È‚¯‚ê‚΃f[ƒ^‚ª‰ó‚ê‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚ ‚è‚Ü‚·D

  RAID0 ‚̏ꍇ‚̓Vƒƒƒbƒgƒ_ƒEƒ“‘O‚É mdstop ‚ðs‚¤•K—v‚ª–³‚¢‚̂ŁCã‹L‚Ì‚±
  ‚Æ‚Í‚¢‚¸‚ê‚à‚ ‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñD

  ‚±‚Ì–â‘è‚ɑ΂µ‚čŏI“I‚É’ñˆÄ‚³‚ꂽ‰ð‚́Cinitrd ‚ÉŽ—‚½ finalrd ‚ƁCƒfƒo
  ƒCƒX‚ªƒŠ[ƒhƒIƒ“ƒŠ[‚ÌŽž‚̓Vƒƒƒbƒgƒ_ƒEƒ“’†‚É clean ƒtƒ‰ƒO‚ð‘‚«ž‚Þ
  mdrootstop‚𓱓ü‚·‚邱‚Æ‚Å‚·D‘¼‚Ì•û–@‚à‚«‚Á‚Æ‚Í‚ ‚邱‚Æ‚Å‚µ‚傤D

  ‚Æ‚É‚©‚­C¡‚Ì‚Æ‚±‚ë‚Í–â‘è‚ð”ð‚¯‚é‚±‚Æ‚Í‚Å‚«‚Ä‚¢‚Ü‚·D‚±‚Ì–â‘è‚ð‚à‚Á‚Æ
  ‚¤‚Ü‚­‰ðŒˆ‚³‚ꂽ‚為‚ÐŽ„‚É‚¨’m‚点‚­‚¾‚³‚¢D

  1.3.  ŽÓŽ«

  ˆÈ‰º‚Ì•ûX‚Ì•¶‘‚⃁[ƒ‹‚Ì‚¨‚©‚°‚Å‚±‚Ì•¶‘‚ªŠ®¬‚µ‚Ü‚µ‚½DƒAƒCƒfƒBƒA‚Ì
  ‚Ù‚Æ‚ñ‚Ç‚Í‘¼‚̐l‚Ì‚à‚Ì‚ð‚à‚ç‚Á‚Ä‚«‚½‚à‚̂ŁCŽ„‚Í‚±‚ê‚ç‚ð COOKBOOK‚ÌŒ`
  ‚ɂ܂Ƃ߁C‚·‚®‚ÉŽg‚¦‚é‚悤‚É‚µ‚½‚¾‚¯‚Å‚·D

  o  Linas Vepstas ‚³‚ñ <mailto:linas@linas.org>
      ‚Ì RAID HOWTO ‚Å‚Ù‚Æ‚ñ‚Ç‚Ì‚±‚Æ‚ð•×‹­‚³‚¹‚Ä‚¢‚½‚¾‚«‚Ü‚µ‚½D

  o  Gadi Oxman ‚³‚ñ <mailto:gadio@netvision.net.il>
      ‚ɂ́u‘flv‚Ì‚­‚¾‚ç‚È‚¢Ž¿–â‚É“š‚¦‚Ä‚¢‚½‚¾‚«‚Ü‚µ‚½D

  o  Ed Welbon ‚³‚ñ <mailto:welbon@bga.com>
      ‚Ì‘f°‚炵‚¢ initrd.md ƒpƒbƒP[ƒW‚ª‚«‚Á‚©‚¯‚Å‚±‚Ì•¶‘‚ð‘‚­‚±‚Æ‚É
     ‚È‚è‚Ü‚µ‚½D

  o  Bohumil Chalupa ‚³‚ñ <mailto:bochal@apollo.karlov.mff.cuni.cz>  ‚ª
     Ä‹N“®Žž‚́u–â‘è‰ñ”ðv‚ðŽÀ‘•‚µ‚Ä‚­‚¾‚³‚Á‚½‚¨‚©‚°‚ŁC ŽdŽ–‚̊‹«
     ‚ÅRAID ‚ðƒ‹[ƒg‚Ƀ}ƒEƒ“ƒg‚µ‚ÄŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚µ‚½D

  o  ‚±‚Ì‘¼‚ɐFX‚È“_‚±‚̍ì‹Æ‚ð•‚¯‚Ä‚­‚¾‚³‚Á‚½•ûXD

  1.4.  ’˜ìŒ •\Ž¦

  This document is GNU copyleft by Michael Robinton michael@bzs.org
  <mailto:michael@bzs.org>.

  Permission to use, copy, distribute this document for any purpose is
  hereby granted, provided that the author's / editor's name and this
  notice appear in all copies and/or supporting documents; and that an
  unmodified version of this document is made freely available.  This
  document is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY, either expressed or implied.  While every effort
  has been taken to ensure the accuracy of the information documented
  herein, the author / editor / maintainer assumes NO RESPONSIBILITY for
  any errors, or for any damages, direct or consequential, as a result
  of the use of the information documented herein.

  2.  ì‹Æ‚ðŽn‚ß‚é‘O‚É•K—v‚ÈŽ–€

  RAID ‚ðÝ’肵C‰^—p‚·‚邽‚ß‚É•K—v‚ȃpƒbƒP[ƒW‚âC‚Ù‚Æ‚ñ‚Ç‚Ì‹^–â‚É“š‚¦
  ‚Ä‚­‚ê‚镶‘‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·DŠÈ’P‚É‚Å‚à—Ç‚¢‚Å‚·‚©‚炱‚ê‚ç‚ÌŽ‘—¿‚É‚Í–Ú
  ‚ð’Ê‚µ‚Ä‚­‚¾‚³‚¢D

  2.1.  •K—v‚ȃpƒbƒP[ƒW

  ‚Ü‚¸‚͈ȉº‚̃pƒbƒP[ƒW‚̍ŐV‚̃o[ƒWƒ‡ƒ“‚ð“üŽè‚·‚é•K—v‚ª‚ ‚è‚Ü‚·D

  o  RAID, initrd, /dev/loopx ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚é Linux ƒJ[ƒlƒ‹

       •MŽÒ‚Í linux-2.0.33 <ftp://sunsite.unc.edu/pub/Linux/ker-
       nel/> ‚ð sunsite ‚©‚ç“üŽè‚µ‚Ü‚µ‚½D

  o  raid145-971022-2.0.31
     <ftp://ftp.kernel.org/pub/linux/daemons/raid/> RAID1/4/5 ‚̃Tƒ|[ƒg
     ‚ð’ljÁ‚·‚éƒpƒbƒ`‚Å‚·D
  o  raidtools-pre3-0.42 <ftp://ftp.kernel.org/pub/linux/daemons/raid/>
     RAID ‚̃fƒoƒCƒX‚ðì¬CŠÇ—‚·‚邽‚߂̃c[ƒ‹(‚Æ•¶‘)‚Å‚·D

  o  ``Gadi Ž‚Ì RAID ’âŽ~ƒpƒbƒ`'' ‚ð•t˜^ E ‚ÉŠÜ‚ß‚Ä‚¢‚Ü‚·D

  o  linuxthreads-0.71
     <ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy> ƒXƒŒƒbƒh‚Ì
     ƒpƒbƒP[ƒW‚ª•K—v‚Å‚·DƒEƒFƒuƒuƒ‰ƒEƒU‚ÍŽg‚¦‚È‚¢‚Ì‚Å FTP ‚ð‚‚©‚Á‚Ä‚­
     ‚¾‚³‚¢D

  o  ƒCƒ“ƒXƒg[ƒ‹‚Å‚«‚é Linux ‚̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“

       •MŽÒ‚Í Slackware-3.4 <ftp://ftp.cdrom.com/pub/linux> ‚ðŽg‚Á
       ‚Ä‚¢‚Ü‚·D

  •K—v‚Å‚Í‚È‚¢‚¯‚ê‚ǁC–𗧂‚à‚Ì

  o  raidboot-0.01.tar.gz <ftp://ftp.bizsystems.com/pub/raid/> —\‚ߍ쐬
     ‚³‚ê‚Ä‚¢‚é RAID •œ‹Œ/‹N“®ƒVƒXƒeƒ€

  –{•¶‘‚É‚¨‚¯‚é‹ï‘Ì“I‚Ȏ菇‚͏ã‹L‚̃pƒbƒP[ƒW‚ð‘O’ñ‚É‚µ‚Ä‚¢‚Ü‚·DƒpƒbƒP
  [ƒW‚̃o[ƒWƒ‡ƒ“‚ªXV‚³‚ê‚Ä‚¢‚½‚èCŽ„‚ƈقȂé Linux ‚̃fƒBƒXƒgƒŠƒrƒ…
  [ƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚¢‚éê‡‚ɂ́C‹ï‘Ì“I‚Ȏ菇‚ðˆÙ‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñD

  ƒpƒbƒ`‚âƒc[ƒ‹“™‚̓o[ƒWƒ‡ƒ“ 2.1 ‚̃J[ƒlƒ‹‚ł͈قȂéê‡‚ª‚ ‚è‚Ü‚·D
  ÅV‚Ì•¶‘‚ðˆÈ‰º‚ÅŠm”F‚µ‚Ä‚­‚¾‚³‚¢D

       ftp.kernel.org/pub/linux/daemons/raid/ <ftp://ftp.ker-
       nel.org/pub/linux/daemons/raid/>

  2.2.  ‘¼‚Ì—ÞŽ—‚ÌŽÀ‘•Œn

  Ž„‚̓‚ƒWƒ…[ƒ‹‚ÍŽg‚í‚È‚¢‚ŁC•K—v‚È‚à‚Ì‚Í‘S‚ăJ[ƒlƒ‹‚É‘g‚ݍž‚Þ‚±‚Æ‚É‚µ
  ‚Ü‚µ‚½DŽ„‚̃J[ƒlƒ‹ƒCƒ[ƒW‚Ì‘å‚«‚³‚́Cˆ³k‚µ‚Ä 300k ‚Ə­‚µ‚Å‚·D

  ‹N“®‰Â”\‚È RAID ƒfƒoƒCƒX‚ðì‚é•Ê‚Ì•û–@‚Æ‚µ‚āCEd Welbon Ž
  <mailto:welbon@bga.com> ‚Ì initrd.md.tar.gz ‚ðŒ©‚Ä‚­‚¾‚³‚¢D‚±‚¿‚ç‚Ì•û
  –@‚ł̓‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ä‚¢‚Ü‚·Dƒ‚ƒWƒ…[ƒ‹‚ðŽg‚Á‚Ä‚Æ‚Ä‚à¬‚³‚¢ƒJ[ƒlƒ‹
  ‚ðì‚肽‚¢ê‡‚ɂ́C‚±‚̃pƒbƒP[ƒW‚ÉŠÜ‚Ü‚ê‚éŠÈ’P‚ȃXƒNƒŠƒvƒg‚ðŒ©‚ê‚΁C
  ‚Ç‚¤‚·‚ê‚΂悢‚©‚í‚©‚è‚Ü‚·D

       http://www.realtime.net/~welbon/initrd.md.tar.gz
       <http://www.realtime.net/~welbon/initrd.md.tar.gz>

  2.3.  ‚º‚Гǂñ‚Å‚¨‚«‚½‚¢•¶‘

  ‚Ü‚¸

       /usr/src/linux/Documentation/initrd.txt

  ‚Í“Ç‚ñ‚Å‚­‚¾‚³‚¢D

  ‚»‚ê‚©‚ç raidtools ƒpƒbƒP[ƒW‚É•t‘®‚Ì•¶‘‚âƒ}ƒjƒ…ƒAƒ‹‚à“Ç‚ñ‚Å‚­‚¾‚³
  ‚¢D“Á‚É man mdadd ‚Æ QuickStart.RAID ‚É‚Í–Ú‚ð’Ê‚µ‚Ä‚­‚¾‚³‚¢D

  ˆÈ‰º‚Ì‚à‚Ì‚É‚à–Ú‚ð’Ê‚µ‚Ä‚¨‚­‚Æ—Ç‚¢‚Å‚µ‚傤D

  o  BootPrompt-HOWTO <http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-
     HOWTO.html>

  o  man lilo

  o  man lilo.conf

  2.4.  RAID ŠÖ˜A‚̏î•ñ

  o  sunsite.unc.edu/mdw/HOWTO/mini/Software-RAID
     <http://sunsite.unc.edu/mdw/HOWTO/mini/Software-RAID>

  o  www.ssc.com/lg/issue17/raid.html
     <http://www.ssc.com/lg/issue17/raid.html>

  o  linas.org/linux/raid.html <http://linas.org/linux/raid.html>

  o  ftp.kernel.org/pub/linux/daemons/raid/
     <ftp://ftp.kernel.org/pub/linux/daemons/raid/>

  o  www.realtime.net/~welbon/initrd.md.tar.gz
     <http://www.realtime.net/~welbon/initrd.md.tar.gz>

  o  luthien.nuclecu.unam.mx/~miguel/raid/
     <http://luthien.nuclecu.unam.mx/~miguel/raid/>

     ŠÖŒW‚ª‚ ‚郁[ƒŠƒ“ƒOƒŠƒXƒg‚ðˆÈ‰º‚É—ñ‹“‚µ‚Ü‚·D

  o  majordomo@nuclecu.unam.mx <mailto:majordomo@nuclecu.unam.mx> ‚Ö
     subscribe raiddev‚Ì“à—e‚̃[ƒ‹‚ð‘—‚ê‚ÎŽQ‰Á‚Å‚«‚Ü‚·D

     “Še‚Í raiddev@nuclecu.unam.mx <mailto:raiddev@nuclecu.unam.mx> ‚Ö
     ƒ[ƒ‹‚ð‘—‚è‚Ü‚·D

  o  majordomo@vger.rutgers.edu <mailto:majordomo@vger.rutgers.edu>‚Ö
     subscribe linux-raid‚Ì“à—e‚̃[ƒ‹‚ð‘—‚ê‚ÎŽQ‰Á‚Å‚«‚Ü‚·D

     “Še‚Í linux-raid@vger.rutgers.edu <mailto:linux-
     raid@vger.rutgers.edu> ‚Öƒ[ƒ‹‚ð‘—‚è‚Ü‚·D (‚±‚ꂪÅ‚àŠˆ”­‚ȃ[ƒŠ
     ƒ“ƒOƒŠƒXƒg‚̂悤‚Å‚·)

  3.  ƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚ð RAID ‚É‚·‚é•û–@‚ÌŠTà

  •œ‹ŒƒVƒXƒeƒ€‚ðŽŽ‚µ‚½‚èC\’z‚µ‚½‚èCƒfƒoƒbƒO‚µ‚½‚­‚È‚¢ê‡‚́C
  Slackware-3.4 ‚ÉŠî‚¢‚čì‚Á‚½ˆê”Ê“I‚ȃVƒXƒeƒ€‚ðˆÈ‰º‚Å“üŽè‚µ‚Ä‚­‚¾‚³
  ‚¢D

       ftp.bizsystems.com/pub/raid/raidboot-0.01.tar.gz
       <ftp://ftp.bizsystems.com/pub/raid/>

  ‚»‚µ‚āCŽŸ‚̎菇‚ðŽÀs‚µ‚Ü‚·D

  o  Žg—p‚·‚éƒfƒBƒXƒN‚̃Tƒ|[ƒg‚ð‘g‚ݍž‚݁CRAID ‚ð—LŒø‚É‚µ‚½ƒJ[ƒlƒ‹‚ð\
     ’z‚µ‚Ü‚·

  o  RAID ƒAƒŒƒC‚ª³‚µ‚­Ý’èCƒ}ƒEƒ“ƒg‚Å‚«‚é‚©ƒeƒXƒg‚µ‚Ü‚·

  o  RAID ƒVƒXƒeƒ€ã‚É OS ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·

  o  ƒ‹[ƒgƒfƒoƒCƒX‚Æ‚µ‚Ä /dev/md0 ‚ðŽQÆ‚·‚é‚悤‚É fstab ‚Ì“à—e‚ðC³‚µ
     ‚Ü‚·D‹N“®‚É•K—v‚ȃp[ƒeƒBƒVƒ‡ƒ“‚ª fstab ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚Æ‚ðŠm”F‚µ
     ‚Ü‚·D

  o  Modify your shutdown halt and reboot script(s) (mine is
     /etc/rc.d/rc.6) as shown in ``Modifying the rc-scripts for
     SHUTDOWN'' ‚Ì‹Lq‚É‚µ‚½‚ª‚Á‚āCƒ}ƒVƒ“‚Ì’âŽ~‹y‚эċN“®‚̃XƒNƒŠƒv
     ƒg(•MŽÒ‚̃VƒXƒeƒ€‚Å‚Í /etc/rc.d/rc.6 ‚Å‚·)‚ðC³‚µ‚Ü‚·D

  o  ˆÈ‰º‚̎菇‚ÉŽ¦‚·‚悤‚ɁCƒtƒ@ƒCƒ‹‚ðì‹Æ—pƒVƒXƒeƒ€‚©‚çC•œ‹ŒƒVƒXƒeƒ€
     ‚ƐV‚µ‚¢ RAID ƒVƒXƒeƒ€‚Ì—¼•û‚ɃRƒs[‚µ‚Ü‚·D

             cd /root/raidboot
             mkdir mnt
             gzip -d rescue.clean
             losetup /dev/loop0  rescue.clean
             mount /dev/loop0    mnt

     ŽŸ‚̂悤‚Ƀtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ü‚·D

             cp -p /etc/*         mnt/etc
             cp -p /etc/rc.d/*    mnt/etc/rc.d
                     {or as appropriate for your system}
             cp -a /lib/modules/* mnt/lib/modules

  Linux ‚̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚É‚æ‚Á‚ẮCƒ‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ì
  ro/rw ƒXƒe[ƒ^ƒX‚𒲂ׂ܂·Dinitrd •œ‹ŒƒVƒXƒeƒ€‚Ì rc ‹N“®ƒXƒNƒŠƒvƒg‚©
  ‚ç‚́C‚±‚ê‚𒲂ׂ镔•ª‚ðŽæ‚菜‚­•K—v‚ª‚ ‚è‚Ü‚·D``•œ‹ŒƒVƒXƒeƒ€‚̏C
  ³''‚̏͂̎菇‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D

  devmd0/ ‚ªƒ‹[ƒgƒfƒoƒCƒXfstab ‚É‚È‚é‚悤 fstab ‚ðC³‚µ‚Ü‚·D‹N“®‚É•K
  —v‚ȃp[ƒeƒBƒVƒ‡ƒ“‚ª fstab ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚Æ‚ðŠm”F‚µ‚Ü‚µ‚傤D

  RAID ‚©‚ç‹N“®‚·‚éÝ’è‚ð‹Lq‚·‚é /etc/raidboot.conf ‚ðì¬‚µ‚Ü‚·D‚±‚Ì
  ƒtƒ@ƒCƒ‹‚̍ŏ‰‚Ì3s‚ɂ̓Rƒƒ“ƒg‚ð“ü‚ê‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñD‚»‚êˆÈ~‚È‚ç‚Ζâ
  ‘è‚ ‚è‚Ü‚¹‚ñD

  raidboot.conf

          /dev/sda1 /dev/sda2
          raidboot
          raid5.conf
  # comments may only be placed 'after' the three
  # configuration lines.
  #
  # This is 'raidboot.conf'
  #
  # line one, the partition(s) containing the 'initrd' raid-rescue system
  #       It is not necessary to boot from these partitions, however,
  #       since the rescue system will not fit on floppy, it is necessary
  #       to know which partitions are to be used to load the rescue system
  #
  # line two, the path to the raidboot config information
  #       Where the shutdown status, etc... is located at boot time
  #       It does NOT include the mount point information, only 'path'
  #       /mntpoint/'path'
  #
  # line -3-, name of the raid configuration file
  #       Current raid configuration file i.e. raid1.conf, raid5.conf

  Œã‚Í‚¢‚­‚‚©‚̍ì‹Æ‚ðs‚¦‚΁CRAID ƒVƒXƒeƒ€‚Ì‹N“®€”õ‚ª‚Å‚«‚Ü‚·D

  •t˜^ F ‚Åà–¾‚·‚éC``rc.raidown'' ƒtƒ@ƒCƒ‹‚ð # ì¬‚µC‚±‚ê‚𕜋ŒCì
  ‹ÆCRAID ‚ÌŠeƒVƒXƒeƒ€‚Ì /etc/rc.d ƒfƒBƒŒƒNƒgƒŠ # ‚ɃRƒs[‚µ‚Ü‚·D•œ‹Œ
  ƒVƒXƒeƒ€‚ðƒAƒ“ƒ}ƒEƒ“ƒg‚µ‚½ŒãC‚±‚ê‚ðˆ³k‚µ‚Ü‚·D

          umount mnt
          losetup -d /dev/loop0
          mv rescue.clean rescue
          gzip rescue

  •œ‹Œƒtƒ@ƒCƒ‹‚ð RAID ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚ɃRƒs[‚µ‚Ü‚·D

          cp rescue.gz /mnt_point(1)/raidboot
          cp rescue.gz /mnt_point(2)/raidboot

  RAID ƒAƒŒƒC‚ð—LŒø‚É‚µ‚Ü‚·D

          mdadd -ar

  RAID ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚Ì ³‚µ‚¢ ŽQÆƒXƒe[ƒ^ƒX‚ð•Û‘¶‚µ‚Ü‚·D

          cat /proc/mdstat | grep md0 > /mnt_point(1)/raidboot/raidgood.ref
          cat /proc/mdstat | grep md0 > /mnt_point(1)/raidboot/raidgood.ref

  ÅŒã‚É ``‹N“®Žž‚̐ݒèƒpƒ‰ƒ[ƒ^'' ‚Ìà–¾‚ɏ]‚Á‚Ä‹N“®ƒvƒƒOƒ‰ƒ€‚ðÝ’è
  ‚µCRAID ƒAƒŒƒCã‚̃VƒXƒeƒ€‚ð‹N“®‚µ‚Ü‚·D

  4.  RAID ‚ðƒ‹[ƒg‚Æ‚µ‚ă}ƒEƒ“ƒg‚·‚邽‚ß‚Ì initrd  ‚̉ðà

  ‚±‚ê‚Í RAID ‚Ì•œ‹Œƒc[ƒ‹(rescue tools) ‚ðŠÜ‚Þ `initrd' RAMƒfƒBƒXƒN‚ðì
  ‚邽‚߂̎葱‚«‚Å‚·D

  –{•¶‘‚Å‚Í“Á‚É RAID1 ‚Æ RAID5 ‚ÌŽÀ‘•‚ɂ‚¢‚Äà–¾‚ðs‚¢‚Ü‚·D

  4.1.  ƒZƒLƒ…ƒŠƒeƒB‚ÉŠÖ‚·‚钍ˆÓŽ–€

  •œ‹Œ—p‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̓Xƒ^ƒ“ƒhƒAƒƒ“‚ÅŽg—p‚Å‚«‚Ü‚·DRAID ƒAƒŒƒC‚Ì
  ƒ}ƒEƒ“ƒg‚ÉŽ¸”s‚µ‚½ê‡C•œ‹ŒƒVƒXƒeƒ€‚ªƒ}ƒEƒ“ƒg‚³‚ê‚Ä“®ì‚µ‚Ü‚·D‚Å‚·‚©
  ‚çƒZƒLƒ…ƒŠƒeƒB‚ɂ͏\•ª’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢I

  4.2.  ƒJ[ƒlƒ‹‚Æ RAID ƒc[ƒ‹‚̍\’z

  Å‰‚̍ì‹Æ‚́Cƒpƒbƒ`‚𓖂ĂăJ[ƒlƒ‹‚ðÄ\’z‚·‚邱‚Æ‚Æ RAID ‘€ìƒc[ƒ‹
  ‚ÉŠµ‚ê‚邱‚Æ‚Å‚·D•t˜^ E ‚Ì ``Gadi Ž‚Ì RAID ’âŽ~ƒpƒbƒ`'' ‚ðŠm”F‚µCƒJ
  [ƒlƒ‹‚ÉŠÜ‚ß‚Ä‚­‚¾‚³‚¢DÝ’è‚ðs‚Á‚Ä‚©‚ç RAID ƒfƒoƒCƒX‚ðƒ}ƒEƒ“ƒgCƒeƒX
  ƒg‚µ‚Ü‚·DÚ×‚Ȏ菇‚Í raidtools ƒpƒbƒP[ƒW‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·‚ªC–{•¶‘
  ‚Å‚àŒã‚ŏq‚ׂ܂·D

  4.3.  initrd  ‚É‚æ‚é•œ‹Œ‹y‚Ñ‹N“®ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍\’z

  Ž„‚Í•œ‹Œ/‹N“®—p‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ÆŽdŽ–—p‚̃}ƒVƒ“‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð
  \’z‚·‚éÛ‚É Slackware-3.4 ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ðŽg‚¢‚Ü‚µ‚½D‚Å‚·
  ‚ªC‚Ç‚Ì Linux ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Å‚à–â‘è‚È‚¢‚ÆŽv‚¢‚Ü‚·DˆÙ‚È‚é
  ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ðŽg‚¤ê‡‚ɂ́CŽè‡‚Ì‚¤‚¿ Slackware ‚É“Á‰»‚µ‚½
  •”•ª‚ðŠm”F‚µC•K—v‚ɉž‚¶‚ďC³‚µ‚Ä‚­‚¾‚³‚¢D

  •MŽÒ‚Í loadlin ‚ðŽg‚Á‚ăJ[ƒlƒ‹ƒCƒ[ƒW‚ÆRAMƒfƒBƒXƒN‚ð DOS ƒp[ƒeƒB
  ƒVƒ‡ƒ“‚©‚ç‹N“®‚µ‚Ä‚¢‚Ü‚·‚ªC‚±‚ê‚́C’P‚É DOS ‚̐ݒèƒ\ƒtƒgƒEƒFƒA‚ðŽg‚¤
  ¢‚Á‚½ƒfƒoƒCƒX‚ðŽg‚Á‚Ä‚¢‚é‚©‚ç‚Å‚·DLILO ‚Å‚à‚¤‚Ü‚­“®ì‚µ‚Ü‚·
  ‚µCRAID/‹N“®ƒtƒ@ƒCƒ‹‚Æ lilo ƒŒƒR[ƒh‚¾‚¯‚ðŠÜ‚ޏ¬‚³‚¢ Linux ƒp[ƒeƒB
  ƒVƒ‡ƒ“‚àŽg—p‚Å‚«‚Ü‚·D

  •MŽÒ‚͍ŏ‰‚É Slackware ‚Ì `setup' ƒXƒNƒŠƒvƒg‚ðŽg‚Á‚čŏ¬ŒÀ‚ÌRAMƒfƒBƒX
  ƒNƒVƒXƒeƒ€‚ðì‚èCŽŸ‚É‚±‚ÌRAMƒfƒBƒXƒNã‚Ì‘f‚ÌSlackware ‚É
  `linuxthreads' ƒpƒbƒP[ƒW‚Æ `raidtools' ‚ðã‘‚«ƒCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚É
  ‚µ‚Ü‚µ‚½DŽ„‚ÍŽdŽ–—p‚̃}ƒVƒ“‚ð\’z‚·‚é‚Æ‚«‚É‚à‘S‚­“¯‚¶Žè‘±‚«‚ð—p‚¢‚Ü‚µ
  ‚½D‚Å‚·‚©‚çC•œ‹ŒƒVƒXƒeƒ€‚ÆŽdŽ–—pƒVƒXƒeƒ€‚Í‚Ù‚Ú“¯‚¶\¬‚É‚È‚Á‚Ä‚¢‚Ü
  ‚·D

  ‚±‚̃Cƒ“ƒXƒg[ƒ‹‚É‚æ‚Á‚Ä`—‡‚Ì'ƒVƒXƒeƒ€‚ª‚Å‚«‚Ü‚·(ƒtƒ@ƒCƒ‹‚̃Rƒs[‚ð•Û
  ‘¶‚µ‚Ä‚¨‚«‚Ü‚µ‚傤)D‚±‚̃VƒXƒeƒ€‚Ö

          /lib/modules/2.x.x......
          /etc .... with a modified fstab, mdtab, raidX.conf, raidboot.conf
          /etc/rc.d
          /dev/md*

  ‚ðŒ»ÝŽg‚Á‚Ä‚¢‚éƒVƒXƒeƒ€‚©‚çã‘‚«ƒRƒs[‚µCŒ»Ý‚ ‚é‚¢‚Í‚±‚ê‚©‚ç“®ì‚³
  ‚¹‚悤‚Æ‚µ‚Ä‚¢‚éƒVƒXƒeƒ€‚ɍ‡‚킹‚ăJƒXƒ^ƒ}ƒCƒY‚µ‚Ü‚·D

  ‚±‚ê‚É‚æ‚èC‹N“®/•œ‹ŒƒVƒXƒeƒ€‚ðŒ»Ý“®ì‚µ‚Ä‚¢‚é RAID ƒfƒoƒCƒX‚ðƒ‹[ƒg
  ‚Ƀ}ƒEƒ“ƒg‚µ‚½ƒVƒXƒeƒ€‚Æ“¯‚¶‚É‚Å‚«‚Ü‚·Dƒ‰ƒCƒuƒ‰ƒŠ“™‚̃o[ƒWƒ‡ƒ“‚͏í‚É
  ÅV‚É‚Å‚«‚Ü‚·‚ªC­‚µ¬‚³‚¢ƒVƒXƒeƒ€‚É‚È‚è‚Ü‚·D

  4.4.  ƒXƒeƒbƒvEƒoƒCEƒXƒeƒbƒv‚̎菇

  ƒ†[ƒU root ‚̃z[ƒ€ƒfƒBƒŒƒNƒgƒŠ(/root)‚ňȉº‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·:

          cd /root
          mkdir raidboot
          cd raidboot

  ƒ}ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚ðì¬‚µ‚Ü‚·D

          mkdir mnt
          mkdir mnt2

  ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é‚̂ɏ\•ª‚È‘å‚«‚³‚̃tƒ@ƒCƒ‹‚ðì‚è‚Ü
  ‚·D‚±‚ê‚͍ŏI“I‚È•œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚æ‚肸‚Á‚Æ‘å‚«‚­‚È‚è‚Ü‚·D16ƒƒK
  ƒoƒCƒg‚ł͏\•ª‚Å‚Í‚È‚©‚Á‚½‚̂ŁCŽ„‚Í24ƒƒKƒoƒCƒgŽg‚¤‚±‚Æ‚É‚µ‚Ü‚µ‚½D

          dd if=/dev/zero of=build bs=1024k count=24

  ƒtƒ@ƒCƒ‹‚ð loop ƒfƒoƒCƒX‚Æ‚µCext2 ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð‚±‚Ìƒtƒ@ƒCƒ‹ã‚É
  ì¬‚µ‚Ü‚·D

          losetup /dev/loop0 build
          mke2fs -v -m0 -L initrd /dev/loop0
          mount /dev/loop0 mnt

  4.5.  ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹ (Slackware ‚̏ꍇ‚Ì‚Ý)

  Slackware ‚É‚µ‚©’Ê—p‚µ‚È‚¢˜b‘è‚Ȃ̂ŁCSlackware ˆÈŠO‚̃fƒBƒXƒgƒŠƒrƒ…[
  ƒVƒ‡ƒ“‚ðŽg‚¤ê‡‚É‚Í``ŽŸ‚̏͂ɐi‚ñ‚Å''‚­‚¾‚³‚¢D

  Œ»Ý‚Í‹ó‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ªì‚ç‚ê‚ă}ƒEƒ“ƒg‚³‚ê‚Ä‚¢‚éó‘Ô‚Å‚·D‚±‚±
  ‚Å"setup"‚ðŽÀs‚µ‚Ü‚·D

          /root/raidboot/mnt

  ‚ðŽw’肵‚Ü‚·D`source'‚ɂ͒ʏí‚̃Cƒ“ƒXƒg[ƒ‹Œ³‚ð“K‹XŽw’肵‚Ü‚·DƒpƒbƒP
  [ƒW‘I‘ð‚ÍŽ©—R‚ɍs‚Á‚Ä‚©‚Ü‚¢‚Ü‚¹‚ñ‚ªC`configure' ‚͍s‚í‚È‚¢‚Å‚­‚¾‚³
  ‚¢D

  ƒvƒƒ“ƒvƒg‚̃‚[ƒh‚Æ‚µ‚Ä‚Í `EXPERT' ‚ð‘I‘ð‚µ‚Ü‚·D

  Ž„‚̓VƒXƒeƒ€‚̍ŏ¬\¬‚Ì `A', `AP', `N' ‚ɉÁ‚¦CŽg‚¢Šµ‚ê‚Ä‚¢‚ăTƒCƒY‚à
  ¬‚³‚¢ƒGƒfƒBƒ^(vi, jed, joe)‚ð‘I‘ð‚µ‚Ü‚µ‚½D

  lqqqqqqqq SELECTING PACKAGES FROM SERIES A (BASE LINUX SYSTEM) qqqqqqqqk
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x   [X] aaa_base  Basic filesystem, shell, and utils - REQUIRED    x x
  x x   [X] bash      GNU bash-1.14.7 shell - REQUIRED                 x x
  x x   [X] devs      Device files found in /dev - REQUIRED            x x
  x x   [X] etc       System config files & utilities - REQUIRED       x x
  x x   [X] shadow    Shadow password suite - REQUIRED                 x x
  x x   [ ] ide       Linux 2.0.30 no SCSI (YOU NEED 1 KERNEL)         x x
  x x   [ ] scsi      Linux 2.0.30 with SCSI (YOU NEED 1 KERNEL)       x x
  x x   [ ] modules   Modular Linux device drivers                     x x
  x x   [ ] scsimods  Loadable SCSI device drivers                     x x
  x x   [X] hdsetup   Slackware setup scripts - REQUIRED               x x
  x x   [ ] lilo      Boots Linux (not UMSDOS), DOS, OS/2, etc.        x x
  x x   [ ] bsdlpr    BSD lpr - printer spooling system                x x
  x x   [ ] loadlin   Boots Linux (UMSDOS too!) from MS-DOS            x x
  x x   [ ] pnp       Plug'n'Play configuration tool                   x x
  x x   [ ] umsprogs  Utilities needed to use the UMSDOS filesystem    x x
  x x   [X] sysvinit  System V-like INIT programs - REQUIRED           x x
  x x   [X] bin       GNU fileutils 3.12, elvis, etc. - REQUIRED       x x
  x x   [X] ldso      Dynamic linker/loader - REQUIRED                 x x
  x x   [ ] ibcs2     Runs SCO/SysVr4 binaries                         x x
  x x   [X] less      A text pager utility - REQUIRED                  x x
  x x   [ ] pcmcia    PCMCIA card services support                     x x
  x x   [ ] getty     Getty_ps 2.0.7e - OPTIONAL                       x x
  x x   [X] gzip      The GNU zip compression - REQUIRED               x x
  x x   [X] ps        Displays process info - REQUIRED                 x x
  x x   [X] aoutlibs  a.out shared libs - RECOMMENDED                  x x
  x x   [X] elflibs   The ELF shared C libraries - REQUIRED            x x
  x x   [X] util      Util-linux utilities - REQUIRED                  x x
  x x   [ ] minicom   Serial transfer and modem comm package           x x
  x x   [ ] cpio      The GNU cpio backup/archiving utility            x x
  x x   [X] e2fsbn    Utilities for the ext2 file system               x x
  x x   [X] find      GNU findutils 4.1                                x x
  x x   [X] grep      GNU grep 2.0                                     x x
  x x   [ ] kbd       Change keyboard mappings                         x x
  x x   [X] gpm       Cut and paste text with your mouse               x x
  x x   [X] sh_utils  GNU sh-utils 1.16 - REQUIRED                     x x
  x x   [X] sysklogd  Logs system and kernel messages                  x x
  x x   [X] tar       GNU tar 1.12 - REQUIRED                          x x
  x x   [ ] tcsh      Extended C shell version 6.07                    x x
  x x   [X] txtutils  GNU textutils-1.22 - REQUIRED                    x x
  x x   [ ] zoneinfo  Configures your time zone                        x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x

  `AP' ƒVƒŠ[ƒY‚©‚ç‚ÍŽ„‚̍D‚«‚ȃGƒfƒBƒ^ `JOE' ‚ƃRƒ“ƒpƒNƒg‚Å•Ö—˜‚ȃtƒ@ƒC
  ƒ‹‘€ìƒc[ƒ‹‚Å‚ ‚é `MC' ‚¾‚¯‚ð‘I‘ð‚µ‚Ü‚µ‚½D‚±‚±‚Í•K—v‚ɉž‚¶‚ㆁ[ƒeƒB
  ƒŠƒeƒB‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢D

  lqqqqqqqqq SELECTING PACKAGES FROM SERIES AP (APPLICATIONS) qqqqqqqqqk
  x x     [ ] ispell    The International version of ispell          x x
  x x     [ ] jove      Jonathan's Own Version of Emacs text editor  x x
  x x     [ ] manpgs    More man pages (online documentation)        x x
  x x     [ ] diff      GNU diffutils                                x x
  x x     [ ] sudo      Allow special users limited root access      x x
  x x     [ ] ghostscr  GNU Ghostscript version 3.33                 x x
  x x     [ ] gsfonts1  Ghostscript fonts (part one)                 x x
  x x     [ ] gsfonts2  Ghostscript fonts (part two)                 x x
  x x     [ ] gsfonts3  Ghostscript fonts (part three)               x x
  x x     [ ] jed       JED programmer's editor                      x x
  x x     [X] joe       joe text editor, version 2.8                 x x
  x x     [ ] jpeg      JPEG image compression utilities             x x
  x x     [ ] bc        GNU bc - arbitrary precision math language   x x
  x x     [ ] workbone  a text-based audio CD player                 x x
  x x     [X] mc        The Midnight Commander file manager          x x
  x x     [ ] mt_st     mt ported from BSD - controls tape drive     x x
  x x     [ ] groff     GNU troff document formatting system         x x
  x x     [ ] quota     User disk quota utilities                    x x
  x x     [ ] sc        The 'sc' spreadsheet                         x x
  x x     [ ] texinfo   GNU texinfo documentation system             x x
  x x     [ ] vim       Improved vi clone                            x x
  x x     [ ] ash       A small /bin/sh type shell - 62K             x x
  x x     [ ] zsh       Zsh - a custom *nix shell                    x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x

  `N' ƒpƒbƒP[ƒW‚©‚ç‚Í TCP/IP ‚¾‚¯‚ð“ü‚ê‚Ü‚µ‚½D‚±‚ê‚Í•K‚¸‚µ‚à•K—v‚Å‚Í‚ 
  ‚è‚Ü‚¹‚ñ‚ªC”ñí‚É•Ö—˜‚Å‚·‚µCƒ‹[ƒg‚É RAID ƒAƒŒƒC‚ªƒ}ƒEƒ“ƒg‚³‚ê‚Ä‚¢‚È
  ‚¢ó‘Ô‚Å•œ‹Œ‚âXV‚̍ì‹Æ‚ðs‚¤Û‚Ƀlƒbƒgƒ[ƒN‚ɃAƒNƒZƒX‚Å‚«‚é‚悤‚É‚È
  ‚è‚Ü‚·DTCP/IP ‚É‚Í `A' ‚ÉŠÜ‚Ü‚ê‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚¢‚­‚‚©‚ªŽg—p‚·‚é
  `biff' ‚àŠÜ‚ñ‚Å‚¢‚Ü‚·D`N' ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚È‚©‚Á‚½‚Æ‚µ‚Ä‚àCbiff ƒpƒb
  ƒP[ƒW‚Í“ü‚ꂽ‚­‚È‚é‚ÆŽv‚¢‚Ü‚·D

  lqqqq SELECTING PACKAGES FROM SERIES N (NETWORK/NEWS/MAIL/UUCP) qqqqqk
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x    [ ] apache    Apache WWW (HTTP) server                      x x
  x x    [ ] procmail  Mail delivery/filtering utility               x x
  x x    [ ] dip       Handles SLIP/CSLIP connections                x x
  x x    [ ] ppp       Point-to-point protocol                       x x
  x x    [ ] mailx     The mailx mailer                              x x
  x x    [X] tcpip     TCP/IP networking programs                    x x
  x x    [ ] bind      Berkeley Internet Name Domain server          x x
  x x    [ ] rdist     Remote file distribution utility              x x
  x x    [ ] lynx      Text-based World Wide Web browser             x x
  x x    [ ] uucp      Taylor UUCP 1.06.1 with HDB && Taylor configs x x
  x x    [ ] elm       Menu-driven user mail program                 x x
  x x    [ ] pine      Pine menu-driven mail program                 x x
  x x    [ ] sendmail  The sendmail mail transport agent             x x
  x x    [ ] metamail  Metamail multimedia mail extensions           x x
  x x    [ ] smailcfg  Extra configuration files for sendmail        x x
  x x    [ ] cnews     Spools and transmits Usenet news              x x
  x x    [ ] inn       InterNetNews news transport system            x x
  x x    [ ] tin       The 'tin' news reader (local or NNTP)         x x
  x x    [ ] trn       'trn' for /var/spool/news                     x x
  x x    [ ] trn-nntp  'trn' for NNTP (install 1 'trn' maximum)      x x
  x x    [ ] nn-spool  'nn' for /var/spool/news                      x x
  x x    [ ] nn-nntp   'nn' for NNTP (install 1 'nn' maximum)        x x
  x x    [ ] netpipes  Network pipe utilities                        x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x

  ƒCƒ“ƒXƒg[ƒ‹‚ªI—¹‚µ‚½‚çC‚»‚êˆÈŠO‚̍€–Ú‚É‚Í‘S‚Ä `no' ‚Æ“š‚¦(‘S‚Ă̐Ý
  ’荀–Ú‚É `no' ‚Æ“š‚¦‚é)CƒXƒNƒŠƒvƒg‚ðI—¹‚µ‚Ü‚·D

  4.6.  Linux pthreads  ‚̃Cƒ“ƒXƒg[ƒ‹

  ŽŸ‚É`linuxthreads-0.71' ƒ‰ƒCƒuƒ‰ƒŠ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD
  ‚±‚±‚Å‚ÍŽèì‹Æ‚É‚æ‚éƒCƒ“ƒXƒg[ƒ‹‚ðÚ‚µ‚­à–¾‚·‚é‘ã‚í‚è‚ɁClinuxthreads
  ‚Ì Makefile ‚ɑ΂·‚鍷•ªƒpƒbƒ`‚ðŽ¦‚µ‚Ü‚·DŒ³‚Ì Makefile ‚ð•Û‘¶‚µ‚Ä‚©‚ç
  diff ƒRƒ}ƒ“ƒh‚Ńpƒbƒ`‚𓖂āC‚»‚µ‚Ä make ‚ðs‚¢‚Ü‚·D

          cd /usr/src/linuxthreads-0.71
    patch
          make
          make install

  -------------------diff Makefile.old  Makefile.raid-----------------
  2a3,13
  > # If you are building "linuxthreads" for installation on a mount
  > # point which is not the "root" partition, redefine 'BUILDIR' to
  > # the mount point to use as the "root" directory
  > # You may wish to do this if you are building an 'initial ram disk'
  > # such as used with bootable root raid devices.
  > # REQUIRES ldconfig version 1.9.5 or better
  > # do ldconfig -v to check
  > #
  > BUILDIR=/root/raidboot/mnt
  > #BUILDIR=
  >
  81,82c92,93
  <       install pthread.h $(INCLUDEDIR)/pthread.h
  <       install semaphore.h $(INCLUDEDIR)/semaphore.h
  ---
  >       install pthread.h $(BUILDIR)$(INCLUDEDIR)/pthread.h
  >       install semaphore.h $(BUILDIR)$(INCLUDEDIR)/semaphore.h
  84c95
  <       test -f /usr/include/sched.h || install sched.h $(INCLUDEDIR)/sched.h
  ---
  >       test -f $(BUILDIR)/usr/include/sched.h || install sched.h $(BUILDIR)$(INCLUDEDIR)/sched.h
  86,89c97,103
  <       install $(LIB) $(LIBDIR)/$(LIB)
  <       install $(SHLIB) $(SHAREDLIBDIR)/$(SHLIB)
  <       rm -f $(LIBDIR)/$(SHLIB0)
  <       ln -s $(SHAREDLIBDIR)/$(SHLIB) $(LIBDIR)/$(SHLIB0)
  ---
  >       install $(LIB) $(BUILDIR)$(LIBDIR)/$(LIB)
  >       install $(SHLIB) $(BUILDIR)$(SHAREDLIBDIR)/$(SHLIB)
  >       rm -f $(BUILDIR)$(LIBDIR)/$(SHLIB0)
  >       ln -s $(SHAREDLIBDIR)/$(SHLIB) $(BUILDIR)$(LIBDIR)/$(SHLIB0)
  > ifneq ($(BUILDIR),)
  >       ldconfig -r ${BUILDIR} -n $(SHAREDLIBDIR)
  > else
  91c105,106
  <       cd man; $(MAKE) MANDIR=$(MANDIR) install
  ---
  > endif
  >       cd man; $(MAKE) MANDIR=$(BUILDIR)$(MANDIR) install

  4.7.  RAID ƒc[ƒ‹‚̃Cƒ“ƒXƒg[ƒ‹

  ƒCƒ“ƒXƒg[ƒ‹‚ÌŽŸ‚̃Xƒeƒbƒv‚́CRAID ƒc[ƒ‹ raidtools-0.42 ‚̃Cƒ“ƒXƒg[
  ƒ‹‚Å‚·D

  RAMƒfƒBƒXƒN‚̃tƒ@ƒCƒ‹‚ð\’z‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ð Makefile ‚É‹³‚¦‚邽‚ß‚É
  "configure" ƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚Ü‚·D

    cd /usr/src/raidtools-0.42
    configure --sbindir=/root/raidboot/mnt/sbin --prefix=/root/raidboot/mnt/usr
    make
    make install

  ‚±‚±‚Å’ˆÓ‚·‚ׂ«“_‚ª‚ ‚è‚Ü‚·DƒCƒ“ƒXƒg[ƒ‹‚ÉŽg‚¤ Makefile ‚͐³‚µ‚­‚È‚¢
  ‚̂ŁC‚±‚ê‚𒼂·‚½‚ß‚ÉŽŸ‚̍ì‹Æ‚ðs‚¢‚Ü‚·D‚±‚ê‚͏«—ˆ‚̃ŠƒŠ[ƒX‚ł͏C³
  ‚³‚êCÄƒŠƒ“ƒN‚Í•K—v–³‚­‚È‚é—\’è‚Å‚·D

       ƒCƒ“ƒXƒg[ƒ‹ƒGƒ‰[‚̏C³

  ³‚µ‚­‘€ì‚·‚邽‚ß‚É‚Í Makefile ‚Ì `LINKS' ‚ÅŽw’肳‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚Ì
  ƒŠƒ“ƒN‚ðíœ‚µC’£‚è’¼‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD

          cd /root/raidboot/mnt/sbin
          ln -fs mdadd mdrun
          ln -fs mdadd mdstop

  4.8.  V‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚©‚ç‚Ì•s—v‚ȃfƒBƒŒƒNƒgƒŠ‚ƃtƒ@ƒCƒ‹‚̍폜

  ˆÈ‰º‚̃fƒBƒŒƒNƒgƒŠ‚ƃtƒ@ƒCƒ‹‚ðƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚©‚çíœ‚µ‚Ü‚·D (’ˆÓ:
  Œë‚Á‚ÄŒ»Ý‰Ò“­’†‚̃VƒXƒeƒ€‚̃tƒ@ƒCƒ‹‚ðÁ‚³‚È‚¢‚悤‚ɁD) ‚±‚̃ŠƒXƒg‚ðŒ©
  ‚ătƒ@ƒCƒ‹‚ðÁ‚·‚¾‚¯‚È‚çŠÈ’P‚Å‚·‚ªCŽ„‚ª‚±‚̃ŠƒXƒg‚ð‚Ç‚¤‚â‚Á‚čì‚Á‚½‚Ì
  ‚©‚àl‚¦‚Ä‚­‚¾‚³‚¢I

          cd /root/raidboot/mnt
          rm -r home/ftp/*
          rm -r lost+found
          rm -r usr/doc
          rm -r usr/info
          rm -r usr/local/man
          rm -r usr/man
          rm -r usr/openwin
          rm -r usr/share/locale
          rm -r usr/X*
          rm -r var/man
          rm -r var/log/packages
          rm -r var/log/setup
          rm -r var/log/disk_contents

  4.9.  /dev/md x  ‚̍쐬

  ÅŒã‚̃Xƒeƒbƒv‚́CŒ»Ý‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚©‚ç•œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚É
  /dev/md* ƒfƒoƒCƒX‚ð‚½‚¾ƒRƒs[‚·‚邱‚Æ‚Å‚·D‚±‚ê‚Í mknod ‚Å‚às‚¤‚±‚Æ‚ª
  ‚Å‚«‚é‚Å‚µ‚傤D

          cp -a /dev/md* /root/raidboot/mnt/dev

  4.10.  initrd  ‚Ì‚½‚ß‚Ì—‡‚̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€ì¬

  ‚±‚ê‚ŃJƒXƒ^ƒ}ƒCƒY‚Å‚«CÄ—˜—p‚à‰Â”\‚È‚Ü‚Á‚³‚ç‚ȃtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ª‚Å‚«
  ‚Ü‚µ‚½Dˆê“xƒJƒXƒ^ƒ}ƒCƒY‚·‚é‚ƁC•œ‹ŒƒfƒBƒXƒN‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚邱‚̃tƒ@
  ƒCƒ‹ƒVƒXƒeƒ€‚͉ó‚ê‚Ä‚µ‚Ü‚¢CC³‚·‚邽‚ß‚É‚ÍRAIDƒc[ƒ‹‚ª•K—v‚Æ‚È‚è‚Ü
  ‚·D‚±‚ê‚ÍŽŸ‚ÌÍ‚Åà–¾‚·‚é linuxrc ƒtƒ@ƒCƒ‹‚ð’ljÁ‚·‚邱‚Æ‚É‚æ‚Á‚āCƒu
  [ƒg‚µ‚㋁[ƒg‚Ƀ}ƒEƒ“ƒg‚·‚é RAID ƒfƒoƒCƒX‚ÉŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·D

  initrd ƒtƒ@ƒCƒ‹‚Ì‚½‚߂ɏ¬‚³‚¢ƒfƒoƒCƒX‚ÖƒVƒXƒeƒ€‚ðƒRƒs[‚µ‚Ü‚·D16ƒƒK
  ƒoƒCƒg‚à‚ ‚ê‚Ώ\•ª‚Å‚µ‚傤D

  ¬‚³‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ðì‚èC‚±‚ê‚ðƒ}ƒEƒ“ƒg‚µ‚Ü‚·D

          cd /root/raidboot
          dd if=/dev/zero of=bare.fs bs=1024k count=16

  ƒtƒ@ƒCƒ‹‚ð loop ƒfƒoƒCƒX‚Æ‚µC‚±‚̃tƒ@ƒCƒ‹ã‚É ext2 ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€\
  ’z‚µ‚Ü‚·D

          losetup /dev/loop1 bare.fs
          mke2fs -v -m0 -L initrd /dev/loop1
          mount /dev/loop1 mnt2

  `build'ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð`bare.fs'‚ɃRƒs[‚µ‚Ü‚·D

          cp -a mnt/* mnt2

  Œã‚̍XV‚ð—eˆÕ‚É‚·‚邽‚߁CƒJƒXƒ^ƒ}ƒCƒY‚Ì‘O‚É `bare.fs' ƒVƒXƒeƒ€‚ð•Û‘¶
  ‚µ‚Ü‚·D`build' ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Í‚à‚¤•K—v‚ ‚è‚Ü‚¹‚ñ‚̂ŁCÁ‚µ‚Ä‚à\‚¢
  ‚Ü‚¹‚ñD

          cd /root/raidboot
          umount mnt
          umount mnt2
          losetup -d /dev/loop0
          losetup -d /dev/loop1
          rm build
          cp bare.fs rescue
          gzip -9 bare.fs

  4.10.1.  ‹N“®/•œ‹Œ—p‚Ì initrd  ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍쐬

  ŽŸ‚ɁCì‹Æ—p‚̃}ƒVƒ“‚©‚çƒJ[ƒlƒ‹‚É“K‡‚·‚éƒVƒXƒeƒ€ˆË‘¶‚̃tƒ@ƒCƒ‹‚ðƒRƒs
  [‚·‚é‚©Cƒ^[ƒQƒbƒg‚̃VƒXƒeƒ€‚É“K‡‚·‚é‚悤‚É•œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ì
  ƒtƒ@ƒCƒ‹‚ðŽè‚ŏC³‚·‚é‚©‚µ‚Ü‚·D

          losetup /dev/loop0 rescue
          mount /dev/loop0 mnt

  etc ƒfƒBƒŒƒNƒgƒŠ‚É *~ ƒtƒ@ƒCƒ‹‚âCcore, ƒƒOƒtƒ@ƒCƒ‹‚ª–³‚¢‚±‚Æ‚ðŠm”F‚µ
  ‚Ü‚·DŽŸ‚Ì2‚‚̃Rƒ}ƒ“ƒh‚Í‚¢‚­‚‚©ƒEƒH[ƒjƒ“ƒO‚ðo‚µ‚Ü‚·‚ªC–³Ž‹‚µ‚Ä‚­
  ‚¾‚³‚¢D

          cp -dp /etc/* mnt/etc
          cp -dp /etc/rc.d/* mnt/etc/rc.d

          mkdir  mnt/lib/modules
          cp -a  /lib/modules/2.x.x mnt/lib/modules <--- your current 2.x.x

  4.10.2.  •œ‹ŒƒVƒXƒeƒ€‚̏C³

  •œ‹ŒƒVƒXƒeƒ€‚̈ȉº‚̃tƒ@ƒCƒ‹‚ðC³‚µ‚Ü‚·D‚±‚±‚Å‹“‚°‚éƒtƒ@ƒCƒ‹‚Ì’†‚É‚Í
  Slackware “Á—L‚Ì‚à‚Ì‚à‚ ‚è‚Ü‚·‚ªC‘¼‚̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Å‚à“¯“™‚Ì
  ‚à‚Ì‚ª‚ ‚é‚Í‚¸‚Å‚·D

          cd mnt

  ƒlƒbƒgƒ[ƒNŠÖŒW‚Å‚È‚¢‚à‚Ì
          etc/fstab
          etc/mdtab       ‚»‚Ì‚Ü‚Ü‚Å‘åä•v‚Å‚µ‚傤
  ƒlƒbƒgƒ[ƒNŠÖŒW
          etc/hosts
          etc/resolv.conf
          etc/hosts.equiv         ‹y‚ÑŠÖ˜Aƒtƒ@ƒCƒ‹
          etc/rc.d/rc.inet1       IPƒAƒhƒŒƒXCƒlƒbƒgƒ}ƒXƒNCƒQƒCƒgƒEƒFƒC‚̐ݒè‚ðC³‚µ‚Ü‚·
          etc/rc.d/rc.S           ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃Xƒe[ƒ^ƒXŠÖŒW‚Ì•”•ª‚ð‘S‚č폜‚µ‚Ü‚·
                          # Test to see if the root partition is read-only
                  ‚Ì•”•ª‚©‚ç
                          # remove /etc/mtab* so that mount will .....
                  ‚ðŠÜ‚Ü‚È‚¢•”•ª‚Ü‚Å‚ðíœ‚µ‚Ü‚·D
                                  ‚±‚ê‚Í RAMƒfƒBƒXƒN‚ª“ǂݏ‘‚«‰Â”\‚Ń}ƒEƒ“
                                  ƒg‚³‚ê‚é‚Əo‚邤‚邳‚¢ƒEƒH[ƒjƒ“ƒO‚ðo
                                  ‚È‚¢‚悤‚É‚µ‚Ü‚·D
          etc/rc.d/rc.xxxxx       •K—v‚È‚ç‚Α¼‚̃tƒ@ƒCƒ‹‚àD–{•¶‘‚ÅŒãq‚µ‚Ü‚·
          root/.rhosts            ‚à‚µ‘¶Ý‚·‚ê‚Î
          home/xxxx/xxxx          •K—v‚È‚ç‚Α¼‚̃tƒ@ƒCƒ‹‚à

      Œx:       ‚±‚̍ì‹Æ‚Å passwd ‚Æ shadow ‚̃tƒ@ƒCƒ‹‚Í•œ‹ŒƒVƒXƒeƒ€‚É
                  ƒRƒs[‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·I‚±‚ê‚̓ZƒLƒ…ƒŠƒeƒBã‚Ì——R‚ōD
                  ‚Ü‚µ‚­‚È‚¢ê‡‚à‚ ‚é‚Å‚µ‚傤D

  •K—v‚ɉž‚¶‚Ä /dev/disk ‚ðƒ}ƒEƒ“ƒg‚·‚邽‚߂̃fƒBƒŒƒNƒgƒŠ‚ðì‚è‚Ü‚·D‚±
  ‚ê‚̓VƒXƒeƒ€‚ňêˆÓ‚ÉŒˆ‚Ü‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD‚±‚ê‚ç‚̓VƒXƒeƒ€‚ð‹N“®‚·
  ‚邽‚߂̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg(‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚Æ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚̃oƒb
  ƒNƒAƒbƒv)‚É‚È‚è‚Ü‚·D•MŽÒ‚̃VƒXƒeƒ€‚Í loadlin ‚ð—˜—p‚µ‚Ä DOS ‚©‚ç‹N“®
  ‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªCLinux ƒp[ƒeƒBƒVƒ‡ƒ“‚â LILO ‚Å‚à‚¤‚Ü‚­“®ì‚µ
  ‚Ü‚·D•MŽÒ‚̃VƒXƒeƒ€‚ł͈ȉº‚̂悤‚É‚È‚Á‚Ä‚¢‚Ü‚·D

          cd /root/raidboot/mnt           <-- initrd ‚̃‹[ƒg
          mkdir dosa                      DOS ƒp[ƒeƒBƒVƒ‡ƒ“‚̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg
          mkdir dosb                      DOS ‚̃~ƒ‰[‚̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg

  •œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Í‚±‚ê‚ŏo—ˆã‚ª‚è‚Å‚·I

  •œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃tƒ@ƒCƒ‹‚𒲂ׂê‚΁C‚Ü‚¾‘½‚­‚̃tƒ@ƒCƒ‹‚ðÁ‚¹‚邱
  ‚Æ‚ª•ª‚©‚é‚ÆŽv‚¢‚Ü‚·D‚±‚̍ì‹Æ‚Í•¡ŽG‚·‚¬‚邱‚ƂƁC‚Ù‚Æ‚ñ‚Ç‚Ì RAID ƒVƒX
  ƒeƒ€‚ɂ͏\•ª‚ȃfƒBƒXƒN‚ƃƒ‚ƒŠ‚ª‚ ‚邱‚Æ‚©‚çCŽ„‚Í‚±‚ê‚ðs‚Á‚Ä‚Í‚¢‚Ü‚¹
  ‚ñDƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð‚à‚Á‚ƃXƒ}[ƒg‚É‚µ‚½‚¯‚ê‚΁C‚²Ž©•ª‚Å‚â‚Á‚Ä‚­‚¾‚³
  ‚¢I

  4.11.  `initrd' ‚Å RAID ƒfƒoƒCƒX‚©‚ç‹N“®‚³‚¹‚é - linuxrc

  •œ‹ŒƒfƒBƒXƒN‚Å RAID ƒfƒoƒCƒX‚ð‹N“®‚·‚é‚ɂ́C‚½‚¾ŽŸ‚̃XƒNƒŠƒvƒgƒtƒ@ƒCƒ‹

       linuxrc

  ‚ðƒfƒoƒCƒX‚̃‹[ƒg‚ɃRƒs[‚·‚邾‚¯‚Å‚·D

  ‚±‚Ì linuxrc ƒtƒ@ƒCƒ‹‚Ì“®ì‚ɂ‚¢‚Ă̘b‚Í ``•t˜^ G, linuxrc ‚Ì“®ì‚É‚Â
  ‚¢‚Ä''‚Å‹c˜_‚µ‚Ü‚·D
  ‚à‚Á‚ÆŠÈ’P‚Å—‰ð‚µ‚â‚·‚¢(“®ì‚à‚·‚é) linuxrc ‚Í ``•t˜^ D'' ‚É‚ ‚è‚Ü‚·
  ‚ªC‚±‚ê‚͌¢ linuxrc ‚Æ’âŽ~ƒXƒNƒŠƒvƒg‚Å‚·DˆÈ‰º‚Ì•”•ª‚ð linuxrc‚Æ‚µ
  ‚čì‹ÆƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚¨‚«‚Ü‚µ‚傤D

   -------------------- linuxrc ----------------------
  #!/bin/sh
  # ver 1.13 3-6-98
  #
  ################# BEGIN 'linuxrc' ##################
  #                DEFINE FUNCTIONS                  #
  ####################################################
  # Define 'Fault' function in the event something
  # goes wrong during the execution of 'linuxrc'
  #
  FaultExit () {
  # correct fstab to show '/dev/ram0' for rescue system
      /bin/cat /etc/fstab | {
      while read Line
      do
          if [ -z "$( echo ${Line} | /usr/bin/grep md0 )" ]; then
              echo ${Line}
          else
              echo "/dev/ram0 / ext2 defaults 1 1"
          fi
      done
      } > /etc/tmp.$$
      /bin/mv /etc/tmp.$$ /etc/fstab
  #       point root at /dev/ram0 (the rescue system)
          echo 0x100>/proc/sys/kernel/real-root-dev
          /bin/umount /proc
          exit
  }

  # Define 'Warning' procdure to print banner on boot terminal
  #
  Warning () {
      echo '*********************************'
      echo -e " $*"
      echo '*********************************'
  }

  # Define 'SplitKernelArg' to help extract 'Raid' related kernel arguments
  SplitKernelArg () { eval $1='$( IFS=,; echo $2)' }

  #Define 'SplitConfArgs' to help extract system configuration arguments
  SplitConfArgs () {
      RaidBootType=$1
      RaidBootDevice=$2
      RaidConfigPath=$3
  }
  ########################################################
  ################### MAIN linuxrc #######################
  ########################################################
  # mount the proc file system
  /bin/mount /proc

  # Get the boot partition and configuration location from command line
  CMDLINE=`/bin/cat /proc/cmdline`
  for Parameter in $CMDLINE; do
      Parameter=$( IFS='='; echo ${Parameter} )
      case $Parameter in
          Raid*) SplitKernelArg $Parameter;;
      esac
  done

  # check for 'required raid boot'
  if [ -z "${Raid_Conf}" ]; then
      Warning Kernel command line \'Raid_Conf\' missing
      FaultExit
  fi
  SplitConfArgs $Raid_Conf

  # tmp mount the boot partition
  /bin/mount -t ${RaidBootType} ${RaidBootDevice} /mnt

  # get etc files from primary raid system
  pushd /etc

  # this will un-tar into 'etc' (see rc.6)
  if [ ! -f /mnt/${RaidConfigPath}/raidboot.etc ]; then
  # bad news, this file should be here
      Warning required file \'raidboot.etc\' \
      missing from ${RaidBootDevice}/${RaidConfigPath} \\n \
      \\tUsing rescue system defaults
  else
      /bin/tar -xf /mnt/${RaidConfigPath}/raidboot.etc
  fi
  # get 'real' raidboot device for this boot
  # status path, and name of raidX.conf
  if [ ! -f /mnt/${RaidConfigPath}/raidboot.cfg ]; then
  # bad news, this file should be here
      Warning required file 'raidboot.cfg' \
      missing from ${RaidBootDevice}/${RaidConfigPath}\\n \
      \\tUsing rescue system defaults
  # Get the first raidX.conf file name in $RArg1
      RaidBootDevs=$RaidBootDevice
      RaidStatusPath=$RaidConfigPath
      for RaidConfigEtc in $( ls raid*.conf )
      do break; done
  else
      {
      read RaidBootDevs
      read RaidStatusPath
      read RaidConfigEtc
      } < /mnt/${RaidConfigPath}/raidboot.cfg

  fi
  popd
  /bin/umount /mnt

  # Set a flag in case the raid status file is not found
  #
  RAIDOWN="raidboot.ro not found"
  RAIDREF="raidgood.ref not found"
  echo "Reading md0 shutdown status."

  # search for raid shutdown status
  for Device in ${RaidBootDevs}
  do
  #   these filesystem types should be in 'fstab' since
  #   the partitions must be mounted for a clean raid shutdown
      /bin/mount ${Device} /mnt
      if [ -f /mnt/${RaidStatusPath}/raidboot.ro ]; then
          RAIDOWN=`/bin/cat /mnt/${RaidStatusPath}/raidboot.ro`
          RAIDREF=`/bin/cat /mnt/${RaidStatusPath}/raidgood.ref`
          /bin/umount /mnt
          break
      fi
      /bin/umount /mnt
  done
  # Test for a clean shutdown with array matching reference
  if [ "${RAIDOWN}" != "${RAIDREF}" ]; then
      Warning shutdown ERROR ${RAIDOWN}
      FaultExit
  fi

  # The raid array is clean, remove shutdown status files
  for Device in ${RaidBootDevs}
  do
      /bin/mount ${Device} /mnt
      /bin/rm -f /mnt/${RaidStatusPath}/raidboot.ro
      /bin/umount /mnt
  done

  # Write a clean superblock on all raid devices

  echo "write clean superblocks"
  /sbin/mkraid -f --only-superblock /etc/${RaidConfigEtc}

  # Activate raid array(s)
  if [ -z "$Raid_ALT" ]; then
      /sbin/mdadd -ar
  else
      /sbin/mdadd $Raid_ALT
  fi

  #  If there are errors - BAIL OUT and leave rescue running
  if [ $? -ne 0 ]; then
     Warning some RAID device has errors
     FaultExit
  fi

  # Everything is fine, let the kernel mount /dev/md0
  # tell the kernel to switch to /dev/md0 as the /root device
  # The 0x900 value is the device number calculated by:
  #  256*major_device_number + minor_device number
  echo "/dev/md0 mounted on root"
  echo 0x900>/proc/sys/kernel/real-root-dev
  # umount /proc to deallocate initrd device ram space
  /bin/umount /proc
  exit
  #------------------ end linuxrc ----------------------

  `linuxrc' ‚ð initrd ‚Ì‹N“®ƒfƒoƒCƒX‚ɒljÁ‚µ‚Ü‚·D

          cd /root/raidboot
          chmod 777 linuxrc
          cp -p linuxrc mnt

  4.12.  ƒVƒƒƒbƒgƒ_ƒEƒ“—p‚Ì rc ƒXƒNƒŠƒvƒg‚̏C³

  ƒCƒ“ƒXƒg[ƒ‹‚̍Ōã‚̎菇‚́CƒVƒƒƒbƒgƒ_ƒEƒ“Žž‚É md ‚̏ó‘Ô‚ð–{“–‚̃‹[ƒg
  ƒfƒoƒCƒX‚É•Û‘¶‚·‚邳‚¹‚é‚悤‚É rc ƒXƒNƒŠƒvƒg‚ðC³‚·‚邱‚Æ‚Å‚·D

  Slackware ‚̏ꍇ‚́Crc.0 ‚©‚ç rc.6 ‚Å‚·DDebian `bo' ‚̏ꍇ‚́C‚±‚ê‚Í
  `halt' ‹y‚Ñ `reboot' ‚É‚È‚è‚Ü‚·D

  ‚à‚µ‚±‚êˆÈŠO‚̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ÅŽÀs‚µ‚½ê‡‚́C‚±‚Ì•¶‘‚ɒljÁ‚·
  ‚邽‚߁CŽè‡‚ƃTƒ“ƒvƒ‹ƒtƒ@ƒCƒ‹‚ð•MŽÒ‚Ƀ[ƒ‹‚Å‘—‚Á‚Ä‚­‚¾‚³‚¢D

  Ž„‚ÍRAID ’âŽ~Žž‚Ì–â‘è‰ñ”ð‚Ì‚½‚ß‚Ì  Bohumil Chalupa ‚³‚ñ‚Ì•û–@‚ð­‚µ•Ï
  X‚µ‚½‚à‚Ì‚ðŽg‚Á‚Ä‚¢‚Ü‚·D”Þ‚ÌŽ¦‚µ‚½Œ³‚Ì•û–@‚Í ``•t˜^A''‚ŏq‚ׂ܂·D

  Ž„‚ÌŽdŽ–—pƒVƒXƒeƒ€‚É‚Í md0 ˆÈŠO‚Ì Linux ƒp[ƒeƒBƒVƒ‡ƒ“‚ÍŽc‚Á‚Ä‚¢‚È‚¢‚Ì
  ‚ŁCraidOK readonly ‚̃Xƒe[ƒ^ƒX‚ð•Û‘¶‚·‚邽‚ß‚É‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚ð
  Žg‚Á‚Ä‚¢‚Ü‚·D•MŽÒ‚̓Vƒƒƒbƒgƒ_ƒEƒ“Žž‚É md ƒAƒŒƒC‚̃Xƒe[ƒ^ƒX‚ðŠÜ‚Þ‹N“®
  ƒp[ƒeƒBƒVƒ‡ƒ“‚Æ‚»‚Ì•¡»‚Ì—¼•û‚Öƒtƒ@ƒCƒ‹‚ð‘‚«ž‚݁Cmd ƒfƒoƒCƒX‚ªƒŠ[
  ƒhƒIƒ“ƒŠ[‚ōă}ƒEƒ“ƒg‚³‚ꂽ‚±‚Æ‚ð‹L˜^‚·‚邱‚Æ‚É‚µ‚Ü‚µ‚½D‚±‚ê‚̓n[ƒh
  ƒfƒBƒXƒN‚Ì‚Ç‚ê‚©‚ª‰ó‚ꂽ‚Æ‚«‚̏áŠQ‘΍ô‚Æ‚È‚è‚Ü‚·D

  ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚͏C³‚³‚êC``rc.raidown'' ‚Æ‚¢‚¤–¼‘O‚É‚È‚è‚Ü
  ‚·D‚±‚ê‚́C³‚µ‚­Ä‹N“®‚µ‚āC RAID ƒfƒoƒCƒX‚ðƒ}ƒEƒ“ƒg‚·‚邽‚ß‚É•K—v‚È
  î•ñ‚ð•Û‘¶‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚·DŠeƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“—p‚̃Vƒƒƒbƒgƒ_ƒE
  ƒ“ƒXƒNƒŠƒvƒg‚Ì—á‚Í ``•t˜^ B''‚ŏЉ‚Ü‚·D

  RAID ƒAƒŒƒC‚̃Vƒƒƒbƒgƒ_ƒEƒ“Žž‚̂̃Xƒe[ƒ^ƒX‚𓾂邽‚߂ɁC‘S‚Ä‚Ì case
  •¶(‚à‚µ‚ ‚ê‚Î)‚ÌŒã‚ŁC‚©‚CŽÀÛ‚̃Vƒƒƒbƒgƒ_ƒEƒ“(kill, ó‘Ô•Û‘¶“™)‚Æ
  ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃Aƒ“ƒ}ƒEƒ“ƒg‚Ì‘O‚Ì•”•ª‚É‚¨‚¢‚Ä ``rc.raidown''‚ðŒÄ‚Ñ
  o‚µ‚Ü‚·D

  ############ Save raid boot and status info ##############
  #
    if [ -x /etc/rc.d/rc.raidown ]; then
      /etc/rc.d/rc.raidown
    fi
  ################## end raid boot #########################

  ‘S‚Ẵtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ªƒAƒ“ƒ}ƒEƒ“ƒg‚³‚ꂽŒã(ƒ‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Í
  ƒAƒ“ƒ}ƒEƒ“ƒgu‚³‚ê‚Ü‚¹‚ñv)‚©‚C“dŒ¹’f‚̃Xƒe[ƒ^ƒXƒ`ƒFƒbƒN‚Ì‘O‚ÉŽŸ‚Ì
  ƒRƒ}ƒ“ƒh‚ð“ü‚ê‚Ü‚·D

  ################ for raid arrays #########################
  # Stop all known raid arrays (except root which won't stop)
    if [ -x /sbin/mdstop ]; then
      echo "Stopping raid"
      /sbin/mdstop -a
    fi
  ##########################################################

  ‚±‚ê‚É‚æ‚胋[ƒgˆÈŠO‚Ì‘S‚Ä‚Ì RAID ƒfƒoƒCƒX‚ðˆÀ‘S‚É’âŽ~‚³‚¹‚邱‚Æ‚ª‚Å‚«
  ‚Ü‚·Dƒ‹[ƒg‚̃Xƒe[ƒ^ƒX‚Í raidstat.ro ‚É‹L˜^‚³‚êCŽŸ‰ñ‚Ì‹N“®Žž‚ÉŽQÆ
  ‚³‚ê‚Ü‚·D

  rc ƒtƒ@ƒCƒ‹‚ðV‚µ‚¢ RAID ƒAƒŒƒCC‚Ü‚¾  /root/raidboot/mnt ‚Ƀ}ƒEƒ“ƒg‚³
  ‚ê‚Ä‚¢‚é•œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€C(‚à‚µ“¯‚¶ƒ}ƒVƒ“‚È‚ç‚Î) ì‹Æ—pƒVƒXƒeƒ€‚Ì
  ‚»‚ꂼ‚ê‚ɃRƒs[‚µ‚Ü‚·D

  •K—v‚ɉž‚¶‚Ä•œ‹Œƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ìetc/fstab‚̏C³‚ƁC•œ‹Œƒtƒ@ƒCƒ‹ƒVƒX
  ƒeƒ€‚Ì mdtab ‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚ðs‚¢‚Ü‚·D

  ‚³‚āC•œ‹ŒƒfƒBƒXƒN‚ð DOS ƒp[ƒeƒBƒVƒ‡ƒ“‚ɃRƒs[‚·‚ê‚΁CRAID ƒfƒoƒCƒX‚ð
  ƒ‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Æ‚µ‚ăVƒXƒeƒ€‚ð‹N“®‚·‚鏀”õ‚͏I‚í‚è‚Å‚·D

          umount mnt
          losetup -d /dev/loop0
          gzip -9 rescue

  ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚É rescue.gz ‚ðƒRƒs[‚µ‚Ü‚·D

  Žc‚éì‹Æ‚́CÝ’èƒtƒ@ƒCƒ‹ raidboot.conf ‚ðì‚èCƒVƒXƒeƒ€‚ðÄ‹N“®‚µ‚ĐV
  ‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ðƒeƒXƒg‚·‚邱‚Æ‚¾‚¯‚Å‚·D

  4.13.  Configuring RAIDBOOT - raidboot.conf

  Ý’è—á‚ÌŒã‚̃Rƒƒ“ƒg‚́CÝ’èƒtƒ@ƒCƒ‹‚̍ŏ‰‚Ì3s‚Ì‚»‚ꂼ‚ê‚ɂ‚¢‚Ă̐à
  –¾‚Å‚·D—á‚Í 4 ƒhƒ‰ƒCƒu‚Ì SCSI RAID5 ƒAƒŒƒC‚ŁC‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚ð
  sda1 ‚Æ sdb1 ƒhƒ‰ƒCƒu‚É•¡»‚µ‚Ä‚¢‚éê‡‚Ì‚à‚Ì‚Å‚·DŽÀÛ‚ÉŽg—p‚·‚éê‡
  ‚ɂ́C‚±‚Ì‘ã‚í‚è‚Ƀtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ɉž‚¶‚½ƒpƒ‰ƒ[ƒ^‚ðÝ’肵‚Ä‚­‚¾‚³
  ‚¢D

    /dev/sda1 /dev/sdb1
    linux
    raid5.conf
  # ƒRƒƒ“ƒg‚Í3‚‚̐ݒès‚́uŒãv‚É‚Ì‚Ý‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D
  #
  # ‚±‚̃tƒ@ƒCƒ‹‚Í 'raidboot.conf' ‚Å‚·D
  #
  # 1s–Ú, 'initrd' RAID-•œ‹ŒƒVƒXƒeƒ€‚Ì‚ ‚éƒp[ƒeƒBƒVƒ‡ƒ“
  #       ‚±‚ê‚ç‚̃p[ƒeƒBƒVƒ‡ƒ“‚©‚ç‹N“®‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñ‚ªC•œ‹ŒƒVƒX
  #       ƒeƒ€‚̓tƒƒbƒs[ƒfƒBƒXƒN‚É‚Í“ü‚ç‚È‚¢‚Å‚µ‚傤‚©‚çC•œ‹ŒƒVƒXƒeƒ€
  #       ‚ð‚ǂ̃p[ƒeƒBƒVƒ‡ƒ“‚©‚烍[ƒh‚·‚é‚Ì‚©‚í‚©‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD
  #
  # 2s–Ú, raidboot ‚̐ݒèî•ñ‚ւ̃pƒX
  #       ƒVƒƒƒbƒgƒ_ƒEƒ“Žž‚̃Xƒe[ƒ^ƒX“™‚ª‹N“®Žž‚É‚Ç‚±‚É‚ ‚é‚Ì‚©Ž¦‚µ‚Ü‚·D
  #       ‚±‚ê‚̓}ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚̏î•ñ‚ÍŠÜ‚Ü‚¸C'ƒpƒX'
  #       /ƒ}ƒEƒ“ƒgƒ|ƒCƒ“ƒg/'ƒpƒX'‚Ì‚Ý‚ðŠÜ‚Ý‚Ü‚·D
  #
  # 3s–Ú, RAID Ý’èƒtƒ@ƒCƒ‹‚̃tƒ@ƒCƒ‹–¼
  #       Œ»Ý‚Ì RAID Ý’èƒtƒ@ƒCƒ‹‚Å‚·‚©‚çC‚‚܂è raid1.conf,
  #       raid5.conf ‚É‚È‚è‚Ü‚·D

  4.14.  •œ‹ŒCRAID ƒVƒXƒeƒ€‚Ì 'loadlin ‚Æ LILO' ‚̃J[ƒlƒ‹ƒpƒ‰ƒ[ƒ^Žw
  ’è

  •œ‹Œ‚ÆRAID‚Ì2‚‚̃J[ƒlƒ‹ƒpƒ‰ƒ[ƒ^‚ª‚ ‚è‚Ü‚·‚ªCŽw’è‚·‚é•K—v‚ª‚ ‚é‚Ì
  ‚Í‘OŽÒ‚Ì‚Ý‚Å‚·D

  o  Raid_Conf=msdos,/dev/sda1,raidboot

       ‚±‚̃pƒ‰ƒ[ƒ^‚Í RAID ‹N“®ƒfƒoƒCƒX‚Ɛݒèƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü
       ‚·Dƒtƒƒbƒs[ƒfƒBƒXƒN‚Ì•œ‹ŒƒVƒXƒeƒ€‚ð‹N“®‚·‚éê‡‚ɂ́CƒJ[
       ƒlƒ‹‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“C loadlin ‚ ‚é‚¢‚Í LILO ‚Ì‹N“®ƒtƒ@ƒCƒ‹
       ‚É‚±‚Ì‹Lq‚ð‚µ‚Ü‚·D

       ‘Ž®: 'ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ÌŽí—Þ,ƒfƒoƒCƒX,ƒ}ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚©‚ç
       Ý’èƒtƒ@ƒCƒ‹‚ւ̃pƒX'

  o  Raid_ALT=-r,-p5,/dev/md0,/dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3

       mdadd ‚̃pƒ‰ƒ[ƒ^‚Ì‘ã‚í‚è‚É‚È‚è‚Ü‚·Dç’·‚Å‚È‚¢ RAID ƒAƒŒƒC
       ‚©‚ç‹N“®‚·‚é‚Æ‚«‚É•K—v‚Æ‚È‚è‚Ü‚·Dmdadd ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“ƒpƒ‰
       ƒ[ƒ^‚ðƒRƒ“ƒ}‹æØ‚è‚Å‹Lq‚µ‚Ü‚·D”j‘¹‚µ‚½/”ñç’·ƒAƒŒƒC‚ð“®
       ‚©‚·•K—v‚ª‚ ‚é‚Æ‚«ˆÈŠO‚ɂ́CƒRƒƒ“ƒgƒAƒEƒg‚·‚é‚©'ƒkƒ‹•¶Žš
       —ñ'‚ðŽw’肵‚Ü‚·D

       ‚·‚È‚í‚¿ Raid_ALT= ‚ðŽw’肵‚Ü‚·D

  ‚¢‚¸‚ê‚̃pƒ‰ƒ[ƒ^‚à LILO ‚â loadlin ‚Ì‹N“®ƒpƒ‰ƒ[ƒ^ƒtƒ@ƒCƒ‹‚©C
  loadlin ‚̃J[ƒlƒ‹ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÅŽw’è‚Å‚«‚Ü‚·D‚µ‚©‚µCƒRƒ}ƒ“ƒhƒ‰ƒCƒ“
  ‚ÅŽw’è‚·‚éê‡‚ɂ́Cs‚̍őå‚Ì’·‚³(128•¶Žš)‚ð‰z‚¦‚È‚¢‚悤‚É’ˆÓ‚µ‚Ä‚­
  ‚¾‚³‚¢D
  LILO ‚Å‹N“®‚·‚éê‡‚ɂ́CLILO ‚̐ݒèƒtƒ@ƒCƒ‹‚Ö‚Ì‹Lq‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü
  ‚·D

  append="Raid_Conf=msdos,/dev/sda1,raidboot"
  append="Raid_ALT=-r,-p5,/dev/md0,/dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3"

  ‚æ‚èÚ‚µ‚­‚Íman lilo.conf‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D

  •MŽÒ‚Í DOS ‚̐ݒ胆[ƒeƒBƒŠƒeƒB‚ð•K—v‚Æ‚·‚éƒn[ƒhƒEƒFƒA‚ðŽ‚Á‚Ä‚¢‚é‚Ì
  ‚ŁCƒVƒXƒeƒ€‚ɏ¬‚³‚È DOS ƒp[ƒeƒBƒVƒ‡ƒ“‚ðì‚Á‚Ä‚¢‚Ü‚·D‚µ‚½‚ª‚Á‚āC‘Î
  ‚É‚È‚éƒfƒBƒXƒNã‚Ƀ~ƒ‰[(ƒRƒs[)‚ðŽ‚Â RAID5 ƒVƒXƒeƒ€‚ð‹N“®‚·‚é‚Ì‚É
  loadlin ‚ðŽg‚Á‚Ä‚¢‚Ü‚·D“¯‚¶•û–@‚ð RAID1 ƒVƒXƒeƒ€‚Å‚àŽg‚Á‚Ä‚¢‚Ü‚·DˆÈ
  ‰º‚Ì—á‚Å‚Í loadlin ‚ðŽg‚Á‚Ä‚¢‚Ü‚·‚ªC‚â‚è•û‚Í LILO ‚Æ‚æ‚­Ž—‚Ä‚¢‚Ü‚·D

  •K—v‚ɉž‚¶‚Ä loadlin ‚Ì‹N“®ƒpƒ‰ƒ[ƒ^‚ð•ÒW‚µ‚½‚èCƒeƒXƒg’†‚ɃXƒƒbƒv
  ƒfƒBƒXƒNã‚Å Linux ƒVƒXƒeƒ€‚ð‹N“®‚Å‚«‚é‚悤‚ɁCDOS ‚Ƀ‹[ƒg‚ðŽ‚ÂƒVƒX
  ƒeƒ€‚ɂ͏¬‚³‚¢ƒGƒfƒBƒ^‚ð“ü‚ê‚Ä‚¢‚Ü‚·D

  DOS ƒVƒXƒeƒ€‚É‚Í Linux ‚Ì‚½‚߂Ɉȉº‚̂悤‚ȃtƒ@ƒCƒ‹‚ðŽ‚Á‚Ä‚¢‚Ü‚·D

          c:\raidboot.bat
          c:\raidboot\loadlin.exe
          c:\raidboot\zimage
          c:\raidboot\rescue.gz
          c:\raidboot\raidboot.cfg
          c:\raidboot\raidboot.etc
          c:\raidboot\raidgood.ref
          c:\raidboot\raidstat.ro       (only at shutdown)

  ---------------------- linux.bat ---------------------------
  echo "Start the LOADLIN process:"
  c:\raidboot\loadlin @c:\raidboot\boot.par
  -------------------- end linux.bat -------------------------

  boot.par ‚Ì“à—e‚͈ȉº‚Å‚·D

          # loadlin boot parameter file
          #
          # version 1.02 3-6-98

          # linux kernel image
          c:\linux\zimage

          # target root device
          root=/dev/md0
          #root=/dev/ram0
          #root=/dev/sdc5

          # mount root device as 'ro'
          ro

          # size of ram disk
          ramdisk_size=16384

          # initrd file name
          initrd=c:\raidboot\rescue.gz
          #noinitrd

          # memory ends here
          mem=131072k

          # points to raid boot device, configuration file
          # for floppy rescue boot, you may want to specify
          # this on the command line instead of here
          # format 'filesystem-type,device,path-to-config-frm_mntpnt'
          Raid_Conf=msdos,/dev/sda1,raidboot

          # Alternate mdadd parameters
          # necessary when boot with non-redundant raid
          # otherwise, COMMENT OUT OR SPECIFY 'NULL'
          #Raid_ALT=-r,-p5,/dev/md0,/dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3

          # ethernet devices
          ether=10,0x300,eth0

  ***** >> ’ˆÓ!! •œ‹ŒƒVƒXƒeƒ€‚Ì‹N“®‚ƁCRAID ƒfƒoƒCƒX‚̃}ƒEƒ“ƒg‚̏ꍇ‚Å
              ‚́Cloadlin ‚̃pƒ‰ƒ[ƒ^‚ª

                  root=/dev/ram0          for the rescue system
                  root=/dev/md0           for RAID

              ‚̂悤‚ɈقȂ邾‚¯‚Å‚·Droot=/dev/ram0 ‚ðŽw’è‚·‚é‚ƁCRAID
              ƒfƒoƒCƒX‚̓}ƒEƒ“ƒg‚³‚ꂸC•K‚¸•œ‹ŒƒVƒXƒeƒ€‚ª‹N“®‚³‚ê‚Ü‚·D

  RAID ƒAƒŒƒC‚Ì”FŽ¯‚ÉŽ¸”s‚·‚é‚ƁC•œ‹ŒƒVƒXƒeƒ€‚̓}ƒEƒ“ƒg‚³‚êC“®ì‚µ‚Ü
  ‚·D

  5.  •MŽÒ‚ÌŽdŽ–—p RAID ƒVƒXƒeƒ€‚̐ݒè

  5.1.  ƒVƒXƒeƒ€‚ÌŽd—l “¯‚¶ƒ}ƒU[ƒ{[ƒh‚ª“ü‚Á‚Ä‚¢‚é2‚‚̃VƒXƒeƒ€‚̐ݒè‚ð
  ˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·D

                                    Raid-1          Raid-5
  ƒ}ƒU[ƒ{[ƒh:   Iwill P55TU     IDE * 2         Adaptec SCSI
  ƒvƒƒZƒbƒT:     Intel P200
  ƒfƒBƒXƒN:                       7G * 2          Segate 4.2G * 4
                                  Maxtors         Wide SCSI

  ƒfƒBƒXƒNƒhƒ‰ƒCƒu‚Í RAID5 ‚̃}ƒVƒ“‚Å‚Í 'sda' ‚©‚ç 'sdd' ‚Æ”FŽ¯‚³‚êC
  RAID1 ‚̃VƒXƒeƒ€‚Å‚Í 'hda', 'hdc' ‚Æ”FŽ¯‚³‚ê‚Ä‚¢‚Ü‚·D

  5.2.  ƒn[ƒhƒfƒBƒXƒN‚̃p[ƒeƒBƒVƒ‡ƒ“•ªŠ„

  Ä‹N“®Žž‚Ì ckraid ‚Ì–â‘肪‚ ‚邽‚߁Cƒ‹[ƒg‚Ƀ}ƒEƒ“ƒg‰Â”\‚È RAID ƒAƒŒƒC
  ‚ðƒeƒXƒg‚·‚邱‚Æ‚Í‘å•Ï‚Ȃ̂ŁC•MŽÒ‚̓Xƒƒbƒvƒp[ƒeƒBƒVƒ‡ƒ“‚ðØ‚è’¼‚µC
  ƒeƒXƒg—p‚̏¬‚³‚¢ RAID ƒp[ƒeƒBƒVƒ‡ƒ“(sda6,sdb6,sdc6,sdd6)‚ð‚±‚±‚ɍì
  ‚èC¬‚³‚¢ƒ‹[ƒgƒp[ƒeƒBƒVƒ‡ƒ“‚Æ /usr/src ƒp[ƒeƒBƒVƒ‡ƒ“‚Ì‘g‚ð RAID —p
  ƒJ[ƒlƒ‹‚ƃc[ƒ‹‚̍ì‹Æ—p‚ƃeƒXƒg—p‚É‚»‚ꂼ‚êì‚è‚Ü‚µ‚½D‚±‚ê‚Í•Ö—˜‚È•û
  –@‚¾‚ÆŽv‚¢‚Ü‚·D

          <bf/ì‹Æ—pƒVƒXƒeƒ€ - RAID5/
     ƒfƒoƒCƒX     ƒVƒXƒeƒ€        ƒTƒCƒY  –Ú“I

    /dev/sda1     DOS ‹N“®        16M     ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“
  * /dev/sda2     extended        130M    (à–¾ŽQÆ)
    /dev/sda3     linux native    4G      ƒvƒ‰ƒCƒ}ƒŠ RAID5-1
  ----------------------sda2------------------------------
  * /dev/sda5     linux swap      113M    ƒXƒƒbƒv
  * /dev/sda6     linux native    16M     ƒeƒXƒg RAID5-1
  ========================================================
    /dev/sdb1     dos boot        16M     ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“•¡»
  * /dev/sdb2     extended        130M    (à–¾ŽQÆ)
    /dev/sdb3     linux native    4G      ƒvƒ‰ƒCƒ}ƒŠ RAID5-2
  ----------------------sdb2------------------------------
  * /dev/sdb5     linux swap      113M    ƒXƒƒbƒv
  * /dev/sdb6     linux native    16M     ƒeƒXƒg RAID5-2
  ========================================================
  * /dev/sdc2     extended        146M    (à–¾ŽQÆ)
    /dev/sdc3     linux native    4G      ƒvƒ‰ƒCƒ}ƒŠ RAID5-3
  ----------------------sdc2------------------------------
  * /dev/sdc5     linux swap      130M    ì‹Æ—pƒ‹[ƒgƒp[ƒeƒBƒVƒ‡ƒ“
  * /dev/sdc6     linux native    16M     ƒeƒXƒg RAID5-3
  ========================================================
  * /dev/sdd2     extended        146M    (à–¾ŽQÆ)
    /dev/sdd3     linux native    4G      ƒvƒ‰ƒCƒ}ƒŠ RAID5-4
  ----------------------sdd2------------------------------
  * /dev/sdd5     linux swap      130M    ì‹Æ—p /usr/src
  * /dev/sdd6     linux native    16M     ƒeƒXƒg RAID-4

          <bf/ì‹Æ—pƒVƒXƒeƒ€ - RAID1/
     ƒfƒoƒCƒX     ƒVƒXƒeƒ€        ƒTƒCƒY  –Ú“I

    /dev/hda1     DOS             16M     ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“
  * /dev/hda2     extended        126M    (à–¾ŽQÆ)
    /dev/hda3     linux           126M    ì‹Æ—pƒ‹[ƒgƒp[ƒeƒBƒVƒ‡ƒ“
    /dev/hda4     linux           6+G     RAID1-1
  ----------------------hda2------------------------------
  * /dev/hda5     linux            26M    ƒeƒXƒg RAID1-1
  * /dev/hda6     linux swap      100M
  ========================================================

    /dev/hdc1     hda1 ‚Ì’P‚È‚éƒRƒs[D‚µ‚½‚ª‚Á‚āChda ‚ªŒÌá
                  ‚µ‚½ê‡‚ɂ̓AƒNƒeƒBƒu‚É‚·‚邱‚Æ‚ª‚Å‚«‚é
  * /dev/hdc2     extended        126M    (à–¾ŽQÆ)
    /dev/hdc3     linux           126M    ì‹Æ—p /usr/src
    /dev/hdc4     linux           6+G     RAID1-2
  ----------------------hdc2------------------------------
  * /dev/hdc5     linux            26M    ƒeƒXƒg RAID1-2
  * /dev/hdc6     linux swap      100M

  sdx2 ‚Æ hdx3 ƒp[ƒeƒBƒVƒ‡ƒ“‚́Cƒ†[ƒeƒBƒŠƒeƒB‚ÌŠJ”­‚ªI‚í‚Á‚½Œã‚ɂ́C
  ‚½‚Ì‚Å‚·‚ªC‘¼‚Ì Linux ƒ}ƒVƒ“‚̃‰ƒCƒuƒ‰ƒŠ‚âƒJ[ƒlƒ‹‚ª1”NˆÈãŒÃ‚¢‚à‚Ì
  ‚¾‚Á‚½‚̂ŁCƒ^[ƒQƒbƒgƒ}ƒVƒ“‚ōì‚邱‚Æ‚É‚µ‚Ü‚µ‚½D

  ƒp[ƒeƒBƒVƒ‡ƒ“‚̐؂è•û‚́CƒfƒBƒXƒN‚Ì‚Ç‚ê‚©‚ª‰ó‚ê‚Ä‚µ‚Ü‚Á‚½ê‡‚É‚àCƒV
  ƒXƒeƒ€‚ª‚Å‚«‚邾‚¯ŠÈ’P‚É‹N“®‚µ‘±‚¯‚é‚悤‚É‚Å‚«Cƒf[ƒ^‚àŽ¸‚í‚È‚¢‚悤‚É
  Œˆ‚ß‚Ü‚µ‚½D

  o  1‚‚̃n[ƒhƒfƒBƒXƒN‚ª‰ó‚ꂽê‡C‹N“®‚ÍŽ¸”s‚µC•œ‹ŒƒVƒXƒeƒ€‚ª‰Ò“­‚µ
     ‚Ü‚·D‰æ–ʏã‚̃ƒbƒZ[ƒW‚©C /dosx/raidboot/raidstat.ro ‚𒲂ׂê
     ‚΁C‰ó‚ꂽƒAƒŒƒC‚̃Xƒe[ƒ^ƒX‚ð’m‚邱‚Æ‚ª‚Å‚«‚Ü‚·D

  o  sda1(RAID5) ‚© hda1(RAID1) ‚ªŒÌá‚µ‚½ê‡CDOS ‚̃oƒbƒNƒAƒbƒv‹N“®ƒp
     [ƒeƒBƒVƒ‡ƒ“‚ðuƒAƒNƒeƒBƒuv‚É‚µCBIOS ‚É V‚µ‚¢ƒp[ƒeƒBƒVƒ‡ƒ“‚ð‹N
     “®ƒfƒoƒCƒX‚Æ‚µ‚Ä”FŽ¯‚³‚¹‚é‚©C‚ ‚é‚¢‚́C•¨—“I‚É xda ƒp[ƒeƒBƒVƒ‡ƒ“
     ‚ðˆÚ“®‚³‚¹‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD‚»‚Ì‘ã‚í‚è‚ɁCinitrd ƒCƒ[ƒW‚ðŽg‚Á‚Ä
     ƒtƒƒbƒs[ƒfƒBƒXƒN‚©‚çŽc‚Á‚Ä‚¢‚éƒoƒbƒNƒAƒbƒv‹N“®ƒhƒ‰ƒCƒuã‚̃VƒXƒe
     ƒ€‚ð‹N“®‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·D‚»‚ÌŒãCŽc‚Á‚Ä‚¢‚éƒX[ƒp[ƒuƒƒbƒN‚ðÄ
     \’z‚·‚邽‚߁CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚邱‚Æ‚Å RAID ƒVƒXƒeƒ€‚ðÄ‚уAƒN
     ƒeƒBƒu‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D

              "/sbin/mkraid /etc/raid<it/x/.conf -f --only-superblock"

  o  ‚±‚ê‚ðs‚Á‚½ŒãC

             mdadd -ar

  ‚ðŽÀs‚µ‚Ü‚·D

  o  –â‘肪‚È‚¢‚±‚Æ‚ðŒŸ¸‚·‚邽‚߁CƒAƒŒƒC‚̃Xƒe[ƒ^ƒX‚𒲂ׁC‚»‚ê‚©‚çC
     ‰ó‚ꂽƒfƒBƒXƒN‚ªC—‚³‚ê‚é‚©ŒðŠ·‚³‚ê‚é‚܂ŁC³í‚ȃAƒŒƒC‚ÌŽQÆƒXƒe
     [ƒ^ƒX‚ðŒ»Ý‚ÌƒXƒe[ƒ^ƒX‚Å’u‚«Š·‚¦‚Ü‚·D

             cat /proc/mdstat | grep md0 > /dosx/raidboot/raidgood.ref

             shutdown -r now

  ‚É‚æ‚Á‚Đ³í‚ȍċN“®‚ðs‚¢CƒVƒXƒeƒ€‚𕜋Œ‚³‚¹‚Ü‚·D

  6.  RAID ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̍\’z

  ‚±‚Ì‹Lq‚́CƒVƒXƒeƒ€Žd—l‚ŏq‚ׂ½•MŽÒ‚Ì RAID1 ƒVƒXƒeƒ€‚ÉŠÖ‚µ‚Ä‚Ì‚à‚Ì‚Å
  ‚·D‚ ‚È‚½‚̃VƒXƒeƒ€‚ªˆÙ‚È‚é RAID ‚̃A[ƒLƒeƒNƒ`ƒƒ‚ðÌ—p‚µ‚Ä‚¢‚éê‡
  ‚́C“K‹XC³‚µ‚Ä‚­‚¾‚³‚¢DÚ‚µ‚­‚Í raidtools-0.42 ‚É•t‘®‚µ‚Ä‚¢‚éƒIƒ“ƒ‰
  ƒCƒ“ƒ}ƒjƒ…ƒAƒ‹‚©CQuickStart.RAID ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D

  6.1.  /etc/raid5.conf

          # raid-5 configuration
          raiddev                 /dev/md0
          raid-level              5
          nr-raid-disks           4
          chunk-size              32

          # Parity placement algorithm
          parity-algorithm        left-symmetric

          # Spare disks for hot reconstruction
          #nr-spare-disks         0

          device                  /dev/sda3
          raid-disk               0

          device                  /dev/sdb3
          raid-disk               1

          device                  /dev/sdc3
          raid-disk               2

          device                  /dev/sdd3
          raid-disk               3

  6.2.  /etc/raid1.conf

          # raid-1 configuration
          raiddev                 /dev/md0
          raid-level              1
          nr-raid-disks           2
          nr-spare-disks          0

          device                  /dev/hda4
          raid-disk               0

          device                  /dev/hdc4
          raid-disk               1

  6.3.  ŽdŽ–—p RAID ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ð\’z‚·‚邽‚ß‚Ì‹ï‘Ì“IŽè‡

  •MŽÒ‚Ì RAID5 ƒVƒXƒeƒ€‚ł́CˆÈ‰º‚Ì‚à‚Ì‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·D

          Slackware-3.4           ‚ǂ̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Å‚à‘åä•v‚Å‚µ‚傤
          linuxthreads-0.71
          raidtools-0.42
          linux-2.0.33 ‚É raid145 ƒpƒbƒ`‚Æ Gadi Ž‚̃pƒbƒ`‚ð“–‚Ä‚½‚à‚Ì

  RAID ƒfƒoƒCƒX‚ðì¬CƒtƒH[ƒ}ƒbƒg‚µ‚Ü‚·D

          mkraid /etc/raid5.conf
          mdcreate raid5 /dev/md0 /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3
          mdadd -ar
          mke2fs /dev/md0
          mkdir /md
          mount -t ext2 /dev/md0 /md

  reboot ‚ªŽg‚¤ŽQÆƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·D‚±‚ê‚͓ǎ҂̃VƒXƒeƒ€‚ł͈قȂé
  ‚©‚à‚µ‚ê‚Ü‚¹‚ñD

          cat /proc/mdstat | grep md0 > /dosa/raidboot/raidgood.ref
          cat /proc/mdstat | grep md0 > /dosb/raidboot/raidgood.ref

  Slackware-3.4 ‚Ü‚½‚͕ʂ̃pƒbƒP[ƒW‚ð—p‚¢‚āCOS ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·D

          setup

  ƒCƒ“ƒXƒg[ƒ‹æ‚É‚Í `/md' ‚ðCƒCƒ“ƒXƒg[ƒ‹Œ³‚É‚Í“ÇŽÒ‚ª•’iŽg‚Á‚Ä‚¢‚é‚à
  ‚Ì‚ðŽw’肵‚Ü‚·DƒJ[ƒlƒ‹‚ðœ‚­•K—v‚ȃfƒBƒXƒNƒZƒbƒg‚ð‘I‘ðCƒCƒ“ƒXƒg[ƒ‹
  ‚µ‚Ü‚·D(Slackware ‚̏ꍇ)ƒVƒXƒeƒ€Ý’è(Configure)‚ðŽÀs‚µ‚Ü‚·‚ªClilo
  ‚ƃJ[ƒlƒ‹‚Ì‹N“®‚̍€–Ú‚Í”ò‚΂µ‚Ü‚·DÅŒã‚É setup ƒRƒ}ƒ“ƒh‚ðI—¹‚µ‚Ü
  ‚·D

  `pthreads' ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·D

          cd /usr/src/linuxthreads-0.71

  Makefile ‚ð•ÒW‚µCŠÂ‹«•Ï”‚ðŽw’肵‚Ü‚·D

          BUILDIR=/md

          make
          make install

  `raidtools' ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·D

          cd /usr/src/raidtools-0.42
          configure --sbindir=/md/sbin --prefix=/md/usr

  raidtools ‚Ì `make install' ‚Å”­¶‚·‚éƒGƒ‰[‚ðC³‚µ‚Ü‚·D

          cd /md/sbin
          rm mdrun
          rm mdstop
          ln -s mdadd mdrun
          ln -s mdadd mdstop

  /dev/mdx ‚ðì‚è‚Ü‚·D

          cp -a /dev/md* /md/dev

  Œ»Ý‚̃VƒXƒeƒ€‚©‚çƒVƒXƒeƒ€Ý’è‚ð’ljÁ‚µ‚Ü‚·(ƒGƒ‰[‚Í–³Ž‹‚µ‚Ü‚·)D

          cp -dp /etc/* mnt/etc
          cp -dp /etc/rc.d/* mnt/etc/rc.d         (V‚µ‚¢ rc.6 ‚ðŠÜ‚Þ)
          mkdir  mnt/lib/modules
          cp -a  /lib/modules/2.x.x mnt/lib/modules <-- Œ»ÝŽg‚Á‚Ä‚¢‚éƒJ[ƒlƒ‹ 2.x.x ‚̃o[ƒWƒ‡ƒ“

  ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ð•ÒW‚µC“ǎ҂̃tƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ɍ‡‚킹‚ďC³‚µ‚Ü‚·D

          cd /md

  ”ñƒlƒbƒgƒ[ƒNŠÖŒW
          etc/fstab       ŽÀÛ‚̃‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Æ RAID ƒfƒoƒCƒX—p‚ɏC³‚µ‚Ü‚·
          etc/mdtab       ‚¤‚Ü‚­“®ì‚·‚é‚Í‚¸‚Å‚·
  ƒlƒbƒgƒ[ƒNŠÖŒW
          etc/hosts
          etc/resolv.conf
          etc/hosts.equiv         ‹y‚ÑŠÖ˜Aƒtƒ@ƒCƒ‹
          etc/rc.d/rc.inet1       IP ƒAƒhƒŒƒXCƒlƒbƒgƒ}ƒXƒNCƒQ[ƒgƒEƒFƒC“™
          etc/rc.d/rc.S           ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃Xƒe[ƒ^ƒX‚ɂ‚¢‚Ä‚Ì•”•ª‚ð‘S‚č폜
                          # Test to see if the root partition isread-only
                  ‚Ì•”•ª‚©‚ç
                          # remove /etc/mtab* so that mount will .....
                  ‚Ü‚Å‚ðŠÜ‚Ü‚È‚¢‚悤‚É‚µ‚Ü‚·D‚±‚ê‚É‚æ‚èCRAM ƒfƒBƒXƒN‚ª
                  “ǂݏ‘‚«‰Â”\‚Ń}ƒEƒ“ƒg‚³‚ê‚é‚Əo‚邤‚邳‚¢ƒEƒH[ƒjƒ“ƒO
                  ‚ªo‚È‚­‚È‚è‚Ü‚·D
          etc/rc.d/rc.xxxxx       •K—v‚È‚ç‚Α¼‚̃tƒ@ƒCƒ‹‚à
          root/.rhosts            ‚à‚µ‘¶Ý‚·‚ê‚Î
          home/xxxx/xxxx          •K—v‚È‚ç‚Α¼‚̃tƒ@ƒCƒ‹‚à

      Œx:       ‚±‚Ì‘€ì‚ŁCƒpƒXƒ[ƒh‚ƃVƒƒƒhƒEƒpƒXƒ[ƒh‚̃tƒ@ƒCƒ‹‚à
                  V‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ɉڂ³‚ê‚Ü‚·I‚±‚ê‚̓ZƒLƒ…ƒŠƒeƒB
                  ‚Ì“_‚©‚ç‚́C–]‚Ü‚µ‚­‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñD

  ƒVƒXƒeƒ€ã‚ňêˆÓ‚Å‚ ‚邱‚Æ‚ª•K—v‚È /dev/disk... ‚ðƒ}ƒEƒ“ƒg‚·‚邽‚ß‚ÌŽ«
  ‘‚ðì¬‚µ‚Ü‚·D•MŽÒ‚̏ꍇ‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚µ‚½D

          cd /md          <-- V‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃‹[ƒg
          mkdir dosa                      DOSƒp[ƒeƒBƒVƒ‡ƒ“‚̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg

          mkdir dosb                      DOS ƒ~ƒ‰[ƒp[ƒeƒBƒVƒ‡ƒ“‚̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg

  V‚µ‚¢ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ÍŠ®¬‚Å‚·Dmd ‚ÌŽQÆƒXƒe[ƒ^ƒX‚ð `ŽÀÛ‚Ì'ƒ‹[ƒg
  ƒfƒoƒCƒX‚ÉŠm”FE•Û‘¶‚·‚ê‚΁C‹N“®‚̏€”õ‚͏I‚í‚è‚Å‚·D

  DOS ƒp[ƒeƒBƒVƒ‡ƒ“‚ð dosa, dosb ‚Ƀ}ƒEƒ“ƒg‚µ‚Ü‚·D

          cat /proc/mdstat | grep md0 > /dosa/raidboot/raidgood.ref
          cat /proc/mdstat | grep md0 > /dosb/raidboot/raidgood.ref

          mdstop /dev/md0

  7.  ÅŒã‚É’ˆÓ‚·‚é“_

  ’Bl‚Ƃ́C‚ ‚é˜b‘è‚ɂ‚¢‚Ä‚ ‚È‚½‚æ‚菭‚È‚­‚Æ‚à1%‘½‚­‚Ì‚±‚Æ‚ð’m‚Á‚Ä‚¢‚é
  l‚Ì‚±‚Æ‚Å‚ ‚邱‚Æ‚ð–Y‚ê‚È‚¢‚Å‚­‚¾‚³‚¢DŽ„‚ɏ•‚¯‚ð‹‚ß‚éƒ[ƒ‹‚ðo‚·‚Æ
  ‚«‚É‚Í‚±‚Ì“_‚ð–Y‚ê‚È‚¢‚Å‚­‚¾‚³‚¢DŽ„‚ÍŽÀŒ±‚ð‚µ‚Ü‚µ‚½‚ªC‚»‚ê‚Í RAID1,
  RAID5 ‚ɂ‚¢‚Ä‚½‚Á‚½ˆê“x‚¸‚‚¾‚¯‚È‚Ì‚Å‚·I

  Michael Robinton Michael@bzs.org <mailto:michael@bzs.org>

  8.  •t˜^ A. Bohumil Chalupa ‚³‚ñ‚É‚æ‚é md0 ‚̃Vƒƒƒbƒgƒ_ƒEƒ“

  Bohumil Chalupa ‚³‚ñ‚Ì Linux RAID ƒ[ƒŠƒ“ƒOƒŠƒXƒg‚Ö‚Ì“Še‚ŁCRAID1, 5
  ‚Å‚Ì mdstop ‚Ì–â‘è‚̉ñ”ð•û–@‚Å‚·D‚±‚Ì•û–@‚ł́CƒVƒƒƒbƒgƒ_ƒEƒ“‚ÌŽž‚É
  RAID ƒfƒoƒCƒX‚ª‰ó‚ê‚Ä‚¢‚é‰Â”\«‚Í‘z’肵‚Ä‚¢‚Ü‚¹‚ñD‚»‚±‚ŁC•MŽÒ‚ªƒu[
  ƒgŽž‚̐³í‚ÈŽQÆƒXƒe[ƒ^ƒX‚ðŠÈ’P‚É”äŠr‚·‚é‚悤‚É‚µ‚Ü‚µ‚½D‚±‚ê‚É‚æ‚èC
  ƒAƒŒƒC‚Ɉُ킪‚ ‚é‚Æ‚«CƒIƒyƒŒ[ƒ^‚ª’²®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D‚±‚ê‚ɂ‚¢
  ‚Ă̏ڍׂ͖{•¶’†‚ŏq‚ׂĂ¢‚Ü‚·D
  > From: Bohumil Chalupa <bochal@apollo.karlov.mff.cuni.cz>
  >
  > initrd ‚Æ linuxrc ‚ðŽg‚Á‚ÄRAID1 ƒAƒŒƒC‚ð“®‚©‚µC‚»‚ê‚©‚ç root ‚ð
  > /dev/md0 ‚É‚¤‚Ü‚­Ø‘Ö‚¦‚邱‚Æ‚Å‚«‚Ü‚µ‚½D
  >
  > ‚µ‚©‚µCƒAƒŒƒC‚𐳏í‚É *Ž~‚ß‚é* •û–@‚Í‚í‚©‚è‚Ü‚¹‚ñD

  ‚»‚ê‚ł́CŽ„‚ª‚¨“š‚¦‚µ‚Ü‚µ‚傤 :-)

  > Date: Mon, 29 Dec 1997 02:21:38 -0600 (CST)
  > From: Edward Welbon <welbon@bga.com>
  > Subject: Re: dismounting root raid device
  >
  > RAID0 ˆÈŠO‚Ì md ƒfƒoƒCƒX‚ɂ‚¢‚ẮC‘S‚Ă̏‘‚«ž‚Ý‚ªI—¹‚µ‚Ä‚¢‚邱‚Æ
  > ‚ð’m‚邽‚߂ɃXƒe[ƒ^ƒX‚ð•Û‘¶‚·‚é‚ÆŽv‚¢‚Ü‚·D‚à‚¿‚ë‚ñC‚±‚̂悤‚ȃXƒe[
  > ƒ^ƒX‚̓Š[ƒhƒIƒ“ƒŠ[‚Ń}ƒEƒ“ƒg‚³‚ê‚郋[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ɂ‚¢‚Ä‚Í
  > •Û‘¶‚³‚ê‚Ü‚¹‚ñD‚±‚̂悤‚ȏꍇCƒŠ[ƒhƒIƒ“ƒŠ[‚̃‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒe
  > ƒ€‚ɏ‘‚«ž‚݉”\‚ȃtƒ@ƒCƒ‹ƒVƒXƒeƒ€ "X" ‚ðƒ}ƒEƒ“ƒg‰Â”\‚ŁC"X" ‚ɏ‘‚«
  > ž‚Ý‚ª‚Å‚«‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñ("•œ‹Œ"‚Ì‘€ì‚Å‚à‚±‚ê‚ðs‚¢‚Ü‚·‚ªC‚±‚¿
  > ‚ç‚ÍŽ©“®ˆ—‚Å‚Í‚ ‚è‚Ü‚¹‚ñ)D
  >
  > ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€ "X" ‚Í RAID(initrd Œo—R‚Å linuxrc ‚ªŽÀs)‚ª‰ŠúƒXƒe[
  > ƒ^ƒX‚ðŽæ“¾‚·‚éƒu[ƒgƒfƒoƒCƒX‚Ɖ¼’肵‚Ü‚·DK‚¢ raid0 ‚̓Xƒe[ƒ^ƒX‘
  > ‚«ž‚Ý‚Ì•K—v‚ª‚ ‚è‚Ü‚¹‚ñ(mdstop ‚ÌŒã‚É mdtab ‚Ƀ`ƒFƒbƒNƒTƒ€‚ð‘‚«o
  > ‚·‚±‚Æ‚ª‚Å‚«‚ê‚ÎŠð‚µ‚¢‚Ì‚Å‚·‚ª)D
  > ‚Æ‚è‚ ‚¦‚¸‚±‚ê‚ð‚¢‚¶‚Á‚Ä‚Ý‚Ü‚·‚ªC"devil" ‚ªí‚É "details" ‚ÉŠÜ‚Ü‚ê
  > ‚Ü‚·‚ªC“‚­‚Í‚È‚³‚»‚¤‚Å‚·D

  ‚»‚¤‚Å‚·‚ˁD
  Ž„‚à“¯‚¶ƒAƒCƒfƒBƒA‚ðl‚¦‚Ä‚¢‚½‚Ì‚Å‚·‚ªCŽŽ‚·ŽžŠÔ‚ª‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½D
  ‚»‚ê‚ŁCð“ú‚â‚Á‚Ä‚Ý‚½‚Æ‚±‚ëC‚¤‚Ü‚­“®‚«‚Ü‚µ‚½D

  ‚¤‚¿‚Ì RAID1(ƒ~ƒ‰[)‚ł́Cƒ`ƒFƒbƒNƒTƒ€‚âRAID‚̃X[ƒp[ƒuƒƒbƒN‚̃f[ƒ^
  ‚Ì•Û‘¶‚͍s‚Á‚Ä‚¢‚Ü‚¹‚ñD"ŽÀÛ"‚̃u[ƒgƒp[ƒeƒBƒVƒ‡ƒ“‚̏î•ñC‚‚܂胋[
  ƒg‚ÉŠ„‚è“–‚Ä‚½ md ƒ{ƒŠƒ…[ƒ€‚ªƒVƒƒƒbƒgƒ_ƒEƒ“Žž‚ɃŠ[ƒhƒIƒ“ƒŠ[‚ōă}ƒE
  ƒ“ƒg‚³‚ꂽ‚±‚Æ‚¾‚¯‚ð•Û‘¶‚µ‚Ä‚¢‚Ü‚·D‚»‚µ‚āC‹N“®Žž‚É linuxrc ƒXƒNƒŠƒv
  ƒg‚ª‚±‚̏î•ñ‚ðŒ©‚Â‚¯‚ê‚Î mkraid --only-superblock ‚ðŽÀs‚µC‚±‚ꂪŒ©‚Â
  ‚©‚ç‚È‚¯‚ê‚Î ckraid ‚ðŽÀs‚µ‚Ü‚·D
  ‚‚܂èCRAID ‚̃X[ƒp[ƒuƒƒbƒNî•ñ‚̓Vƒƒƒbƒgƒ_ƒEƒ“Žž‚ɂ͍XV‚³‚ꂸC
  ‹N“®Žž‚ɍXV‚³‚ê‚Ü‚·D
  ‚ ‚Ü‚è‚·‚Á‚«‚肵‚½•û–@‚Å‚È‚¢‚Ì‚Å‚·‚ªC :-( “®‚¢‚Ä‚Í‚¢‚Ü‚·D

  Ž„‚ÍRAIDƒfƒoƒCƒX‚ðƒ‹[ƒg‚É‚µ‚Ä‹N“®‚·‚邽‚ß‚É Edward Welbon ‚³‚ñ‚Ì
  initrd.md ‚Æ Slackware ‚Ì‘g‡‚¹‚ðŽg‚Á‚Ä‚¢‚Ü‚·D
  Ž„‚ÌŠo‚¦‚Ä‚¢‚éŒÀ‚è‚ł́CC³‚µ‚½ƒtƒ@ƒCƒ‹‚Í mkdisk, linuxrc ‚ƃVƒƒƒbƒg
  ƒ_ƒEƒ“—p‚̃XƒNƒŠƒvƒg /etc/rc.d/rc.6 ‚¾‚¯‚Å‚·D
  ‚à‚¿‚ë‚ñC lilo.conf ‚͏C³‚µ‚Ü‚µ‚½D

  d—v‚È•”•ª‚ðƒ[ƒ‹‚É“Y•t‚µ‚Ä‚¨‚«‚Ü‚·D

  Bohumil Chalupa

  --------------- my.linuxrc follows -----------------
  #!/bin/sh
  # we need /proc
  /bin/mount /proc
  # start up the md0 device. let the /etc/rc.d scripts get the rest of them
  # we should do as little as possible here
  # ________________________________________
  # root raid1 shutdown test & recreation
  # /start must be created on the rd image in my.mkdisk
  echo "preparing md0: mounting /start"
  /bin/mount /dev/sda2 /start -t ext2
  echo "reading saved md0 state from /start"
  if [ -f /start/root.raid.ok ]; then
   echo "raid ok, modyfying superblock"
   rm /start/root.raid.ok
   /sbin/mkraid /etc/raid1.conf -f --only-superblock
  else
   echo "raid not clean, runing ckraid --fix"
   /sbin/ckraid --fix /etc/raid1.conf
  fi
  echo "unmounting /start"
  /bin/umount /start
  # _________________________________________
  #
  echo "adding md0 for root file system"
  /sbin/mdadd /dev/md0 /dev/sda1 /dev/sdb1
  echo "starting md0"
  /sbin/mdrun -p1 /dev/md0
  # tell kernel we want to switch to /dev/md0 as root device, the 0x900 value
  # is arrived at via 256*major_device_number + minor_device number.
  echo "setting real-root-dev"
  /bin/echo 0x900>/proc/sys/kernel/real-root-dev
  #  unmount /proc so that the ram disk can be deallocated.
  echo "unmounting /proc"
  /bin/umount /proc
  /bin/echo "We are hopefully ready to mount /dev/md0 (major 9, minor 0) as
  root"
  exit
  --------------- end of my.linuxrc ----------------------------------

  ----------- extract from /etc/rc.d/rc.6 follows -----------------
    # Turn off swap, then unmount local file systems.
    echo "Turning off swap."
    swapoff -a
    echo "Unmounting local file systems."
    umount -a -tnonfs
    # Don't remount UMSDOS root volumes:
    if [ ! "`mount | head -1 | cut -d ' ' -f 5`" = "umsdos" ]; then
      mount -n -o remount,ro /
    fi

    # Save raid state
    echo "Saving RAID state"
    /bin/mount -n /dev/sda2 /start -t ext2
    touch /start/root.raid.ok
    /bin/umount -n /start

  -------------- end of excerpt from rc.6 ------------------------

  ------------------ part of my.mkdisk follows ----------------------
  #
  #  now we have the filesystem ready to be populated, we need to
  #  get a few important directories.  I had endless trouble till
  #  I created a pristine mtab.  In my case, it is convenient that
  #  /etc/mdtab is copied over, this way I can activate md with
  #  a simple "/sbin/mdadd -ar" in linuxrc.
  #
  cp -a $ROOT/etc $MOUNTPNT 2>cp.stderr 1>cp.stdout
  rm -rf $MOUNTPNT/etc/mtab
  rm -rf $MOUNTPNT/etc/ppp*
  rm -rf $MOUNTPNT/etc/termcap
  rm -rf $MOUNTPNT/etc/sendmail*
  rm -rf $MOUNTPNT/etc/rc.d
  rm -rf $MOUNTPNT/etc/dos*
  cp -a $ROOT/sbin $ROOT/dev $ROOT/lib $ROOT/bin $MOUNTPNT 2>>cp.stderr
  1>>cp.stdout
  # _____________________________________________________________________
  #  RAID: will need mkraid and ckraid
  cp -a $ROOT/usr/sbin/mkraid $ROOT/usr/sbin/ckraid $MOUNTPNT/sbin
  2>>cp.stderr 1>>cp.stdout
  # ---------------------------------------------------------------------
  #  it seems that init wont come out to play unless it has utmp.   this can
  #  probably be pruned back alot.  no telling what the real bug was 8-).
  #
  mkdir $MOUNTPNT/var $MOUNTPNT/var/log $MOUNTPNT/var/run $MOUNTPNT/initrd
  touch $MOUNTPNT/var/run/utmp $MOUNTPNT/etc/mtab
  chmod a+r $MOUNTPNT/var/run/utmp $MOUNTPNT/etc/mtab
  ln -s /var/run/utmp $MOUNTPNT/var/log/utmp
  ln -s /var/log/utmp $MOUNTPNT/etc/utmp
  ls -lstrd $MOUNTPNT/etc/utmp $MOUNTPNT/var/log/utmp $MOUNTPNT/var/run/utmp
  #
  #  since I wanted to change the mount point, I needed this though
  #  I suppose that I could have done a "mkdir /proc" in linuxrc.
  #
  mkdir $MOUNTPNT/proc
  chmod 555 $MOUNTPNT/proc
  #
  #  ------------------------------------------------------
  #  we'll mount the real boot device to /start temporarily
  #  to check the root raid state saved at shutdown time
  #
  mkdir $MOUNTPNT/start
  #  -------------------------------------------------------
  #
  #  need linuxrc  (it is, after all, the point of this exercise).
  #
  if [ -x ./my.linuxrc ]; then
    cp -a ./my.linuxrc $MOUNTPNT/linuxrc
    chmod 777 $MOUNTPNT/linuxrc
  else
     ln -s /bin/sh $MOUNTPNT/linuxrc
  fi
  #
  ----------------- part of my.mkdisk ends -----------------

  9.  ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚Ì—á

  o  ``Slackware''

  o  ``Debian''

  9.1.  Slackware - /etc/rc.d/rc.6

  #! /bin/sh
  #
  # rc.6          This file is executed by init when it goes into runlevel
  #               0 (halt) or runlevel 6 (reboot). It kills all processes,
  #               unmounts file systems and then either halts or reboots.
  #
  # Version:      @(#)/etc/rc.d/rc.6      1.50    1994-01-15
  #
  # Author:       Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org>
  # Modified by:  Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>
  #
  # Modified by:  Michael A. Robinton < michael@bizsystems.com >
  #               to add call to rc.raidown
    # Set the path.
    PATH=/sbin:/etc:/bin:/usr/bin

    # Set linefeed mode to avoid staircase effect.
    stty onlcr

    echo "Running shutdown script $0:"

    # Find out how we were called.
    case "$0" in
          *0)
                  message="The system is halted."
                  command="halt"
                  ;;
          *6)
                  message="Rebooting."
                  command=reboot
                  ;;
          *)
                  echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
                  exit 1
                  ;;
    esac

  ############ Save raid boot and status info ##############
  #
  if [ -x /etc/rc.d/rc.raidown ]; then
     /etc/rc.d/rc.raidown
  fi
  ################## end raid boot #########################

    # Kill all processes.
    # INIT is supposed to handle this entirely now, but this didn't always
    # work correctly without this second pass at killing off the processes.
    # Since INIT already notified the user that processes were being killed,
    # we'll avoid echoing this info this time around.
    if [ "$1" != "fast" ]; then # shutdown did not already kill all processes
      killall5 -15
      killall5 -9
    fi

    # Try to turn off quota and accounting.
    if [ -x /usr/sbin/quotaoff ]
    then
          echo "Turning off quota."
          /usr/sbin/quotaoff -a
    fi
    if [ -x /sbin/accton ]
    then
          echo "Turning off accounting."
          /sbin/accton
    fi

    # Before unmounting file systems write a reboot or halt record to wtmp.
    $command -w

    # Save localtime
    [ -e /usr/lib/zoneinfo/localtime ] && cp /usr/lib/zoneinfo/localtime /etc

    # Asynchronously unmount any remote filesystems:
    echo "Unmounting remote filesystems."
    umount -a -tnfs &

    # Turn off swap, then unmount local file systems.
    echo "Turning off swap."
    swapoff -a
    echo "Unmounting local file systems."
    umount -a -tnonfs
    # Don't remount UMSDOS root volumes:
    if [ ! "`mount | head -1 | cut -d ' ' -f 5`" = "umsdos" ]; then
      mount -n -o remount,ro /
    fi

  ################ for raid arrays #########################
  # Stop all known raid arrays (except root which won't stop)
  if [ -x /sbin/mdstop ]; then
    echo "Stopping raid"
    /sbin/mdstop -a
  fi
  ##########################################################

    # See if this is a powerfail situation.
    if [ -f /etc/powerstatus ]; then
      echo "Turning off UPS, bye."
      /sbin/powerd -q
      exit 1
    fi

    # Now halt or reboot.
    echo "$message"
    [ ! -f /etc/fastboot ] && echo "On the next boot fsck will be FORCED."
    $command -f
  ############### end rc.6 #################################

  9.2.  Debian bo - /etc/init.d/halt and /etc/init.d/reboot

  The modifications shown here for Debian bo halt and reboot files are
  NOT TESTED. When you test this, please e-mail me so I can remove this
  comment.

  9.2.1.  /etc/init.d/halt

  #! /bin/sh
  #
  # halt          The commands in this script are executed as the last
  #               step in runlevel 0, ie halt.
  #
  # Version:      @(#)halt  1.10  26-Apr-1997  miquels@cistron.nl
  #

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  ############ Save raid boot and status info ##############
  #
  if [ -x /etc/rc.d/rc.raidown ]; then
     /etc/rc.d/rc.raidown
  fi
  ################## end raid boot #########################

  # Kill all processes.
  echo -n "Sending all processes the TERM signal... "
  killall5 -15
  echo "done."
  sleep 5
  echo -n "Sending all processes the KILL signal... "
  killall5 -9
  echo "done."

  # Write a reboot record to /var/log/wtmp.
  halt -w

  # Save the random seed between reboots.
  /etc/init.d/urandom stop

  echo -n "Deactivating swap... "
  swapoff -a
  echo "done."

  echo -n "Unmounting file systems... "
  umount -a
  echo "done."

  mount -n -o remount,ro /

  ################ for raid arrays #########################
  # Stop all known raid arrays (except root which won't stop)
  if [ -x /sbin/mdstop ]; then
    echo "Stopping raid"
    /sbin/mdstop -a
  fi
  ##########################################################

  # See if we need to cut the power.
  if [ -x /etc/init.d/ups-monitor ]
  then
          /etc/init.d/ups-monitor poweroff
  fi

  halt -d -f
  ############# end halt ####################

  9.2.2.  /etc/init.d/reboot

  #! /bin/sh
  #
  # reboot        The commands in this script are executed as the last
  #               step in runlevel 6, ie reboot.
  #
  # Version:      @(#)reboot  1.9  02-Feb-1997  miquels@cistron.nl
  #

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  ############ Save raid boot and status info ##############
  #
  if [ -x /etc/rc.d/rc.raidown ]; then
     /etc/rc.d/rc.raidown
  fi
  ################## end raid boot #########################

  # Kill all processes.
  echo -n "Sending all processes the TERM signal... "
  killall5 -15
  echo "done."
  sleep 5
  echo -n "Sending all processes the KILL signal... "
  killall5 -9
  echo "done."

  # Write a reboot record to /var/log/wtmp.
  halt -w

  # Save the random seed between reboots.
  /etc/init.d/urandom stop

  echo -n "Deactivating swap... "
  swapoff -a
  echo "done."

  echo -n "Unmounting file systems... "
  umount -a
  echo "done."

  mount -n -o remount,ro /

  ################ for raid arrays #########################
  # Stop all known raid arrays (except root which won't stop)
  if [ -x /sbin/mdstop ]; then
    echo "Stopping raid"
    /sbin/mdstop -a
  fi
  ##########################################################

  echo -n "Rebooting... "
  reboot -d -f -i

  10.  •t˜^ C: ‚»‚Ì‘¼‚̐ݒèƒtƒ@ƒCƒ‹

  10.1.  linuxrc``linuxrc file''

  10.2.  loadlin -- linux.bat file - boot.par``linux.bat file -
  boot.par''

  10.3.  linuxthreads Makefile.diff``linuxthreads Makefile.diff''

  10.4.  raid1.conf``raid1.conf''

  10.5.  raid5.conf``raid5.conf''

  10.6.  raidboot.conf``raidboot.conf''

  10.7.  rc.raidown``rc.raidown''

  11.  •t˜^ D: ŒÃ‚¢ linuxrc ‚ƃVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg

  11.1.  ŒÃ‚¢ƒtƒ@ƒCƒ‹ - linxurc

  ‚±‚Ì linuxrc ƒtƒ@ƒCƒ‹‚ÍŽŸ‚̐߂Ŏ¦‚·ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚Æ‘g‚ݍ‡‚í
  ‚¹‚ê‚ΐ³‚µ‚­“®ì‚µ‚Ü‚·D

   ---------------------- linuxrc --------------------
  #!/bin/sh
  # ver 1.07 2-12-98
  # linuxrc - for raid1 using small dos partition and loadlin
  #

  # mount the proc file system
  /bin/mount /proc

  # This may vary for your system.
  # Mount the dos partitions, try both
  # in case one disk is dead
  /bin/mount /dosa
  /bin/mount /dosc

  # Set a flag in case the raid status file is not found
  # then check both drives for the status file
  RAIDOWN="raidstat.ro not found"
  /bin/echo "Reading md0 shutdown status."
  if [ -f /dosa/raidboot/raidstat.ro ]; then
    RAIDOWN=`/bin/cat /dosa/raidboot/raidstat.ro`
    RAIDREF=`/bin/cat /dosc/raidboot/raidgood.ref`
  else
    if [ -f /dosc/raidboot/raidstat.ro ]; then
      RAIDOWN=`/bin/cat /dosc/raidboot/raidstat.ro`
      RAIDREF=`/bin/cat /dosc/raidboot/raidgood.ref`
    fi
  fi

  # Test for a clean shutdown with all disks operational
  if [ "${RAIDOWN} != ${RAIDREF}" ]; then
    echo "ERROR ${RAIDOWN}"
  #  Use the next 2 lines to BAIL OUT and leave rescue running
     /bin/echo 0x100>/proc/sys/kernel/real-root-dev
     exit                 # leaving the error files in dosa/raidboot,etc...
  fi

  # The raid array is clean, proceed by removing
  # status file and writing a clean superblock
  /bin/rm /dosa/raidboot/raidstat.ro
  /bin/rm /dosc/raidboot/raidstat.ro
  /sbin/mkraid /etc/raid1.conf -f --only-superblock

  /bin/umount /dosa
  /bin/umount /dosc

  # Mount raid array
  echo "Mounting md0, root filesystem"
  /sbin/mdadd -ar

  #  If there are errors - BAIL OUT and leave rescue running
  if [ $? -ne 0 ]; then
     echo "RAID device has errors"
  #  Use the next 3 lines to BAIL OUT
     /bin/rm /etc/mtab            # remove bad mtab
     /bin/echo 0x100>/proc/sys/kernel/real-root-dev
     exit
  fi

  # else tell the kernel to switch to /dev/md0 as the /root device
  # The 0x900 value the device number calculated by:
  #  256*major_device_number + minor_device number
  /bin/echo 0x900>/proc/sys/kernel/real-root-dev

  # umount /proc to deallocate initrd device ram space
  /bin/umount /proc
  /bin/echo "/dev/md0 mounted as root"
  exit
  #------------------ end linuxrc ----------------------

  11.2.  ŒÃ‚¢ƒtƒ@ƒCƒ‹ - ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg

  ‚±‚̃Vƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚Í‘O‚ÉŽ¦‚µ‚½ linuxrc ‚Æ‘g‚ݍ‡‚킹‚ê‚ΐ³‚µ
  ‚­“®ì‚µ‚Ü‚·D

  RAID ƒAƒŒƒC‚̃Vƒƒƒbƒgƒ_ƒEƒ“Žž‚̃Xƒe[ƒ^ƒX‚𓾂邽‚߂ɁCƒtƒ@ƒCƒ‹ƒVƒXƒe
  ƒ€‚ðƒAƒ“ƒ}ƒEƒ“ƒg‚·‚é’¼‘O‚Ɉȉº‚̍s‚ð‘}“ü‚µ‚Ü‚·D

          RAIDSTATUS=`/bin/cat /proc/mdstat | /usr/bin/grep md0`

  ‘S‚Ẵtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ðƒAƒ“ƒ}ƒEƒ“ƒg‚µ‚½Œã(ƒ‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̓A
  ƒ“ƒ}ƒEƒ“ƒgu‚³‚ê‚Ü‚¹‚ñv)‚Ì•”•ª‚ɁCˆÈ‰º‚ð’ljÁ‚µ‚Ü‚·D

          # root device remains mounted RO
          # mount dos file systems RW
          mount -n -o remount,ro /
          echo "Writing RAID read-only boot FLAG(s)."
          mount -n /dosa
          mount -n /dosc
          # create raid mounted RO flag in duplicate
          # containing the shutdown status of the raid array
          echo ${RAIDSTATUS} > /dosa/raidboot/raidstat.ro
          echo ${RAIDSTATUS} > /dosc/raidboot/raidstat.ro

          umount -n /dosa
          umount -n /dosc

          # Stop all the raid arrays (except root)
          echo "Stopping raid"
          mdstop -a

  ‚±‚ê‚É‚æ‚Á‚āCƒ‹[ƒgˆÈŠO‚Ì‘S‚Ä‚Ì RAID ƒfƒoƒCƒX‚ª³í‚ɏI—¹‚µ‚Ü‚·Dƒ‹[
  ƒg‚̃Xƒe[ƒ^ƒX‚Í raidstat.ro ‚É•Û‘¶‚³‚êCŽŸ‰ñ‚Ì‹N“®Žž‚ÉŽQÆ‚³‚ê‚Ü‚·D

  •MŽÒ‚ªˆÈ‘O‚É RAID1 ‚Ì Slackware ƒVƒXƒeƒ€‚ÅŽg‚Á‚Ä‚¢‚½ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒN
  ƒŠƒvƒg‚Ì‘S‘Ì‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·D•MŽÒ‚Í RAID1 ‚©‚ç /etc/raidboot.conf
  ƒtƒ@ƒCƒ‹‚ðŽg‚¤V‚µ‚¢•û–@‚ɏæ‚芷‚¦‚Ä‚¢‚Ü‚·D

  #! /bin/sh
  #
  # rc.6          This file is executed by init when it goes into runlevel
  #               0 (halt) or runlevel 6 (reboot). It kills all processes,
  #               unmounts file systems and then either halts or reboots.
  #
  # Version:      @(#)/etc/rc.d/rc.6      1.50    1994-01-15
  #
  # Author:       Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org>
  # Modified by:  Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>
  # Modified by:  Michael A. Robinton, <michael@bzs.org> for RAID shutdown

    # Set the path.
    PATH=/sbin:/etc:/bin:/usr/bin

    # Set linefeed mode to avoid staircase effect.
    stty onlcr

    echo "Running shutdown script $0:"

    # Find out how we were called.
    case "$0" in
          *0)
                  message="The system is halted."
                  command="halt"
                  ;;
          *6)
                  message="Rebooting."
                  command=reboot
                  ;;
          *)
                  echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
                  exit 1
                  ;;
    esac

    # Kill all processes.
    # INIT is supposed to handle this entirely now, but this didn't always
    # work correctly without this second pass at killing off the processes.
    # Since INIT already notified the user that processes were being killed,
    # we'll avoid echoing this info this time around.
    if [ "$1" != "fast" ]; then # shutdown did not already kill all processes
      killall5 -15
      killall5 -9
    fi

    # Try to turn off quota and accounting.
    if [ -x /usr/sbin/quotaoff ]
    then
          echo "Turning off quota."
          /usr/sbin/quotaoff -a
    fi
    if [ -x /sbin/accton ]
    then
          echo "Turning off accounting."
          /sbin/accton
    fi

    # Before unmounting file systems write a reboot or halt record to wtmp.
    $command -w

    # Save localtime
    [ -e /usr/lib/zoneinfo/localtime ] && cp /usr/lib/zoneinfo/localtime /etc

    # Asynchronously unmount any remote filesystems:
    echo "Unmounting remote filesystems."
    umount -a -tnfs &

    # you must have issued
    # 'cat /proc/mdstat | grep md0 > {your boot vol}/raidboot/raidgood.ref'
    # before linuxrc will execute properly with this info
    RAIDSTATUS=`/bin/cat /proc/mdstat | /usr/bin/grep md0 # capture raid status`

    # Turn off swap, then unmount local file systems.
    # clearing mdtab as well
    echo "Turning off swap."
    swapoff -a
    echo "Unmounting local file systems."
    umount -a -tnonfs

    # Don't remount UMSDOS root volumes:
    if [ ! "`mount | head -1 | cut -d ' ' -f 5`" = "umsdos" ]; then
      mount -n -o remount,ro /
    fi

    # root device remains mounted
    # mount dos file systems RW
    echo "Writing RAID read-only boot FLAG(s)."
    mount -n /dosa
    mount -n /dosc
    # create raid mounted RO flag in duplicate
    # containing the shutdown status of the raid array
    echo ${RAIDSTATUS} > /dosa/raidboot/raidstat.ro
    echo ${RAIDSTATUS} > /dosc/raidboot/raidstat.ro

    umount -n /dosa
    umount -n /dosc

    # Stop all the raid arrays (except root)
    echo "Stopping raid"
    mdstop -a

    # See if this is a powerfail situation.
    if [ -f /etc/power_is_failing ]; then
      echo "Turning off UPS, bye."
      /sbin/powerd -q
      exit 1
    fi

    # Now halt or reboot.
    echo "$message"
    [ ! -f /etc/fastboot ] && echo "On the next boot fsck will be FORCED."
    $command -f

  12.  •t˜^ E: Gadi Ž‚Ì RAID ’âŽ~‚ÉŠÖ‚·‚éLinux ƒJ[ƒlƒ‹ƒpƒbƒ`

  --- linux/drivers/block/md.c.old        Fri Nov 21 13:37:11 1997
  +++ linux/drivers/block/md.c    Sat Dec  6 13:34:28 1997
  @@ -622,8 +622,13 @@
         return do_md_run (minor, (int) arg);

       case STOP_MD:
  -      return do_md_stop (minor, inode);
  -
  +      err = do_md_stop(minor, inode);
  +      if (err) {
  +        printk("md: enabling auto mdstop for %s\n",
  kdevname(inode->i_rdev));
  +        md_dev[minor].auto_mdstop = 1;
  +      }
  +      return err;
  +
       case BLKGETSIZE:   /* Return device size */
       if  (!arg)  return -EINVAL;
       err=verify_area (VERIFY_WRITE, (long *) arg, sizeof(long));
  @@ -692,6 +697,10 @@

     sync_dev (inode->i_rdev);
     md_dev[minor].busy--;
  +  if (!md_dev[minor].busy && md_dev[minor].auto_mdstop) {
  +       do_md_stop(minor, inode);
  +       md_dev[minor].auto_mdstop = 0;
  +  }
   }

   static int md_read (struct inode *inode, struct file *file,
  --- linux/include/linux/md.h~   Fri Nov 21 13:29:14 1997
  +++ linux/include/linux/md.h    Fri Nov 21 13:29:14 1997
  @@ -260,6 +260,7 @@
     int                  repartition;
     int                  busy;
     int                  nb_dev;
  +  int                  auto_mdstop;
     void                 *private;
   };

  13.  •t˜^ F: rc.raidown

  ˆÈ‰º‚̃eƒLƒXƒg‚ð rc.raidown ƒXƒNƒŠƒvƒg‚Æ‚µ‚āC/etc/rc.d ‚ɃZ[ƒu‚µ‚Ü
  ‚·D

  #! /bin/sh
  #
  # rc.raidown    This file is executed by init when it goes into runlevel
  #               0 (halt) or runlevel 6 (reboot). It saves the status of
  #               a root mounted raid array for subsequent re-boot
  #
  # Version:      1.08    3-25-98 Michael A. Robinton < michael@bizsystems.com >
  #
  ############ Save raid boot and status info ##############
  if [ -f /etc/raidboot.conf ]
  then
    {
    read RaidBootDevs
    read RaidStatusPath
    read RaidConfigEtc
    } < /etc/raidboot.conf

  # you must have issued
  #       cat /proc/mdstat | grep md0 >
  #               {your boot vol mnt(s)}/{RaidStatusPath}/raidgood.ref
  # before linuxrc will execute properly with this info
  #
  #       capture raid status
    RAIDSTATUS=`/bin/cat /proc/mdstat | /usr/bin/grep md0`
    mkdir /tmp/raid$$
    echo "Writing RAID read-only boot FLAG(s)."
    for Device in ${RaidBootDevs}
    do
  # get mount point for raid boot device or use tmp
      RBmount=$( cat /proc/mounts | /usr/bin/grep ${Device} )
      if [ -n ${RBmounts} ]; then
        RBmount=$( echo ${RBmount} | cut -f 2 -d ' ' )
      else
        RBmount="/tmp/raid$$"
        mount ${Device} ${RBmount}
      fi
    if [ -d ${RBmount}/${RaidStatusPath} ]; then
  # Create raid mounted RO flag = shutdown status of raid array
      echo ${RAIDSTATUS} > ${RBmount}/${RaidStatusPath}/raidboot.ro
  # Don't propagate 'fstab' from ramdisk
      if [ -f /linuxrc ]; then
        FSTAB=
      else
        FSTAB=fstab
      fi
      pushd /etc
  # Save etc files for rescue system
      /bin/tar --ignore-failed-read \
          -cf ${RBmount}/${RaidStatusPath}/raidboot.etc \
          raid*.conf mdtab* ${FSTAB} lilo.conf
      popd
  # Create new raidboot.cfg
      {
      /bin/echo ${RaidBootDevs}
      /bin/echo ${RaidStatusPath}
      /bin/echo ${RaidConfigEtc}
      } > ${RBmount}/${RaidStatusPath}/raidboot.cfg
      /bin/umount ${RBmount}
    fi
    done
    rmdir /tmp/raid$$
    echo "Raid boot armed"
  fi
  ################## end raid boot #########################

  14.  •t˜^ G: linuxrc ‚Ì“®ìŒ´—

  ‚±‚ê‚Í RAID ‚ðƒ‹[ƒgƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ƀ}ƒEƒ“ƒg‚·‚邽‚߂́Clinuxrc ƒtƒ@
  ƒCƒ‹‚Ì•¡ŽG‚ÈŒ`‚Ì‚à‚Ì‚Å‚·D‚±‚̃tƒ@ƒCƒ‹‚Í `bash' ‚©C‚»‚êˆÈŠO‚̃VƒFƒ‹ŠÖ
  ”‚ª—˜—p‚Å‚«‚éƒVƒFƒ‹ã‚ÅŽÀs‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñD

  ‚±‚Ì—˜“_‚́Cˆê”Ê“I‚Å‚ ‚èCinitrd ƒCƒ[ƒW“à‚É‚ ‚éƒXƒ^[ƒgƒAƒbƒvƒtƒ@ƒC
  ƒ‹‚âƒpƒ‰ƒ[ƒ^‚Ɉˑ¶‚µ‚È‚¢‚±‚Æ‚Å‚·D

  ƒu[ƒgŽž‚ɃJ[ƒlƒ‹‚É‚æ‚Á‚Ä LILO ‚â loadlin ‚©‚çlinuxrc ‚É“n‚³‚ꂽ
  Raid_Conf ƒpƒ‰ƒ[ƒ^‚́Clinuxrc ‚ª•K—v‚Æ‚·‚é‹N“®ƒfƒoƒCƒX‚â raidboot
  ‚Ì2‚‚̏‰Šú‰»ƒtƒ@ƒCƒ‹‚̈ʒu‚ðŽ¦‚µ‚Ü‚·(raidboot.etc ‚Æ raidboot.cfg ‚Í
  ƒVƒƒƒbƒgƒ_ƒEƒ“ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚čì‚ç‚ê‚Ü‚·)D

       raidboot.etc ‚ÍŒ³‚Æ‚È‚éƒVƒXƒeƒ€‚©‚çˆÈ‰º‚ÉŽ¦‚·ƒtƒ@ƒCƒ‹‚ð tar
       ‚Å‚Ü‚Æ‚ß‚½‚à‚̂ŁC‹N“®Žž‚É initrd ‚Ì /etcƒfƒBƒŒƒNƒgƒŠ‚É‚È‚è
       ‚Ü‚·D

               raid*
               mdtab*
               fstab
               lilo.conf               ( —˜—p‰Â”\‚È‚ç‚Î )

       ’ˆÓ‚·‚ׂ«“_‚́C‚±‚̃tƒ@ƒCƒ‹‚̓VƒXƒeƒ€‚ªu–{“–‚ɁvƒNƒ‰ƒbƒVƒ…
       ‚µ‚½‚Æ‚«‚ɂ́C•K—v‚ɉž‚¶‚ĕҏW‚³‚ê‚é“_‚Å‚·D

       raidboot.cfg ‚Í linuxrc ‚ª•K—v‚Æ‚·‚éŽc‚è‚Ì RAID ‹N“®ƒtƒ@ƒCƒ‹
       ‚̃pƒX‚ƁCŽg—p‚³‚ê‚Ä‚¢‚éƒu[ƒgƒp[ƒeƒBƒVƒ‡ƒ“‹y‚Ñ—˜—p‰Â”\‚È
       ƒoƒbƒNƒAƒbƒvƒp[ƒeƒBƒVƒ‡ƒ“‚Ì–¼‘O‚ðŽ‚Á‚Ä‚¢‚Ü‚·D‚±‚̃tƒ@ƒCƒ‹
       ‚͒ʏíCƒVƒƒƒbƒgƒ_ƒEƒ“ƒtƒ@ƒCƒ‹‚É‚æ‚Á‚č쐬‚³‚ê‚Ü‚·‚ªC•K—v‚É
       ‰ž‚¶‚ÄŽè“®‚ōì‚邱‚Æ‚à‚ ‚è‚Ü‚·D

       raidboot.cfg ‚Í3sCƒRƒƒ“ƒg–³‚µ‚ÌŒ`Ž®‚Å‚·D

               /dev/bootdev1 /dev/bootdev2 [/dev/bootdev3 ... “™]
               raid-status/path
               name_of_raidX.conf_file

       raid-status/path ‚̓}ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚Ì–¼‘O‚ÍŠÜ‚Ý‚Ü‚¹‚ñD

       raidX.conf ‚̃tƒ@ƒCƒ‹–¼‚Í /etc ƒfƒBƒŒƒNƒgƒŠ“à‚Ì‚à‚̂ŁC’ʏí
       ‚Í ckraid ‚Æ mkraid ‚Ì‚½‚ß‚É—p‚¢‚ç‚ê‚Ü‚·D

  ˆÈ‰º‚̒ljÁƒtƒ@ƒCƒ‹‚́C‚¸‚Á‚ÆŽg—p‚·‚é RAID ‹N“®ƒp[ƒeƒBƒVƒ‡ƒ“‚É’u‚«‚Ü
  ‚·D‚±‚ê‚͏ã‚ŏq‚ׂ½‚Ì‚Æ“¯‚¶‚à‚Ì‚Å‚·‚ªC”ñíŽ–‘Ô‚É‚Í—˜—p‰Â”\‚È”CˆÓ‚̏ê
  Š(—Ⴆ‚΋N“®ƒtƒƒbƒs[ƒfƒBƒXƒN)‚©‚烍[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D

  o  raidgood.ref ‚ÍŽŸ‚̃Rƒ}ƒ“ƒh‚É‚æ‚Á‚č쐬‚³‚ê‚Ü‚·D cat /proc/mdstat
     | grep md0 > /{raid_status_path}/raidgood.ref

     ‚±‚̃tƒ@ƒCƒ‹‚Æ‚±‚ÌŽŸ‚̃tƒ@ƒCƒ‹‚ðƒZ[ƒu‚·‚éê‡‚́C``ƒVƒƒƒbƒgƒ_ƒEƒ“
     ƒXƒNƒŠƒvƒg''‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D

  o  raidstat.ro ‚̓Vƒƒƒbƒgƒ_ƒEƒ“Žž‚É–ˆ‰ñ rc ƒXƒNƒŠƒvƒg‚É‚æ‚Á‚č쐬‚³
     ‚êCRAID ƒAƒŒƒC‚̏I—¹ƒXƒe[ƒ^ƒX‚ð•Û‘¶‚µ‚Ü‚·D