Makefile.cdrom revision 1.32
1# $NetBSD: Makefile.cdrom,v 1.32 2025/11/06 18:15:12 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
18.if ${KERNEL_DIR:Uno} == "yes"
19CDKERNELS=	netbsd-GENERIC.gz		netbsd/kernel
20CDKERNELS+=	netbsd-GENERIC.symbols.gz       netbsd/kernel.gdb
21.else
22CDKERNELS=	netbsd-GENERIC.gz		netbsd
23.endif
24CDRELEASE_NOISOS=	true
25CD_SETS+=	base etc gpufw
26.if ${MKKMOD} != "no"
27CD_SETS+=	modules
28.endif
29
30.if ${KERNEL_DIR:Uno} == "yes"
31SPEC_EXTRA:=${.PARSEDIR}/spec-dir.in
32.else
33SPEC_EXTRA:=${.PARSEDIR}/spec.in
34.endif
35
36${EFIBOOTIMG}: ${DESTDIR}/usr/mdec/bootx64.efi ${DESTDIR}/usr/mdec/bootia32.efi
37	${RM} -f ${EFIBOOTIMG}
38	${RM} -rf efiboot/EFI/boot
39	${MKDIR} ${MKDIRPERM} efiboot/EFI/boot
40	${INSTALL} ${COPY} -m 0444 ${.ALLSRC} efiboot/EFI/boot/
41.if defined(CDBOOTOPTIONS)
42	${CHMOD} +w efiboot/EFI/boot/bootx64.efi efiboot/EFI/boot/bootia32.efi
43	${TOOL_INSTALLBOOT} -m${MACHINE} -e ${CDBOOTOPTIONS} efiboot/EFI/boot/bootx64.efi
44	${TOOL_INSTALLBOOT} -m${MACHINE} -e ${CDBOOTOPTIONS} efiboot/EFI/boot/bootia32.efi
45	${CHMOD} -w efiboot/EFI/boot/bootx64.efi efiboot/EFI/boot/bootia32.efi
46.endif
47	${TOOL_MAKEFS} -M 1m -m 1m -B ${TARGET_ENDIANNESS} ${MAKEFS_TIMESTAMP} \
48		-t msdos -o F=12,c=1 ${EFIBOOTIMG} efiboot
49
50image_md_pre: ${EFIBOOTIMG}
51	${RM} -f cdrom/etc/gettytab cdrom/etc/ttys cdrom/etc/rc
52	${HOST_LN} -fs /tmp/gettytab cdrom/etc/gettytab
53	${INSTALL} ${COPY} ${.CURDIR}/../etc.ttys cdrom/etc/ttys
54	${INSTALL} ${COPY} ${.CURDIR}/../etc.rc cdrom/etc/rc
55	${INSTALL} ${COPY} -m 0555 ${.CURDIR}/../install.sh cdrom/install.sh
56	${MKDIR} ${MKDIRPERM} cdrom/mnt2 cdrom/targetroot
57	${INSTALL} ${COPY} ${SYSINSTDIR}/sysinstmsgs.?? cdrom/usr/share/sysinst/catalog/
58	${MKDIR} ${MKDIRPERM} cdrom/var
59
60__cdromclean::
61	rm -fr efiboot
62