Home | History | Annotate | Line # | Download | only in conf
rpi_inst.conf revision 1.11.4.1
      1 # $NetBSD: rpi_inst.conf,v 1.11.4.1 2020/04/08 14:03:55 martin 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 dtbs="$(${MAKE} -C ${kerneldir} -v DTB)"
     37 
     38 populate() {
     39 	cat > ${mnt}/boot/cmdline.txt << EOF
     40 root=ld0a console=fb
     41 #fb=1280x1024		# to select a mode, otherwise try EDID 
     42 #fb=disable		# to disable fb completely
     43 EOF
     44 
     45 	cat > ${mnt}/boot/config.txt << EOF
     46 #
     47 upstream_kernel=1
     48 # UART settings, see https://www.raspberrypi.org/documentation/configuration/uart.md
     49 enable_uart=1            
     50 force_turbo=0
     51 EOF
     52 
     53 	if [ ! -f ${kernel} ]; then
     54 		echo ${PROG}: Missing ${kernel} 1>&2
     55 		exit 1
     56 	fi
     57 
     58 	echo "${bar} installing kernel ${bar}"
     59 	case ${kernel} in
     60 	*.gz)
     61 		echo " ${kernel} uncompressed to kernel.img"
     62 		${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img
     63 		;;
     64 	*)
     65 		echo " ${kernel} copied"
     66 		cp ${kernel} ${mnt}/boot/kernel.img
     67 		;;
     68 	esac || fail "copy of ${kernel} to  ${mnt}/boot/kernel.img failed"
     69 
     70 	echo "${bar} installing firmware files ${bar}"
     71 	(cd ${mnt}/boot &&
     72 		for f in ${firmwarefiles}; do
     73 			echo " $f"
     74 			cp ${firmwaredir}/${f} . || exit 1
     75 		done
     76 		for f in ${dtbs}; do
     77 			echo " $f"
     78 			cp ${kerneldir}/${f} . || exit 1
     79 		done
     80 	) || fail "Copy of firmware to ${mnt}/boot failed"
     81 
     82 }
     83