· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
UsingBOOTP

BOOTP¸¦ ÀÌ¿ëÇÑ ¿ø°ÝºÎÆÃ

  • ÀÛ¼ºÀÚ
    Á¶ÀçÇõ(Mminzkn@minzkn.com)

  • °íÄ£°úÁ¤
    2010³â 8¿ù 10ÀÏ : óÀ½¾¸

½ÃÀÛÇϱâÀü¿¡

ÇÊÀÚ´Â ¼­¹ö¿Í ³ÝºÏÀ» ÀÌ¿ëÇϴµ¥ ³ÝºÏ¿¡´Â ODDÀåÄ¡°¡ ¾ø½À´Ï´Ù. ÀÌ °æ¿ì ³ÝºÏ¿¡ OSÇѹø ¼³Ä¡ÇÏ·Á¸é ¸Å¿ì º¹ÀâÇØÁý´Ï´Ù. ¼­¹ö´Â ÀÖÀ¸´Ï ¼­¹ö·ÎºÎÅÍ ¿ø°Ý ºÎÆÃÀ» ÇÒ¼ö ÀÖÀ¸¸é ÁÁ°Ú´Ù´Â »ý°¢À» ¸¹ÀÌ Çß¾ú´Âµ¥ ±× ÇØ´äÀÌ ÀÖ¾ú½À´Ï´Ù. ¹Ù·Î BOOTP°¡ µÇ°Ú½À´Ï´Ù. ÀÌÁ¦ PXE¸¦ Áö¿øÇÏ´Â BIOS¸¦ °¡Áø ÄÄÇ»ÅÍ´Â ¸ðµÎ ¿ø°ÝºÎÆÃÇÒ¼ö ÀÖ°Ô È¯°æÀ» ±¸ÃàÇغ¸·Á°í ÇÕ´Ï´Ù.

Kernel ¼³Á¤


Gentoo Linuxȯ°æ¿¡¼­ Gentoo LiveCD¸¦ ÀÌ¿ëÇÑ ¿ø°Ý ºÎÆñ¸Ãà

¼³¸íÀÇ ÆíÀǸ¦ À§Çؼ­ ´ÙÀ½°ú °°Àº ȯ°æº¯¼ö¸¦ »ç¿ëÇÏ°Ú½À´Ï´Ù.
export PATH_LIVECD="/mnt/cdrom"
export PATH_TEMP="/tftpboot/tmp"
export PATH_TFTPROOT="/tftpboot"
  1. ÀÛ¾÷¿¡ ÇÊ¿äÇÑ (ÀÓ½Ã)µð·ºÅ丮µéÀ» ¸¸µì´Ï´Ù.
    mkdir -p ${PATH_LIVECD}
    mkdir -p ${PATH_TEMP}
    mkdir -p ${PATH_TEMP}/gentoo.init.dir
    mkdir -p ${PATH_TFTPROOT}
    mkdir -p ${PATH_TFTPROOT}/netboot
    mkdir -p ${PATH_TFTPROOT}/netboot/pxelinux.cfg
    mkdir -p ${PATH_TFTPROOT}/netboot/gentoo
    
  2. DHCP server¸¦ ¼³Ä¡ÇÕ´Ï´Ù.
    emerge net-misc/dhcp
    
    option domain-name "example.com";
    option domain-name-servers 168.126.63.1, 168.126.63.2, 210.94.0.7, 164.124.101.2, 203.248.252.2, 210.181.1.24, 203.255.112.34;
    
    default-lease-time 600;
    max-lease-time 7200;
    
    # <<< ÀÌ ºÎºÐ Ãß°¡ >>>
    allow booting;
    allow bootp;
    
    ddns-update-style none;
    log-facility local7;
    
    subnet 10.0.0.0 netmask 255.0.0.0 {
        option broadcast-address 10.255.255.255;
        option routers 10.0.0.1;
    
    #   <<< Booting ¿¡ ÀÌ¿ëÇÒ pxelinux.0ÀÇ À§Ä¡ ¹× TFTP server IPÁÖ¼Ò ¼³Á¤ >>>
        filename "netboot/pxelinux.0";
        next-server 10.0.0.1;
    
        pool {
            range 10.0.0.100 10.0.0.200;
            allow unknown-clients;
          }
    
    #    group {
    #        host bootp_client {
    #            hardware ethernet XX:XX:XX:XX:XX:XX;
    #            fixed-address 10.0.0.200;
    #        }
    #    }
    }
    
  3. TFTP server¸¦ ¼³Ä¡ÇÕ´Ï´Ù. À̶§ ÁÖÀÇÇÒ°ÍÀÌ netkit-tftp package´Â Á¦´ë·Î Áö¿øÇÏÁö ¸øÇϹǷΠtftp-hpa package¸¦ ¼³Ä¡ÇÏ¼Å¾ß ÇÕ´Ï´Ù. ±×¸®°í ¹æÈ­º®ÀÌ ÀÖ´Â °æ¿ì "/etc/conf.d/in.tftpd"¿¡¼­ ÀûÀýÇÑ port´ë¿ªÀ» ¼³Á¤ÇØÁÖ°í ¹æÈ­º®¿¡¼­ ÇØ´ç port´ë¿ªÀ» udp¿¡ ´ëÇÏ¿© Çã¿ëÇϵµ·Ï ÇØÁÖ¼Å¾ß ÇÕ´Ï´Ù.
    emerge net-ftp/tftp-hpa
    
  4. syslinux package¸¦ ¼³Ä¡ÇÏ°í ÇÊ¿äÇÑ ÆÄÀϵ鸸 "${PATH_TFTPROOT}/netboot" ÇÏÀ§¿¡ º¹»çÇÕ´Ï´Ù.
    emerge sys-boot/syslinux
    cp /usr/share/syslinux/pxelinux.0 ${PATH_TFTPROOT}/netboot
    cp /usr/share/syslinux/memdisk ${PATH_TFTPROOT}/netboot
    
  5. Gentoo minimal install CD image¸¦ ´Ù¿î·Îµå ¹Þ½À´Ï´Ù.
  6. ´Ù¿î·Îµå ¹ÞÀº Gentoo minimal install CD image¸¦ "${PATH_LIVECD}"¿¡ mount ÇÕ´Ï´Ù.
    mount -o loop install-XX-minimal-XXXXXXXX.iso ${PATH_LIVECD}
    
  7. "${PATH_LIVECD}/isolinux/gentoo" Ä¿³ÎÆÄÀÏÀ» "${PATH_TFTPROOT}/netboot/gentoo"¿¡ º¹»çÇÕ´Ï´Ù.
    cp ${PATH_LIVECD}/isolinux/gentoo ${PATH_TFTPROOT}/netboot/gentoo
    
  8. gentoo.igz ÆÄÀÏÀ» Àӽõð·ºÅ丮 "${PATH_TEMP}/gentoo.init.dir"¿¡ ¾ÐÃàÇØÁ¦ÇÕ´Ï´Ù.
    cd ${PATH_TEMP}/gentoo.init.dir
    gunzip -c ${PATH_LIVECD}/isolinux/gentoo.igz | cpio -idv
    
  9. "${PATH_TEMP}/gentoo.init.dir/mnt/cdrom"µð·ºÅ丮¸¦ ¸¸µé°í ±× ¹Ø¿¡ "image.squashfs"ÆÄÀÏÀ» º¹»çÇÕ´Ï´Ù.
    mkdir -p ${PATH_TEMP}/gentoo.init.dir/mnt/cdrom
    cp ${PATH_LIVECD}/isolinux/image.squashfs ${PATH_TEMP}/gentoo.init.dir/mnt/cdrom
    
  10. "${PATH_TEMP}/gentoo.init.dir/init" ÆÄÀÏÀ» "${PATH_TEMP}/gentoo.init.dir/init.org"·Î ¹é¾÷ÇÕ´Ï´Ù.
    cp ${PATH_TEMP}/gentoo.init.dir/init ${PATH_TEMP}/gentoo.init.dir/init.org
    
  11. "${PATH_TEMP}/gentoo.init.dir/init" ÆÄÀÏ¿¡¼­ ´ÙÀ½ºÎºÐÀ» ã¾Æ¼­ ¼öÁ¤ÇÕ´Ï´Ù.
    -- if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ]
    ++ if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ] && [ "${REAL_ROOT}" != "/" ]
    
    -- elif [ -b "${REAL_ROOT}" ] || [ "${REAL_ROOT}" = "/dev/nfs" ]
    ++ elif [ -b "${REAL_ROOT}" ] || [ "${REAL_ROOT}" = "/dev/nfs" ] || [ "${REAL_ROOT}" = "/" ]
    
    -- cache_cd_contents
    
    -- mount -t squashfs -o loop,ro ${NEW_ROOT}/mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd
    ++ mount -t squashfs -o loop,ro /mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd
    
  12. "${PATH_TEMP}/gentoo.init.dir"À» ´Ù½Ã ¾ÐÃàÇÏ°í "${PATH_TFTPROOT}/netboot/gentoo"·Î º¹»çÇÕ´Ï´Ù.
    cd ${PATH_TEMP}/gentoo.init.dir
    find . -print | cpio -o -H newc |gzip -9 -c - > ${PATH_TFTPROOT}/netboot/gentoo/initrd.gz
    
  13. "${TFTPROOT}/netboot/pxelinux.cfg/default"À¸·Î ´ÙÀ½ÀÇ ³»¿ëÀ» ÆíÁýÇÏ¿© ¸¸µì´Ï´Ù.
    default gentoo_x86
    prompt 1
    timeout 600
    
    label gentoo_x86
      kernel gentoo/gentoo
      append initrd=gentoo/initrd.gz ip=dhcp root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/ vga=normal dokeymap
    label local
      LOCALBOOT 0
    

ID
Password
Join
Put not your trust in money, but put your money in trust.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2012-01-26 11:16:46
Processing time 0.0045 sec