4 Âè 1 Ãʳ¬: ¥·¥¹¥Æ¥à¤Î¥¤¥ó¥¹¥È¡¼¥ë

¤³¤Îʸ½ñ¤Î½éÈǤǤϡ¢Âè 1 Ãʳ¬¤Ë¤Ò¤È¤Ä¤Î¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¡£ ¥«¥¹¥¿¥Þ¥¤¥º¤Ï¤¹¤Ù¤Æ¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ÍøÍѼԤ«¤é¤Î°Õ¸«¤ò»²¹Í¤Ë¤·¤Æ¡¢¥¹¥¯¥ê¥×¥È¤Î¥³¡¼¥É¤È¥Ç¡¼¥¿¤òʬΥ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ ¤½¤Î¤¿¤á¿·¤·¤¤¥¹¥¯¥ê¥×¥È¤Ç¤Ï¡¢¥³¡¼¥É¥¹¥¯¥ê¥×¥È¤òÊѹ¹¤»¤º¤Ë¡¢ Ê£¿ô¤Î°Û¤Ê¤ë¥·¥¹¥Æ¥à¤Ë°Û¤Ê¤ë¹½À®¤Î¥Ç¡¼¥¿¤òÃÖ¤¯¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

Âè 1 Ãʳ¬¤Î¥³¡¼¥É¥¹¥¯¥ê¥×¥È¤Ï stage_1.sh ¤Ç¤¢¤ê¡¢¼¡¤Î¤è¤¦¤Ë 1 ¸Ä¤Î°ú¿ô¤ò¤Ä¤±¤Æ¼Â¹Ô¤¹¤ë¤È

# ./stage_1.sh default

ÀßÄê¥Õ¥¡¥¤¥ë¤È¤·¤Æ stage_1.conf.default ¤òÆÉ¤ß¹þ¤ß¡¢ ¥í¥°¥Õ¥¡¥¤¥ë¤È¤·¤Æ stage_1.log.default ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£

ʸËö¤Ë¤ï¤¿¤·¤¬»È¤Ã¤Æ¤¤¤ë stage_1.conf.default ¤¬ÅºÉÕ¤·¤Æ¤¢¤ê¤Þ¤¹¡£ ¤¢¤Ê¤¿¤¬¹Í¤¨¤ë ´°àú¤Ê¥·¥¹¥Æ¥à ¤Ë¹ç¤ï¤»¤Æ¡¢ ³ÆÀßÄê¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¯¤À¤µ¤¤¡£¤¢¤Ê¤¿¤¬Êѹ¹¤·¤½¤¦¤ÊÀßÄê¤Ë¤Ï¡¢ ¾ÜºÙ¤Ê¥³¥á¥ó¥È¤òÄɲ䷤Ƥ¢¤ê¤Þ¤¹¡£ÀßÄꥹ¥¯¥ê¥×¥È¤Ç¤Ï¡¢ create_file_systems, create_etc_fstab, copy_files, all_remaining_customization ¤È¤¤¤¦¡¢ 4 ¸Ä¤Î¥·¥§¥ë´Ø¿ô¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¤³¤ì¤Ï¡¢ stage_1.sh ¤«¤é¸Æ¤Ð¤ì¤ë½ç¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹)¡£

¹Íθ¤¹¤Ù¤­ÅÀ¤Ï¡¢°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£

stage_1.sh ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ make installworld installkernel ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËÄ̾ï¹Ô¤Ê¤¦ºî¶È¤ò´°Î»¤µ¤»¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤é¤Ï¡¢¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£

½é¤á¤Æ stage_1.sh ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ï¡¢ ²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤«¤é¿·¤·¤¤¥·¥¹¥Æ¥à¤Ø¤È¥³¥Ô¡¼¤µ¤ì¤ëÀßÄê¥Õ¥¡¥¤¥ë¤Ï /usr/src ¤Î¤â¤Î¤ÈÈæ¤Ù¤ë¤È¸Å¤¤¤Î¤Ç¡¢ mergemaster ¤¬¤É¤¦¤¹¤ë¤«¤òʹ¤¤¤Æ¤­¤Þ¤¹¡£ ¤ª¤¹¤¹¤á¤Ï¡¢¤³¤³¤ÇÊѹ¹ÅÀ¤òÅý¹ç¤·¤Æ¤ª¤¯¤³¤È¤Ç¤¹¡£ ¤â¤·¡¢²¿ÅÙ¤â¼ÁÌä¤ËÅú¤¨¤ë¤Î¤¬ÌÌÅݤǤ¢¤ì¤Ð¡¢ ²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦ (¤¿¤À¤·¤³¤ì¤Ï¡¢¤½¤¦¤Ç¤­¤ì¤Ð¤ÎÏäǤ¹¡£ -STABLE ¤Î¥·¥¹¥Æ¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤Æ¡¢ -CURRENT ¤ò¹½ÃÛ¤¹¤ë¡¢ ¤â¤·¤¯¤Ï¤½¤ÎµÕ¤Î¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤Ï¡¢¤½¤¦¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó)¡£ ¼¡¤Ë mergemaster ¤ò¼Â¹Ô¤·¤¿»þ¡¢ RCS ¥Ð¡¼¥¸¥ç¥ó ID ¤¬ /usr/src ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤È°ìÃפ·¤Æ¤¤¤ë¤â¤Î¤Ï¡¢½èÍý¤¬Èô¤Ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

stage_1.sh ¥¹¥¯¥ê¥×¥È¤Ï set -e ¤¬»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢ ºÇ½é¤Î¥³¥Þ¥ó¥É¤¬¼ºÇÔ (½ªÎ»¥³¡¼¥É¤¬ 0 °Ê³°) ¤¹¤ë¤ÈÄä»ß¤·¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢¥¨¥é¡¼¤ò¸«Æ¨¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤ì¤Ï¡¢¥¿¥¤¥×¥ß¥¹¤Ê¤É¤Ç̤ÄêµÁ¤ÎÊÑ¿ô¤ò»È¤Ã¤¿¾ì¹ç¤Ë¤â¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼¡¤Ë¿Ê¤àÁ°¤Ë¡¢stage_1.conf.default ¤Ë¤¢¤ë¥¨¥é¡¼¤òÁ´Éô½¤Àµ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£

stage_1.sh ¤Ç¤Ï mergemaster ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ Åý¹çºî¶È¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥Õ¥¡¥¤¥ë¤¬°ì¤Ä¤â¤Ê¤¤¾õÂ֤Ǥ⡢ ¼Â¹Ô¤Î½ª¤ï¤ê¤Ë¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

*** Comparison complete

Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] no

no ¤ÈÅú¤¨¤ë¤«¡¢ ñ¤Ë Enter ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ê¤¼¤«¤È¸À¤¦¤È¡¢mergemaster ¤Ï /var/tmp/temproot.stage1 ¤Ë¥µ¥¤¥º¤¬ 0 ¤Î¥Õ¥¡¥¤¥ë¤ò¤¤¤¯¤Ä¤«»Ä¤¹¤«¤é¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢¸å¤Ç¿·¤·¤¤¥·¥¹¥Æ¥à¤Ë (¸ºß¤·¤Ê¤±¤ì¤Ð) ¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡£

¤³¤Î¸å¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤¬¥Ú¡¼¥¸¥ã (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï more(1) ¤Ç¤¹¡£less(1) ¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹) ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£

*** You chose the automatic install option for files that did not
    exist on your system.  The following were installed for you:
      /newroot/etc/defaults/rc.conf
      ...
      /newroot/COPYRIGHT

(END)

q ¤òÆþÎϤ·¤Æ¥Ú¡¼¥¸¥ã¤ò½ªÎ»¤·¤Þ¤¹¡£ ¤¹¤ë¤È login.conf ¤Ë´Ø¤·¤Æ¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£

*** You installed a login.conf file, so make sure that you run
    '/usr/bin/cap_mkdb /newroot/etc/login.conf'
    to rebuild your login.conf database

    Would you like to run it now? y or n [n]

¤³¤ì¤ËÂФ¹¤ëÅú¤¨¤Ï¤É¤Á¤é¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£ ¤É¤¦Åú¤¨¤Æ¤â¡¢¥¹¥¯¥ê¥×¥È¤«¤é cap_mkdb(1) ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢É®¼Ô¤Î»È¤Ã¤Æ¤¤¤ë stage_1.conf.default ¤Ç¤¹¤¬¡¢¤¿¤¯¤µ¤ó¤ÎÉôʬ¤ò½ñ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤É¤³¤ò½ñ¤­´¹¤¨¤ì¤Ð¤è¤¤¤Î¤«¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥³¥á¥ó¥È¤òÆÉ¤á¤Ð½½Ê¬Íý²ò¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£

Warning: newfs(8) ¥³¥Þ¥ó¥É¤Ë¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Þ¥¦¥ó¥È¤º¤ß¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤â¤Î¤Î¡¢ ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ /dev/da0s1a, /dev/da0s1e, /dev/da2s1e ¤ò¤¹¤Ù¤Æºï½ü¤·¤Þ¤¹¡£ ¤Ò¤È¤Ä´Ö°ã¤¨¤ì¤Ð¡¢¤¢¤Ê¤¿¤Î´Ä¶­¤òÇ˲õ¤·¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ ¥Ç¥Ð¥¤¥¹Ì¾¤ÎÊѹ¹¤ÏÃí°Õ¿¼¤¯¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£

# This file: stage_1.conf.default, sourced by stage_1.sh.
#
# $Id: stage_1.conf.default,v 1.5 2011-05-14 20:44:31 hrs Exp $
# $FreeBSD: release/9.1.0/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_1.conf.default 38826 2012-05-17 19:12:14Z hrs $

# Root mount point where you create the new system. Because it is only
# used as a mount point, no space will be used on that file system as all
# files are of course written to the mounted file system(s).
DESTDIR="/newroot"

# Where your src tree is.
SRC="/usr/src"

# Where your obj is.
MAKEOBJDIRPREFIX="/usr/obj"

# Your kernel config name as from make buildkernel KERNCONF=...
KERNCONF="HAL9000"

# Your target architecture as used for make buildworld TARGET=...
# If you did not specify a TARGET when building world, it defaulted
# to the build architecture (run "uname -m" to find out if you are unsure).
TARGET="i386"  # amd64 arm i386 ia64 mips pc98 powerpc sparc64

# Available time zones are those under /usr/share/zoneinfo.
TIMEZONE="Europe/Berlin"


#
# The create_file_systems function must create the mountpoints under
# DESTDIR, create the file systems, and then mount them under DESTDIR.
#
create_file_systems () {
  # The new root file system. Mandatory.
  # Change DEVICE names.
  DEVICE=/dev/daXYZs1a
  mkdir -m 755 -p ${DESTDIR}
  chown root:wheel ${DESTDIR}
  newfs -U ${DEVICE}
  mount -o noatime ${DEVICE} ${DESTDIR}

  # Additional file systems and initial mount points. Optional.
  DEVICE=/dev/daXYZs1e
  mkdir -m 755 -p ${DESTDIR}/var
  chown root:wheel ${DESTDIR}/var
  newfs -U ${DEVICE}
  mount -o noatime ${DEVICE} ${DESTDIR}/var

  DEVICE=/dev/daXYZs1e
  mkdir -m 755 -p ${DESTDIR}/usr
  chown root:wheel ${DESTDIR}/usr
  newfs -U ${DEVICE}
  mount -o noatime ${DEVICE} ${DESTDIR}/usr
}

#
# The create_etc_fstab function must create an fstab matching the
# file systems created in create_file_systems.
#
create_etc_fstab () {
  cat <<EOF >${DESTDIR}/etc/fstab
# Device         Mountpoint          FStype    Options              Dump Pass#
/dev/da0s1b      none                swap      sw                   0    0
/dev/da1s1b      none                swap      sw                   0    0
/dev/da2s2b      none                swap      sw                   0    0
/dev/da3s2b      none                swap      sw                   0    0
/dev/da0s1a      /                   ufs       rw,noatime           1    1
/dev/da0s1e      /var                ufs       rw,noatime           1    1
/dev/da2s1e      /usr                ufs       rw,noatime           1    1
/dev/vinum/Share /share              ufs       rw,noatime           0    2
/dev/vinum/home  /home               ufs       rw,noatime           0    2
/dev/vinum/ncvs  /home/ncvs          ufs       rw,noatime           0    2
/dev/vinum/ports /usr/ports          ufs       rw,noatime           0    2
/dev/ad1s1a      /flash              ufs       rw,noatime           0    0
/dev/ad0s1       /2k                 ntfs      ro,noauto            0    0
/dev/ad0s6       /linux              ext2fs    ro,noauto            0    0
#
/dev/cd0         /cdrom              cd9660    ro,noauto            0    0
/dev/cd1         /dvd                cd9660    ro,noauto            0    0
proc             /proc               procfs    rw                   0    0
linproc          /compat/linux/proc  linprocfs rw                   0    0
EOF
  chmod 644 ${DESTDIR}/etc/fstab
  chown root:wheel ${DESTDIR}/etc/fstab
}

#
# The copy_files function is used to copy files before mergemaster is run.
#
copy_files () {
  # Add or remove from this list at your discretion. Mostly mandatory.
  for f in \
    /.profile \
    /etc/devd.conf \
    /etc/devd.rules \
    /etc/exports \
    /etc/group \
    /etc/hosts \
    /etc/inetd.conf \
    /etc/ipfw.conf \
    /etc/make.conf \
    /etc/master.passwd \
    /etc/nsswitch.conf \
    /etc/ntp.conf \
    /etc/printcap \
    /etc/profile \
    /etc/rc.conf \
    /etc/resolv.conf \
    /etc/src.conf \
    /etc/sysctl.conf \
    /etc/ttys \
    /etc/mail/aliases \
    /etc/mail/aliases.db \
    /etc/mail/hal9000.mc \
    /etc/mail/service.switch \
    /etc/ssh/*key* \
    /etc/ssh/*_config \
    /etc/X11/xorg.conf \
    /var/cron/tabs/* \
    /root/.profile \
    /boot/*.bmp \
    /boot/loader.conf \
    /boot/device.hints ; do
    cp -p ${f} ${DESTDIR}${f}
  done
}

#
# Everything else you want to tune in the new system.
# NOTE: Do not install too many binaries here. With the old system running and
# the new binaries and headers installed you are likely to run into bootstrap
# problems. Ports should be compiled after you have booted in the new system.
#
all_remaining_customization () {
  # Without the compat symlink the linux_base files end up on the root fs:
  cd ${DESTDIR}
  mkdir -m 755 usr/compat; chown root:wheel usr/compat; ln -s usr/compat
  mkdir -m 755 usr/compat/linux;      chown root:wheel usr/compat/linux
  mkdir -m 555 usr/compat/linux/proc; chown root:wheel usr/compat/linux/proc
  mkdir -m 755 boot/grub;             chown root:wheel boot/grub
  mkdir -m 755 linux 2k;              chown root:wheel linux 2k
  mkdir -m 755 src;                   chown root:wheel src
  mkdir -m 755 share;                 chown root:wheel share
  mkdir -m 755 dvd cdrom flash;       chown root:wheel dvd cdrom flash
  mkdir -m 755 home;                  chown root:wheel home
  mkdir -m 755 usr/ports;             chown root:wheel usr/ports

  # Create the ntp and slip log files.
  touch ${DESTDIR}/var/log/ntp ${DESTDIR}/var/log/slip.log

  # Make /usr/src point to the right directory. Optional.
  # Note: some ports need part of the src tree, e.g. emulators/kqemu,
  # sysutils/lsof, sysutils/fusefs, ...
  cd ${DESTDIR}/usr
  if test "${SRC}" != /usr/src; then
    rmdir src; ln -s ${SRC}
  fi
  if test "${MAKEOBJDIRPREFIX}" != /usr/obj; then
    rmdir obj; ln -s ${MAKEOBJDIRPREFIX}
  fi

  # My personal preference is to symlink tmp -> var/tmp. Optional.
  cd ${DESTDIR}; rmdir tmp; ln -s var/tmp

  # Make spooldirs for the printers in my /etc/printcap.
  cd ${DESTDIR}/var/spool/output/lpd; mkdir -p as od ev te lp da
  touch ${DESTDIR}/var/log/lpd-errs

  # If you do not have /home on a shared partition, you may want to copy it:
  # mkdir -p ${DESTDIR}/home
  # cd /home; tar cf - . | (cd ${DESTDIR}/home; tar xpvf -)
}

# vim: tabstop=2:expandtab:shiftwidth=2:syntax=sh:
# EOF $RCSfile: stage_1.conf.default,v $

¥À¥¦¥ó¥í¡¼¥É: stage_1.conf.default .

¤³¤Î¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤È¡¢ µ¯Æ°¤·¤¿»þ¤Ë¼¡¤Î¤è¤¦¤Ê¾õÂ֤ˤʤäƤ¤¤ë¥·¥¹¥Æ¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£

¾¤ÎÉôʬ¤ËÂФ¹¤ëÀßÄê¤Ï¡¢Âè 2 Ãʳ¬¤¬½ª¤ï¤ë¤Þ¤Çưºî¤·¤Þ¤»¤ó¡£ ¤¿¤È¤¨¤Ð¡¢¥×¥ê¥ó¥¿¤ä X11 ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤â¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¤¬¡¢ ¥×¥ê¥ó¥¿¤Ï PostScript® ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ê¤É¡¢ ¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ë´Þ¤Þ¤ì¤Ê¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»È¤¦¤³¤È¤¬Â¿¤¤¤Ç¤·¤ç¤¦¡£ X11 ¤Ï¥µ¡¼¥Ð¡¢¥é¥¤¥Ö¥é¥ê¡¢¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤¤¤Èưºî¤·¤Þ¤»¤ó¡£

ËÜʸ½ñ¡¢¤ª¤è¤Ó¾¤Îʸ½ñ¤Ï ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£

FreeBSD ¤Ë´Ø¤¹¤ë¼ÁÌ䤬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥É¥­¥å¥á¥ó¥È ¤òÆÉ¤ó¤À¾å¤Ç <questions@FreeBSD.org> ¤Þ¤Ç (±Ñ¸ì¤Ç) Ï¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£
ËÜʸ½ñ¤Ë´Ø¤¹¤ë¼ÁÌä¤Ë¤Ä¤¤¤Æ¤Ï¡¢<doc@FreeBSD.org> ¤Þ¤ÇÅŻҥ᡼¥ë¤ò (±Ñ¸ì¤Ç) Á÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£