1# $NetBSD: Makefile.cdrom,v 1.29 2024/05/14 14:58:41 christos Exp $
2
3.include <bsd.own.mk>
4.include <bsd.endian.mk>
5
6SYSINSTDIR!= cd ${.CURDIR}/../../../../usr.sbin/sysinst/arch/${MACHINE} && ${PRINTOBJDIR}
7
8EFIBOOTIMG=	efiboot.img
9CLEANFILES+=	${EFIBOOTIMG}
10.if ${MKREPRO_TIMESTAMP:Uno} != "no"
11MAKEFS_TIMESTAMP=-T "${MKREPRO_TIMESTAMP}"
12.endif
13
14# Need multidot for the boot loader to read kernel modules as it doesn't
15# understand rockridge.
16CDMAKEFSOPTIONS= bootimage=i386;bootxx.${MACHINE},no-emul-boot,allow-multidot,bootimage=i386;${EFIBOOTIMG},platformid=efi,no-emul-boot
17CDINSTKERNEL=	../../instkernel
18CDKERNELS=	netbsd-GENERIC.gz       netbsd
19CDRELEASE_NOISOS=	true
20CD_SETS+=	base etc gpufw
21.if ${MKKMOD} != "no"
22CD_SETS+=	modules
23.endif
24
25SPEC_EXTRA:=${.PARSEDIR}/spec.in
26
27${EFIBOOTIMG}: ${DESTDIR}/usr/mdec/bootx64.efi ${DESTDIR}/usr/mdec/bootia32.efi
28	${RM} -f ${EFIBOOTIMG}
29	${RM} -rf efiboot/EFI/boot
30	${MKDIR} ${MKDIRPERM} efiboot/EFI/boot
31	${INSTALL} ${COPY} -m 0444 ${.ALLSRC} efiboot/EFI/boot/
32.if defined(CDBOOTOPTIONS)
33	${CHMOD} +w efiboot/EFI/boot/bootx64.efi efiboot/EFI/boot/bootia32.efi
34	${TOOL_INSTALLBOOT} -m${MACHINE} -e ${CDBOOTOPTIONS} efiboot/EFI/boot/bootx64.efi
35	${TOOL_INSTALLBOOT} -m${MACHINE} -e ${CDBOOTOPTIONS} efiboot/EFI/boot/bootia32.efi
36	${CHMOD} -w efiboot/EFI/boot/bootx64.efi efiboot/EFI/boot/bootia32.efi
37.endif
38	${TOOL_MAKEFS} -M 1m -m 1m -B ${TARGET_ENDIANNESS} ${MAKEFS_TIMESTAMP} \
39		-t msdos -o F=12,c=1 ${EFIBOOTIMG} efiboot
40
41image_md_pre: ${EFIBOOTIMG}
42	${RM} -f cdrom/etc/gettytab cdrom/etc/ttys cdrom/etc/rc
43	${HOST_LN} -fs /tmp/gettytab cdrom/etc/gettytab
44	${INSTALL} ${COPY} ${.CURDIR}/../etc.ttys cdrom/etc/ttys
45	${INSTALL} ${COPY} ${.CURDIR}/../etc.rc cdrom/etc/rc
46	${INSTALL} ${COPY} -m 0555 ${.CURDIR}/../install.sh cdrom/install.sh
47	${MKDIR} ${MKDIRPERM} cdrom/mnt2 cdrom/targetroot
48	${INSTALL} ${COPY} ${SYSINSTDIR}/sysinstmsgs.?? cdrom/usr/share/sysinst/catalog/
49	${MKDIR} ${MKDIRPERM} cdrom/var
50