1 1.19 yamt # $NetBSD: rpi_inst.conf,v 1.19 2022/11/19 09:19:27 yamt Exp $ 2 1.1 garbled # Raspberry Pi customization script used by mkimage 3 1.1 garbled # 4 1.1 garbled 5 1.1 garbled board=rpi_inst 6 1.11 skrll kerneldir=${KERNOBJDIR}/RPI_INSTALL 7 1.11 skrll kernel=$kerneldir/netbsd-RPI_INSTALL.img 8 1.1 garbled 9 1.5 ozaki . ${DIR}/conf/evbarm.conf 10 1.5 ozaki 11 1.1 garbled image=$HOME/${board}.img 12 1.1 garbled 13 1.1 garbled swap=8 14 1.1 garbled extra=8 # spare space 15 1.1 garbled init=8 16 1.17 rin boot=$(( 192 - ${init} )) 17 1.1 garbled 18 1.1 garbled size=$(( 10485760 + ${swap} * 1024 * 512 + ${boot} * 1024 * 512 + ${init} * 1024 * 512 )) 19 1.15 skrll msdosid=14 20 1.1 garbled 21 1.8 hubertf make_label() { 22 1.14 skrll make_label_evbarm 23 1.1 garbled } 24 1.1 garbled 25 1.8 hubertf customize() { 26 1.1 garbled echo "${bar} creating directories ${bar}" 27 1.18 jmcneill mkdir ${mnt}/proc 28 1.1 garbled } 29 1.1 garbled 30 1.1 garbled make_fstab() { 31 1.8 hubertf : 32 1.1 garbled } 33 1.1 garbled 34 1.8 hubertf firmwaredir=$src/external/broadcom/rpi-firmware/dist 35 1.8 hubertf firmwarefiles="LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf" 36 1.1 garbled 37 1.1 garbled populate() { 38 1.1 garbled cat > ${mnt}/boot/cmdline.txt << EOF 39 1.1 garbled root=ld0a console=fb 40 1.1 garbled #fb=1280x1024 # to select a mode, otherwise try EDID 41 1.1 garbled #fb=disable # to disable fb completely 42 1.1 garbled EOF 43 1.9 jmcneill 44 1.9 jmcneill cat > ${mnt}/boot/config.txt << EOF 45 1.13 skrll # 46 1.13 skrll upstream_kernel=1 47 1.16 jmcneill os_prefix=dtb/ 48 1.16 jmcneill cmdline=../cmdline.txt 49 1.16 jmcneill kernel=/kernel.img 50 1.19 yamt # UART settings, https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-uarts 51 1.9 jmcneill enable_uart=1 52 1.9 jmcneill force_turbo=0 53 1.9 jmcneill EOF 54 1.9 jmcneill 55 1.1 garbled if [ ! -f ${kernel} ]; then 56 1.1 garbled echo ${PROG}: Missing ${kernel} 1>&2 57 1.1 garbled exit 1 58 1.1 garbled fi 59 1.1 garbled 60 1.1 garbled echo "${bar} installing kernel ${bar}" 61 1.1 garbled case ${kernel} in 62 1.1 garbled *.gz) 63 1.12 skrll echo " ${kernel} uncompressed to kernel.img" 64 1.3 ast ${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img 65 1.1 garbled ;; 66 1.1 garbled *) 67 1.12 skrll echo " ${kernel} copied" 68 1.1 garbled cp ${kernel} ${mnt}/boot/kernel.img 69 1.1 garbled ;; 70 1.10 kre esac || fail "copy of ${kernel} to ${mnt}/boot/kernel.img failed" 71 1.1 garbled 72 1.1 garbled echo "${bar} installing firmware files ${bar}" 73 1.1 garbled (cd ${mnt}/boot && 74 1.1 garbled for f in ${firmwarefiles}; do 75 1.1 garbled echo " $f" 76 1.10 kre cp ${firmwaredir}/${f} . || exit 1 77 1.1 garbled done 78 1.10 kre ) || fail "Copy of firmware to ${mnt}/boot failed" 79 1.1 garbled 80 1.1 garbled } 81