¹ß»ýÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ ÇÇÇØ¿¡ ´ëÇؼµµ, º¹±¸ ÀýÂ÷´Â ´ÙÀ½ÀÇ 4´Ü°è¸¸ÀÌ ¿ä±¸µË´Ï´Ù.
ù°, µð½ºÅ©µéÀÇ ¶óº§(¿¹: disklabel sd0 | lpr
),
ÆÄÀÏ ½Ã½ºÅÛ Å×À̺í(/etc/fstab
), ¸ðµç ºÎÆ® ¸Þ½ÃÁöµéÀ» µÎ Ä«ÇǾ¿
Ãâ·ÂÇϼ¼¿ä.
µÑ°, ½Ã½ºÅÛÀÇ ¸ðµç µð¹ÙÀ̽º°¡ boot, fixit Ç÷ÎÇÇ(boot.flp¿Í fixit.flp)¿¡ Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇϽʽÿä. ¼Õ½¬¿î È®ÀÎ ¹æ¹ýÀº boot Ç÷ÎÇÇ·Î ½Ã½ºÅÛÀ» ºÎÆÃÇÏ¿© Ãâ·ÂµÇ´Â ¸Þ½ÃÁöµéÀ» »ìÆ캸´Â°Í ÀÔ´Ï´Ù. ¸ðµç µð¹ÙÀ̽º°¡ Æ÷ÇԵǾî ÀÖ°í Àß µ¿ÀÛÇÑ´Ù¸é, ¼Â° ´Ü°è·Î ³Ñ¾î°¡½Ê½Ã¿ä.
±×·¸Áö ¾Ê´Ù¸é, ÀåÂøµÈ µð½ºÅ©¸¦ ¸¶¿îÆ®ÇÏ°í,
Å×ÀÌÇÁ µå¶óÀ̺갡 Á¦¾îµÇ´Â Ä¿³ÎÀÌ »ðÀÔµÈ µÎÀåÀÇ ¸ÂÃã ºÎÆà Ç÷ÎÇǸ¦
¸¸µé¾î¾ß ÇÕ´Ï´Ù. fdisk(8)
, disklabel(8)
, newfs(8)
,
mount(8)
, ÇÊ¿äÇÑ ¹é¾÷ ÇÁ·Î±×·¥ ¶ÇÇÑ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
ÇÁ·Î±×·¥µéÀº ½ºÅÂƽ ¸µÅ©(¿ªÀÚÁÖ: statically linked, ÇÊ¿äÇÑ ¶óÀ̺귯¸®°¡
½ÇÇà ÆÄÀÏ¿¡ ¸ðµÎ Æ÷ÇÔµÈ)¿©¾ß ÇÕ´Ï´Ù. ¹é¾÷¿¡ dump(8)
°¡ »ç¿ëµÇ¾ú´Ù¸é,
restore(8)
¶ÇÇÑ Æ÷ÇÔÇϽʽÿä.
¼Â°, ¿©´À ¶§¿Í °°ÀÌ Å×ÀÌÇÁ ¹é¾÷À» ¼öÇàÇϽʽÿä. ¸¶Áö¸· ¹é¾÷ ÀÌÈÄ ¼öÁ¤µÈ ÀÚ·áµéÀº º¹±¸°¡ ºÒ°¡´ÉÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¹é¾÷µÈ Å×ÀÌÇÁ¿¡ ¾²±â-¹æÁö ÅÇÀ» °Å½Ê½Ã¿ä.
³Ý°, Ç÷ÎÇÇ(boot.flp¿Í fixit.flp ȤÀº µÑ° ´Ü°è¿¡¼ ¸¸µç
µÎÀåÀÇ ¸ÂÃã ºÎÆ® Ç÷ÎÇÇ)¿Í ¹é¾÷ Å×ÀÌÇÁ°¡ ¾çÈ£ÇÑÁö °Ë»çÇϽʽÿä.
º¹±¸ ¼ø¼¸¦ ³ëÆ®ÇÏ¿©, ºÎÆ® Ç÷ÎÇÇ¿Í ¹é¾÷ Å×ÀÌÇÁ¿¡ ºÙÀÌ°í Ãâ·Âµµ
ÇØ µÎ½Ê½Ã¿ä. Á¤½ÅÀÌ ¸Å¿ì È¥¶õ½º·¯¿î »óÅÂÀ̱⠶§¹®¿¡, º» ³ëÆ®´Â
º¹±¸°úÁ¤¿¡¼ ¹é¾÷ Å×ÀÌÇÁ¸¦ »èÁ¦Çعö¸®´Â ºÒ»ó»ç¸¦ ¿¹¹æÇϴµ¥ µµ¿òÀÌµÉ °Í ÀÔ´Ï´Ù.
(¾î¶»°Ô¿ä? tar xvf /dev/rst0
´ë½Å ½Ç¼ö·Î ŸÀÌÇεÈ
tar cvf /dev/rst0
¸í·ÉÀº ¹é¾÷ Å×ÀÌÇÁ¸¦ µ¤¾î½á ¹ö¸³´Ï´Ù)
¾ÈÀüÀ» º¸ÀåÇϱâ À§ÇØ, ºÎÆ® Ç÷ÎÇÇ¿Í ¹é¾÷ Å×ÀÌÇÁ¸¦ µÎ Ä«ÇÇ Á¦ÀÛÇÏ¿©, ÇÑ Ä«ÇǸ¦ ¿ÜºÎ Àå¼Ò¿¡ º¸°üÇϽʽÿä. °°Àº °Ç¹°¾ÈÀÇ ´Ù¸¥ »ç¹«½ÇÀº ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù. ¼¼°è¹«¿ª¼¾ÅÍ ºôµù³»ÀÇ ¼ö¸¹Àº ȸ»çµéÀº ÀÌ¿¡´ëÇÑ °ªºñ½Ñ ±³ÈÆÀ» ¾ò¾ú½À´Ï´Ù. ¿ÜºÎ Àå¼Ò´Â ¹Ýµå½Ã ±ÍÇÏÀÇ ÄÄÇ»ÅÍ¿Í µð½ºÅ©·ÎºÎÅÍ ¹°¸®ÀûÀ¸·Î ºÐ¸®µÇ¾î ÃæºÐÈ÷ ¶³¾îÁø Àå¼Ò¿©¾ß ÇÕ´Ï´Ù.
ºÎÆ® Ç÷ÎÇǸ¦ »ý¼ºÇÏ´Â ½ºÅ©¸³Æ® ¿¹Á¦:
#!/bin/sh
#
# º¹±¸ Ç÷ÎÇÇ »ý¼º
#
# Ç÷ÎÇÇ Æ÷¸Ë
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin
fdformat -q fd0
if [ $? -ne 0 ]
then
echo "ºÒ·® Ç÷ÎÇÇ ÀÔ´Ï´Ù. ´Ù¸¥°ÍÀ» »ç¿ëÇϼ¼¿ä."
exit 1
fi
#
# Ç÷ÎÇÇ¿¡ ºÎÆ® ºí·Ï »ý¼º
#
disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rfd0c fd1440
#
# ÆÄÀϽýºÅÛ »ý¼º
#
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a
#
# Ç÷ÎÇÇ ¸¶¿îÆ®
#
mount /dev/fd0a /mnt
#
# ÇÊ¿äÇÑ µð·ºÅ丮 »ý¼º
#
mkdir /mnt/dev
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/etc
mkdir /mnt/root
mkdir /mnt/mnt # for the root partition
mkdir /mnt/tmp
mkdir /mnt/var
#
# µð·ºÅ丮 º¹»ç
#
if [ ! -x /sys/compile/MINI/kernel ]
then
cat << EOM
MINI Ä¿³ÎÀÌ ¾ø½À´Ï´Ù. ¸¸µé¾î ÁÖ¼¼¿ä.
MINI Ä¿³ÎÀ» À§ÇÑ ¿¹Á¦ ¼³Á¤ ÆÄÀÏÀº ´ÙÀ½°ú °°½À´Ï´Ù.
#
# MINI -- µð½ºÅ© »ðÀÔÇϱâ À§ÇÑ Ä¿³Î
#
machine "i386"
cpu "I486_CPU"
ident MINI
maxusers 5
options INET # _tcp _icmpstat _ipstat _udpstat _tcpstat _udbÀ» »ç¿ëÇϱâ À§ÇØ ÇÊ¿äÇÕ´Ï´Ù.
options FFS # ¹öŬ¸® ºü¸¥ ÆÄÀÏ ½Ã½ºÅÛ
options FAT_CURSOR # syscons³ª pcconsÀÇ ºí·Ï Ä¿¼
options SCSI_DELAY=15 # SCSI µð¹ÙÀ̽º¿¡ ´ëÇØ ¾ÈÀüÀ» ±âÇϱâ À§ÇØ
options NCONS=2 # ÇϳªÀÇ °¡»ó ÄÜ¼Ö Æ÷ÇÔ
options USERCONFIG # »ç¿ëÀÚ ¼³Á¤ ¿É¼Ç -c XXX Çã¿ë
config kernel root on sd0 swap on sd0 and sd1 dumps on sd0
controller isa0
controller pci0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk fd0 at fdc0 drive 0
controller ncr0
controller scbus0
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device sd0
device sd1
device sd2
device st0
pseudo-device loop # INET¿¡¼ ¿ä±¸µË´Ï´Ù.
pseudo-device gzip # gzipÀ¸·Î ¾ÐÃàµÈ a.out ½ÇÇà
EOM
exit 1
fi
cp -f /sys/compile/MINI/kernel /mnt
gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# µð¹ÙÀ̽º ³ëµå »ý¼º
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV sd0
./MAKEDEV sd1
./MAKEDEV sd2
./MAKEDEV st0
./MAKEDEV pty0
cd /
#
# ÃÖ¼Ò ÆÄÀϽýºÅÛ Å×ÀÌºí »ý¼º
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a / ufs rw 1 1
EOM
#
# ÃÖ¼Ò passwd ÆÄÀÏ »ý¼º
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM
cat > /mnt/etc/master.passwd <<EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM
chmod 600 /mnt/etc/master.passwd
chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
#
# Ç÷ÎÇÇ ¾ð¸¶¿îÆ®ÈÄ »ç¿ëÀÚ¿¡°Ô ÅëÁö
#
/sbin/umount /mnt
Áß¿äÇÑ ¹®Á¦´Â Çϵå¿þ¾îÀÇ º¹±¸ °¡´É ¿©ºÎ ÀÔ´Ï´Ù. ¹é¾÷À» ¹Þ¾Ò´Ù¸é ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇؼ´Â °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.
Çϵå¿þ¾î°¡ ¼Õ»óµÇ¾ú´Ù¸é, ¼Õ»ó¹ÞÀº ºÎÇ°À» ±³Ã¼ÇϽʽÿä.
Çϵå¿þ¾î¿¡ ¹®Á¦°¡ ¾øÀ¸¸ç, Ç÷ÎÇÇ°¡ »ç¿ë°¡´ÉÇÑÁö °Ë»çÇϽʽÿä. ¸ÂÃã ºÎÆ® Ç÷ÎÇÇ°¡ ÁغñµÇ¾î ÀÖ´Ù¸é, ½Ì±Û-À¯Àú·Î ºÎÆÃÇÕ´Ï´Ù. ("boot:" ÇÁ·ÒÇÁÆ®¿¡¼ "-s"¸¦ ÀÔ·ÂÇϼ¼¿ä) ´ÙÀ½ Ç׸ñÀº ³Ñ¾î°¡µµ ÁÁ½À´Ï´Ù.
boot.flp¿Í fixit.flp°¡ ÁغñµÇ¾î ÀÖ´Ù¸é, °è¼Ó ÀÐ¾î ³ª°¡½Ê½Ã¿ä.
ù¹ø° Ç÷ÎÇÇ µå¶óÀ̺꿡 boot.flp¸¦ »ðÀÔÇÑÈÄ, ÄÄÇ»Å͸¦ ÄѼ¼¿ä.
Ãʱ⠼³Ã¼ ¸Þ´º°¡ ȸ鿡 Ç¥½ÃµÉ °Í ÀÔ´Ï´Ù.
"Fixit--Repair mode with CDROM or floppy." ¿É¼ÇÀ» ¼±ÅÃÇÑÈÄ, fixit.flp¸¦
¿ä±¸ÇÒ ¶§ fixit Ç÷ÎÇǸ¦ »ðÀÔÇϽʽÿä. restore
¿Í ÇÊ¿äÇÑ ÇÁ·Î±×·¥µéÀº
/mnt2/stand
¿¡ ÀÖ½À´Ï´Ù.
°¢°¢ÀÇ ÆÄÀϽýºÅÛÀ» °³º°ÀûÀ¸·Î º¹±¸Çϼ¼¿ä.
ù¹øÀç µð½ºÅ©ÀÇ ·çÆ® ÆÄƼ¼ÇÀ»
mount(8) (¿¹: mount /dev/sd0a /mnt)
Çϼ¼¿ä.
µð½ºÅ©¶óº§ÀÌ ¼Õ»óµÇ¾ú´Ù¸é, disklabel(8)
¸í·ÉÀ¸·Î
ÀμâÇØ º¸°üÇØ µÎ¾ú´ø °Í°ú µ¿ÀÏÇÏ°Ô ÆÄƼ¼Ç°ú ¶óº§À» ´Ù½Ã ¸¸µçÈÄ,
newfs(8)
¸í·ÉÀ¸·Î ÆÄÀϽýºÅÛÀ» Àç»ý¼º ÇϽʽÿä.
Ç÷ÎÇǸ¦ Àбâ-¾²±â ¸ðµå·Î ´Ù½Ã ¸¶¿îÆ® ÇϽʽÿä. (¿¹: mount -u -o rw /mnt
)
¹é¾÷ ÇÁ·Î±×·¥°ú ¹é¾÷ Å×ÀÌÇÁ¸¦ »ç¿ëÇØ ÆÄÀϽýºÅÛÀ» º¹±¸ ÇÕ´Ï´Ù.
(¿¹: restore vrf /dev/st0
) ÆÄÀϽýºÅÛÀ» ¾ð¸¶¿îÆ®ÇÑ ÈÄ
(¿¹: umount /mnt
), ¼Õ»ó¹ÞÀº °¢°¢ÀÇ ÆÄÀϽýºÅÛ¿¡ ´ëÇØ
µ¿ÀÏÇÑ °úÁ¤À» ¹Ýº¹ÇÕ´Ï´Ù.
º¹±¸°¡ ¸¶¹«¸®µÇ¸é, ´Ù½Ã ¹ß»ýÇÒÁö ¸ð¸¦ ½Ã½ºÅÛ Å©·¡½¬³ª ÀÚ·á ¼Õ»óµîÀÇ »ç°í¿¡ ´ëºñÇØ »õ·Î¿î Å×ÀÌÇÁ¿¡ ÀڷḦ ¹é¾÷ÇϽʽÿä. Áö±Ý ¹é¾÷¿¡ ¼ÒºñÇÏ´Â ¸î ½Ã°£ÀÌ ÃßÈÄ ¹ß»ýÇÒ ¼ö ÀÖ´Â ÀáÀçÀûÀÎ »ç°í·ÎºÎÅÍ ¿©·¯ºÐÀ» ÁöÄÑÁÙ °Í ÀÔ´Ï´Ù.