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