export PATH_LIVECD="/mnt/cdrom" export PATH_TEMP="/tftpboot/tmp" export PATH_TFTPROOT="/tftpboot"
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
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; # } # } }
emerge net-ftp/tftp-hpa
emerge sys-boot/syslinux cp /usr/share/syslinux/pxelinux.0 ${PATH_TFTPROOT}/netboot cp /usr/share/syslinux/memdisk ${PATH_TFTPROOT}/netboot
mount -o loop install-XX-minimal-XXXXXXXX.iso ${PATH_LIVECD}
cp ${PATH_LIVECD}/isolinux/gentoo ${PATH_TFTPROOT}/netboot/gentoo
cd ${PATH_TEMP}/gentoo.init.dir gunzip -c ${PATH_LIVECD}/isolinux/gentoo.igz | cpio -idv
mkdir -p ${PATH_TEMP}/gentoo.init.dir/mnt/cdrom cp ${PATH_LIVECD}/isolinux/image.squashfs ${PATH_TEMP}/gentoo.init.dir/mnt/cdrom
cp ${PATH_TEMP}/gentoo.init.dir/init ${PATH_TEMP}/gentoo.init.dir/init.org
-- 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
cd ${PATH_TEMP}/gentoo.init.dir find . -print | cpio -o -H newc |gzip -9 -c - > ${PATH_TFTPROOT}/netboot/gentoo/initrd.gz
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