wheezyをPXEboot+NFSroot
cf. http://blog.asial.co.jp/329
cf. http://rkd.zgib.net/wiki/DebianNotes/Netboot
NFSROOTを有効にしたカーネルをビルド
configを変えてmake-kpkgする。
基本的にはNFS bootを有効にして、NICのドライバをYに:
diff:
3c3 < # Linux/x86 3.2.9 Kernel Configuration --- > # Linux/x86_64 3.2.9-nfsroot Kernel Configuration 638c638,641 < # CONFIG_IP_PNP is not set --- > CONFIG_IP_PNP=y > CONFIG_IP_PNP_DHCP=y > CONFIG_IP_PNP_BOOTP=y > CONFIG_IP_PNP_RARP=y 1903c1906 < CONFIG_MII=m --- > CONFIG_MII=y 2036,2039c2039,2041 < CONFIG_E1000=m < CONFIG_E1000E=m < CONFIG_IGB=m < CONFIG_IGB_DCA=y --- > CONFIG_E1000=y > CONFIG_E1000E=y > CONFIG_IGB=y 2094,2095c2096,2097 < CONFIG_8139CP=m < CONFIG_8139TOO=m --- > CONFIG_8139CP=y > CONFIG_8139TOO=y 2100c2102 < CONFIG_R8169=m --- > CONFIG_R8169=y 2429c2431 < CONFIG_VMXNET3=m --- > CONFIG_VMXNET3=y 5138c5140 < CONFIG_NFS_FS=m --- > CONFIG_NFS_FS=y 5143c5145 < CONFIG_PNFS_FILE_LAYOUT=m --- > CONFIG_PNFS_FILE_LAYOUT=y 5146c5148 < CONFIG_NFS_FSCACHE=y --- > CONFIG_ROOT_NFS=y 5155c5157 < CONFIG_LOCKD=m --- > CONFIG_LOCKD=y 5157c5159 < CONFIG_NFS_ACL_SUPPORT=m --- > CONFIG_NFS_ACL_SUPPORT=y 5159,5160c5161,5162 < CONFIG_SUNRPC=m < CONFIG_SUNRPC_GSS=m --- > CONFIG_SUNRPC=y > CONFIG_SUNRPC_GSS=y
debootstrap + chrootで初期設定
sudo debootstrap --arch amd64 wheezy . http://ftp.jp.debian.org/debian sudo mount -t proc none /mnt/data/nfsroot/proc sudo chroot /mnt/data/nfsroot chroot> dpkg -i *.deb # さっきのカーネルdeb chroot> passwd chroot> rm /etc/hostname chroot> apt-get install initramfs-tools nfs-common chroot> vi /etc/initramfs-tools/initramfs.conf MODULES=netboot BOOT=nfs chroot> update-initramfs -k 3.2.9-nfsroot -c # -c: create new
うーん。apt-get install nfs-commonでchrootの中にstatdが走りだそうとするのがこわいな。
syslinuxいれる
chroot> sudo apt-get install syslinux chroot> cp /usr/lib/syslinux/pxelinux.0 /boot chroot> mkdir /boot/pxelinux.cfg chroot> vim /boot/pxelinux.cfg/default DEFAULT debian-wheezy LABEL debian-wheezy KERNEL vmlinuz-3.2.9-nfsroot APPEND root=/dev/nfs nfsroot=172.22.1.200:/nfsroot initrd=initrd.img-3.2.9-nfsroot ip=dhcp clocksource=hpet IPAPPEND 0
172.22.1.200はnfsサーバのアドレス
tftp設定
apt-get install tftpd-hpa vim /etc/defaults/tftpd-hpa # rootを/mnt/data/nfsroot/bootに