1# $NetBSD: Makefile,v 1.31 2001/11/08 16:52:20 tron Exp $ 2# 3# boot.fs is the image for disk 1 of the two-set floppy based installation 4# method. 5# 6# It is constructed by injecting the microroot filesystem `ramdisk.fs' 7# into the md based kernel built from the INSTALL kernel configuration file. 8# 9 10TOP= ${.CURDIR}/.. 11MINIROOT= ${.CURDIR}/../../miniroot 12 13.include "${TOP}/Makefile.inc" 14 15.include <bsd.own.mk> # So we use /etc/mk.conf. 16.include <bsd.kernobj.mk> 17 18KERN?= ${KERNOBJDIR}/INSTALL/netbsd 19 20MOUNT_POINT?= /mnt 21VND?= vnd0 22VND_DEV= /dev/${VND}a 23VND_RDEV= /dev/r${VND}a 24VND_CDEV= /dev/${VND}c 25VND_CRDEV= /dev/r${VND}c 26FD?= fd0 27FD_RDEV= /dev/r${FD}a 28IMAGE?= boot.fs 29MDEC= ${DESTDIR}/usr/mdec 30MDSETIMAGE?= mdsetimage 31OBJCOPY?= objcopy 32 33LISTS= ${.CURDIR}/list 34RAMDISK!= cd ${TOP}/ramdisk/; \ 35 printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}/ramdisk.fs\n" |\ 36 ${MAKE} -s -f- 37 38# Some reasonable values for the -i parameter to newfs are: 39# 40# 6144 1147k, 189 inodes free 41# 16384 1159k, 93 inodes free 42# 204800 1167k, 29 inodes free 43INO_BYTES= 204800 44 45BLOCKSIZE=512 46FSSIZE!= expr ${BLOCKSIZE} \* 18 \* 2 \* 80 47 48GEOM=${BLOCKSIZE}/18/2/80 49 50CLEANFILES+= netbsd.ram netbsd.ram.aout netbsd.tmp 51 52.MAIN: all 53 54all: netbsd.ram netbsd.ram.aout 55 dd if=/dev/zero of=${IMAGE} bs=${FSSIZE} count=1 56 vnconfig -v -c ${VND} ${IMAGE} ${GEOM} 57 newfs -B be -m 0 -o space -i ${INO_BYTES} -c 80 ${VND_RDEV} 58 mount ${VND_DEV} ${MOUNT_POINT} 59 gzip -9 < netbsd.ram > ${MOUNT_POINT}/netbsd 60 @echo "" 61 @df -i ${MOUNT_POINT} 62 @echo "" 63 @echo "installing new bootblocks" 64 -rm -f ${MOUNT_POINT}/boot 65 ${MDEC}/binstall -m ${MDEC} -f ${IMAGE} -v ffs ${MOUNT_POINT} 66 umount ${MOUNT_POINT} 67 vnconfig -u ${VND} 68 69unconfig: 70 -umount -f ${MOUNT_POINT} 71 -vnconfig -u ${VND} 72 73netbsd.ram: ${KERN} ${RAMDISK} 74 cp ${KERN} netbsd.tmp 75 ${MDSETIMAGE} -v netbsd.tmp ${RAMDISK} 76 strip netbsd.tmp 77 mv netbsd.tmp ${.TARGET} 78 79 80# conjure up a magic header that is accepted by all Sun PROMS; 81# see sys/arch/sparc/stand/installboot/installboot.c for details. 82SUN_MAGIC_HEADER='\01\03\01\07\060\200\0\07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' 83 84netbsd.ram.aout: netbsd.ram 85 ${OBJCOPY} -O binary ${.ALLSRC} netbsd.ram.raw 86 (printf ${SUN_MAGIC_HEADER}; cat netbsd.ram.raw) > ${.TARGET} 87 rm -f netbsd.ram.raw 88 89clean cleandir distclean: 90 /bin/rm -f *.core ${IMAGE} ${CLEANFILES} 91 92depend install: 93 94real-floppy: 95 dd if=${IMAGE} of=${FD_RDEV} bs=32k 96 97.ifndef RELEASEDIR 98release: 99 @echo setenv RELEASEDIR first 100 @false 101.else 102release: $(IMAGE) 103 gzip -c -9 < $(.OBJDIR)/boot.fs \ 104 > $(RELEASEDIR)/installation/bootfs/boot.fs.gz 105 gzip -c -9 < $(.OBJDIR)/netbsd.ram.aout \ 106 > $(RELEASEDIR)/installation/bootfs/netbsd.ram.aout.gz 107.endif # RELEASEDIR check 108 109.include <bsd.obj.mk> 110.include <bsd.subdir.mk> 111