# $NetBSD: arm64mbr.conf,v 1.2 2021/07/01 17:31:21 jmcneill Exp $ # ARM64 (MBR partitioning) customization script used by mkimage # board=arm64mbr hostname=arm64 console=fb resize=true . ${DIR}/conf/evbarm.conf kernel_GENERIC64="GENERIC64" make_label() { make_label_evbarm } make_fstab() { make_fstab_evbarm } customize() { customize_evbarm cat >> "${mnt}/etc/rc.conf" << EOF mdnsd=YES devpubd=YES wscons=\$(dev_exists wsdisplay0) EOF } populate_common() { # Rename kernel to netbsd.img mv "${mnt}/boot/netbsd-${kernel_GENERIC64}.img" "${mnt}/boot/netbsd.img" # Install EFI bootloader mkdir -p "${mnt}/boot/EFI/BOOT" cp "${release}/usr/mdec/bootaa64.efi" "${mnt}/boot/EFI/BOOT/bootaa64.efi" # Install kernel to root of the FFS partition ${GZIP_CMD} -dc ${kernel}/netbsd-${kernel_GENERIC64}.gz > "${mnt}/netbsd" echo "./netbsd type=file uname=root gname=wheel mode=0755" \ >> "$tmp/selected_sets" } populate_rpi() { firmwaredir="${src}/external/broadcom/rpi-firmware/dist" firmwarefiles="LICENCE.broadcom bootcode.bin fixup4cd.dat fixup4.dat fixup_cd.dat fixup.dat start4cd.elf start4.elf start_cd.elf start.elf" cat > "${mnt}/boot/cmdline.txt" << EOF root=ld0a console=${console} EOF cat > "${mnt}/boot/config.txt" << EOF # upstream_kernel=1 # arm_64bit=1 os_prefix=dtb/broadcom/ cmdline=../../cmdline.txt kernel=/netbsd.img kernel_address=0x200000 enable_uart=1 force_turbo=0 EOF echo "${bar} installing firmware files ${bar}" (cd "${mnt}/boot" && for f in ${firmwarefiles}; do echo " $f" cp "${firmwaredir}/${f}" . done ) } populate() { echo "${bar} looking for kernel in ${kernel} ${bar}" kernels="" k="$kernel_GENERIC64" # .img kernel f="${kernel}/netbsd-${k}.img.gz" test -f "${f}" && kernels="${kernels} ${f}" # install files to /boot partition for k in ${kernels}; do tgt="$(basename ${k} | sed 's/\.gz$//')" echo "${bar} installing ${k} to /boot/${tgt} ${bar}" case "${k}" in *.gz) ${GZIP_CMD} -dc "${k}" > "${mnt}/boot/${tgt}" ;; *) cp "${k}" "${mnt}/boot/${tgt}" ;; esac || fail "Copy of ${k} to ${mnt}/boot/${tgt} failed" done # Board specific configuration populate_rpi # common configuration populate_common }