1# $NetBSD: nintendo.conf,v 1.2 2026/01/10 22:46:49 jmcneill Exp $
2# Nintendo PowerPC customization script used by mkimage
3#
4board=nintendo
5resize=true
6swap=true
7swap_size_MB=128
8swap_file=/swap
9fsize=4096
10bsize=4096
11ffsversion=2
12
13. ${DIR}/conf/evbppc.conf
14
15make_label() {
16	make_label_evbppc
17}
18
19make_fstab() {
20	make_fstab_evbppc
21
22	cat >> ${mnt}/etc/fstab << EOF
23${swap_file} none swap sw,priority=1 0 0
24EOF
25}
26
27customize() {
28	customize_evbppc
29	cat >> "${mnt}/etc/rc.conf" << EOF
30mdnsd=YES
31devpubd=YES
32wscons=YES
33bluetooth=YES
34makemandb=NO
35EOF
36}
37
38populate_wii() {
39	echo "${bar} looking for kernel in ${kernel} ${bar}"
40	k="${kernel}/netbsd-NINTENDO.gz"
41
42	# install files to /boot partition
43	tgt="apps/netbsd/boot.elf"
44	echo "${bar} installing ${k} to /boot/${tgt} ${bar}"
45	mkdir -p "${mnt}/boot/apps/netbsd"
46	case "${k}" in
47	*.gz)
48		${GZIP_CMD} -dc "${k}" > "${mnt}/boot/${tgt}"
49		;;
50	*)
51		cp "${k}" "${mnt}/boot/${tgt}"
52		;;
53	esac
54
55	# Metadata for HBC
56	cp ${DIR}/files/evbppc_wii_meta.xml ${mnt}/boot/apps/netbsd/meta.xml
57	cp ${DIR}/files/evbppc_wii_icon.png ${mnt}/boot/apps/netbsd/icon.png
58
59	# MINI bootloader
60	mkdir -p "${mnt}/boot/bootmii"
61	cp "${release}/usr/mdec/ppcboot.elf" "${mnt}/boot/bootmii/ppcboot.elf"
62}
63
64populate_wiiu() {
65	echo "${bar} looking for kernel in ${kernel} ${bar}"
66	k="${kernel}/netbsd-NINTENDO.MP.gz"
67
68	# install files to /boot partition
69	tgt="netbsd"
70	echo "${bar} installing ${k} to /boot/${tgt} ${bar}"
71	mkdir -p "${mnt}/boot"
72	case "${k}" in
73	*.gz)
74		${GZIP_CMD} -dc "${k}" > "${mnt}/boot/${tgt}"
75		;;
76	*)
77		cp "${k}" "${mnt}/boot/${tgt}"
78		;;
79	esac
80
81	# Linux-loader config
82	mkdir -p "${mnt}/boot/linux"
83	cat >> "${mnt}/boot/linux/boot.cfg" << EOF
84[loader]
85default=netbsd
86
87[profile:netbsd]
88name=NetBSD
89kernel=sdmc:/netbsd
90cmdline=root=ld0a
91EOF
92}
93
94populate() {
95	populate_wii
96	populate_wiiu
97
98	# Add swap space
99	rm -f ${mnt}${swap_file}
100	dd if=/dev/zero of=${mnt}${swap_file} bs=1 count=1 \
101	    seek=$((${swap_size_MB} * 1024 * 1024 - 1))
102	echo ".${swap_file} type=file uname=root gname=wheel mode=0600" \
103            >> "$tmp/selected_sets"
104}
105