1# $MirOS: src/distrib/common/Makefile.Grml,v 1.5 2013/03/29 16:49:52 tg Exp $ 2 3CBIN?= instbin 4IMAGESIZE= 8192 5IMAGETYPE= ipldisc 6 7KERNEL_BUILD= no 8# (17,0) = rd0a 9RAMDISK_PREP= print 'rootdev 17 0\nquit' | config -ef $@~ 10 11FLOPPY= no 12.if exists(${REALOBJDIR}/../../../sys/arch/i386/stand/liveboot/.) 13BOOT= ldbsd.iso 14DO_LIVEBOOT= #defined 15.endif 16CDROM= bsd4grml.iso 17CDROM_OPTS+= bootimage=i386\;eltorito.loo 18CDROM_OPTS+= no-emul-boot 19 20CLEANFILES+= ldbsd.* LICENCE.TXT gpl_srcs.tgz 21 22all: templates/bsd4grml.stamp 23 24bsd: ${BSDOBJDIR}/distrib/generic/bsd 25 cp -f $> $@ 26 27LISTADDS= boot bridge cd9660 dhclient disktools ext2fs i386 isdn msdos \ 28 nettools nfs nfsd pager-less ppp-user pppoe-kernel \ 29 pppoe-user 30MACHCONF:= i386-big 31LISTADDS+= Grml 32LGRUBCFG= grml 33 34${CBIN}.conf: gnustuff 35 36gnustuff: .PHONY 37 for dir in ${.CURDIR}/tinyirc ${TOPDIR}/../contrib/gnu/e3; do \ 38 (cd $$dir && ${MAKE} obj && ${MAKE} depend && ${MAKE}); \ 39 done 40 cd ${TOPDIR}/../share/doc/legal && ${MAKE} grml 41 cp ${REALOBJDIR}/../../../share/doc/legal/grml LICENCE.TXT 42 rm -rf gplsrcs 43 mkdir -p gplsrcs/{e3,tinyirc} 44 cp ${TOPDIR}/../contrib/gnu/e3/{Makefile,README,e3.*} gplsrcs/e3/ 45 cp ${TOPDIR}/../contrib/code/Snippets/tinyirc.c gplsrcs/tinyirc/ 46 (cd gplsrcs && find * -type f | sort | cpio -oC512 -Hustar -Mdist | \ 47 gzip -n9) >gpl_srcs.tgz 48 49cleannobsd: clean_grmldirs 50 51clean_grmldirs: 52 -rm -rf gplsrcs templates 53 54cdrom-prepare: ldbsd.stamp 55 56ldbsd.stamp: 57.ifdef DO_LIVEBOOT 58 cd ${.CURDIR}/../../../sys/arch/i386/stand/liveboot; \ 59 ${MAKE} BSD4GRML=iso cleandir && \ 60 ${MAKE} BSD4GRML=iso depend && \ 61 exec ${MAKE} BSD4GRML=iso NOMAN=Yes 62 cp ${REALOBJDIR}/../../../sys/arch/i386/stand/liveboot/boot ldbsd.iso 63 cd ${.CURDIR}/../../../sys/arch/i386/stand/liveboot; \ 64 ${MAKE} BSD4GRML=Yes cleandir && \ 65 ${MAKE} BSD4GRML=Yes depend && \ 66 exec ${MAKE} BSD4GRML=Yes 67 cp ${REALOBJDIR}/../../../sys/arch/i386/stand/liveboot/boot ldbsd.com 68 cp ${REALOBJDIR}/../../../sys/arch/i386/stand/liveboot/ldbsd.txt . 69 @:>$@ 70.else 71 @echo 'need [[ -d ${REALOBJDIR}/../../../sys/arch/i386/stand/liveboot/. ]]' 72 @exit 1 73.endif 74 75templates/bsd4grml.stamp: ${CDROM} 76 77cdrom-mdcopy: 78 dd if=/dev/arandom bs=2048 count=1 of=eltorito.loo 79 -rm -rf templates 80 mkdir -p templates/boot/{addons/bsd4grml,grub} 81 mv ${WRKDIR}/boot/grub/loopback.cfg templates/boot/grub/ 82 mv ${WRKDIR}/boot/grub/loopback.* templates/boot/addons/bsd4grml/ 83 mv ${WRKDIR}/v${OSrev}/${MACHINE}/bsd.rd templates/boot/addons/bsd4grml/ 84 cd ${WRKDIR} && rm -rf * 85 cp ${.CURDIR}/boot.* LICENCE.TXT gpl_srcs.tgz ldbsd.{com,iso,txt} \ 86 templates/boot/addons/bsd4grml/ 87 chmod 0644 templates/boot/addons/bsd4grml/* templates/boot/grub/* 88 cd templates && pax -rw -l -pe boot ${WRKDIR}/ 89 rm -f templates/boot/addons/bsd4grml/ldbsd.iso 90 ln ${WRKDIR}/boot/addons/bsd4grml/ldbsd.iso ${WRKDIR}/b_${MACHINE}.ldr 91 @:>templates/bsd4grml.stamp 92 93cdrom-mdboot: 94 getextent_cd9660 -f ${CDROM} b_${MACHINE}.ldr | \ 95 ${MKSH} ${BOOTSH} \ 96 -g $$((#$$(stat -f %z ${CDROM}) / (512 * 32 * 16))):16:32 \ 97 -A -M 4:0x96 -S 2 | \ 98 dd of=${CDROM} conv=notrunc 2>/dev/null 99 getextent_cd9660 -f ${CDROM} b_${MACHINE}.ldr | \ 100 ${MKSH} ${BOOTSH} -B 11 | \ 101 dd of=${CDROM} conv=notrunc bs=2048 seek=$$(getextent_cd9660 \ 102 -f ${CDROM} -b '$$BootImage$$') 2>/dev/null 103