# Makefile for building a NetBSD diskless boot image IDENT = DISKLESS KBUILD = $(IDENT) KERNEL = $(KBUILD)/netbsd RAMDISKSIZE = 32768 default: netbsd.kernel # Build the kernel (if necessary) $(KERNEL): kernel.config config -b $(KBUILD) -s /usr/src/sys kernel.config cd $(KBUILD) ; make depend ; make # Build the RAM disk image memdisk: dd if=/dev/zero of=memdisk bs=512 count=$(RAMDISKSIZE) sudo vnconfig -c vnd0 memdisk sudo disklabel -R -r vnd0 disklabel.proto sudo newfs vnd0a mkdir -p memdisk.d sudo mount /dev/vnd0a `pwd`/memdisk.d sudo ./populate.sh SRC=`pwd` DST=memdisk.d df -h `pwd`/memdisk.d sudo umount `pwd`/memdisk.d sudo vnconfig -u vnd0 # Merge the RAM disk image into the kernel to make a boot image. netbsd.kernel: $(KERNEL) memdisk cp $(KERNEL) netbsd mdsetimage -v netbsd memdisk gzip netbsd mv netbsd.gz netbsd.kernel # Install to /tftpboot install: netbsd.kernel scp netbsd.kernel $(TFTPSERVER)/tftpboot scp /usr/mdec/pxeboot_ia32.bin $(TFTPSERVER)/tftpboot/netbsd.pxeboot # Clean out working files clean: -sudo umount `pwd`/memdisk.d -sudo vnconfig -u vnd0 -rm memdisk -rm -rf memdisk.d -rm netbsd -rm netbsd.kernel reallyclean: clean -rm -rf $(KBUILD) distclean: reallyclean