1 # $NetBSD: Makefile,v 1.14 2000/11/01 07:58:00 garbled Exp $ 2 3 BINDIR= /installation/netboot 4 5 TOP?= ${.CURDIR}/.. 6 ARCHDIR?= ${.CURDIR}/../miniroot 7 8 .include "${TOP}/Makefile.inc" 9 IMAGE= ramdisk.fs 10 DISKIMAGE= diskimage.tgz 11 12 CBIN= ramdiskbin 13 CSIZE= 6144 # 512 byte blocks, update disktab.ramdisk if changed 14 DISKTAB= ${.CURDIR}/disktab.ramdisk 15 DISKTYPE= install-ramdisk 16 MOUNT_POINT?= /mnt 17 18 VND?= vnd0 19 VND_DEV= /dev/${VND}c 20 VND_RDEV= /dev/r${VND}c 21 22 CLEANFILES= ${IMAGE} ${DISKIMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache 23 24 LISTS= ${.CURDIR}/list 25 CRUNCHCONF= ${.CURDIR}/${CBIN}.conf 26 MTREE= ${.CURDIR}/mtree.conf 27 28 CRUNCHGEN?= crunchgen 29 30 all: ${IMAGE} 31 32 ${IMAGE}: ${CBIN} 33 dd if=/dev/zero of=${IMAGE} count=${CSIZE} 34 vnconfig -v -c ${VND} ${IMAGE} 35 disklabel -rw -f ${DISKTAB} ${VND} ${DISKTYPE} 36 newfs -B le -m 0 -o space -i 5120 ${VND_RDEV} 37 mount ${VND_DEV} ${MOUNT_POINT} 38 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 39 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 40 KERNOBJDIR=${KERNOBJDIR} \ 41 TARGDIR=${MOUNT_POINT} sh ${TOP}/src/runlist.sh ${LISTS} 42 @echo "" 43 @df -i ${MOUNT_POINT} 44 @echo "" 45 @echo Building diskimage tar file... 46 tar cf - -C ${MOUNT_POINT} . | gzip -9 > ${DISKIMAGE} 47 @echo "" 48 umount ${MOUNT_POINT} 49 vnconfig -u ${VND} 50 51 unconfig: 52 -umount -f ${MOUNT_POINT} 53 -vnconfig -u ${VND} 54 -/bin/rm -f ${IMAGE} 55 56 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 57 ${CRUNCHGEN} -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 58 59 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 60 ${MAKE} -f ${CBIN}.mk all 61 62 echoimage: 63 @echo ${.OBJDIR}/${IMAGE} 64 65 realinstall: 66 ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \ 67 -m ${NONBINMODE} ${DISKIMAGE} ${RELEASEDIR}${BINDIR} 68 69 clean cleandir distclean: 70 /bin/rm -f *.core ${CLEANFILES} *.o *.cro *.c 71 72 # XXX! 73 depend: 74 75 .include <bsd.own.mk> 76 .include <bsd.obj.mk> 77 .include "../Makefile.inc" 78