# $Id$ ARCH := amd64 VERSION := 9.3 INDEX := http://cdn.netbsd.org/pub/NetBSD/ OBJCOPY := objcopy ELFTYPE := elf64-little CPUTYPE := x86-64 SUFFIX := tar.xz BITS := 64 ifeq ($(ARCH),i386) ELFTYPE := elf32-little CPUTYPE := i386 SUFFIX := tgz BITS := 32 endif .PHONY: all clean makefs root all: install.iso root: ifneq ($(shell id -u),0) @echo Needs root @exit 1 endif clean: rm -f miniroot.kmod rm -f install.fs rm -f install.kmod rm -f netbsd rm -f install.iso rm -rf u rm -rf iso makefs: root ./makefs.sh VERSION=$(VERSION) SUFFIX=$(SUFFIX) ARCH=$(ARCH) ./makefs.sh netbsd: ftp -o $@.gz $(INDEX)/NetBSD-$(VERSION)/$(ARCH)/binary/kernel/netbsd-GENERIC.gz gzip -d $@.gz efi.img: root mkdir -p efifs dd if=/dev/zero of=efi.img bs=1m count=8 vnconfig vnd0 efi.img newfs_msdos -F 16 /dev/rvnd0d vnconfig -u vnd0 vnconfig vnd0 efi.img mount -t msdos /dev/vnd0d efifs mkdir -p efifs/efi/boot cp /usr/mdec/bootia32.efi efifs/efi/boot/ cp /usr/mdec/bootx64.efi efifs/efi/boot/ umount efifs vnconfig -u vnd0 rm -rf efifs u/setup: src/setup.c mkdir -p u gcc -m$(BITS) -DSUFFIX=\"$(SUFFIX)\" -o $@ $< -lcurses u/%: src/%.c mkdir -p u gcc -g -m$(BITS) -o $@ $< sets/%.$(SUFFIX): mkdir -p sets ftp -o $@ $(INDEX)/NetBSD-$(VERSION)/$(ARCH)/binary/$@ install.iso: root makefs netbsd efi.img u/list-if u/setup sets/base.$(SUFFIX) sets/comp.$(SUFFIX) sets/etc.$(SUFFIX) sets/man.$(SUFFIX) sets/misc.$(SUFFIX) sets/modules.$(SUFFIX) sets/text.$(SUFFIX) sets/xbase.$(SUFFIX) sets/xcomp.$(SUFFIX) sets/xetc.$(SUFFIX) sets/xfont.$(SUFFIX) sets/xserver.$(SUFFIX) cp /usr/mdec/bootxx_cd9660 iso/cdboot cp /usr/mdec/boot iso/ cp netbsd iso/ cp efi.img iso/ cp u/* iso/usr/bin/ mkdir -p iso/sets cp sets/* iso/sets/ mkdir -p iso/dist cp dist/rc2 iso/dist/rc cp dist/rc.conf iso/dist/rc.conf cp dist/motd iso/dist/motd cp dist/motd2 iso/dist/motd2 cp dist/ttys2 iso/dist/ttys cp dist/os-release iso/dist/os-release mkdir -p iso/targetroot cd iso && /usr/pkg/bin/mkisofs -o ../$@ -b cdboot -no-emul-boot -eltorito-alt-boot -b efi.img -no-emul-boot -l -J -R -allow-leading-dots .