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