Wed Jan 1 14:16:51 2020 UTC ()
upstream_kernel=1 is required with new firmware/kernel.


(skrll)
diff -r1.12 -r1.13 src/distrib/utils/embedded/conf/rpi_inst.conf

cvs diff -r1.12 -r1.13 src/distrib/utils/embedded/conf/rpi_inst.conf (switch to unified diff)

--- src/distrib/utils/embedded/conf/rpi_inst.conf 2019/12/16 11:00:30 1.12
+++ src/distrib/utils/embedded/conf/rpi_inst.conf 2020/01/01 14:16:51 1.13
@@ -1,123 +1,125 @@ @@ -1,123 +1,125 @@
1# $NetBSD: rpi_inst.conf,v 1.12 2019/12/16 11:00:30 skrll Exp $ 1# $NetBSD: rpi_inst.conf,v 1.13 2020/01/01 14:16:51 skrll Exp $
2# Raspberry Pi customization script used by mkimage 2# Raspberry Pi customization script used by mkimage
3# 3#
4 4
5board=rpi_inst 5board=rpi_inst
6kerneldir=${KERNOBJDIR}/RPI_INSTALL 6kerneldir=${KERNOBJDIR}/RPI_INSTALL
7kernel=$kerneldir/netbsd-RPI_INSTALL.img 7kernel=$kerneldir/netbsd-RPI_INSTALL.img
8 8
9. ${DIR}/conf/evbarm.conf 9. ${DIR}/conf/evbarm.conf
10 10
11image=$HOME/${board}.img 11image=$HOME/${board}.img
12 12
13swap=8 13swap=8
14extra=8 # spare space 14extra=8 # spare space
15boot=112 15boot=112
16init=8 16init=8
17 17
18size=$(( 10485760 + ${swap} * 1024 * 512 + ${boot} * 1024 * 512 + ${init} * 1024 * 512 )) 18size=$(( 10485760 + ${swap} * 1024 * 512 + ${boot} * 1024 * 512 + ${init} * 1024 * 512 ))
19msdosid=12 19msdosid=12
20 20
21make_label() { 21make_label() {
22 # compute all sizes in terms of sectors 22 # compute all sizes in terms of sectors
23 local totalsize=$(( ${newsize} * 1024 * 2 / 512 )) 23 local totalsize=$(( ${newsize} * 1024 * 2 / 512 ))
24 24
25 local swapsize=$(( ${swap} * 1024 )) 25 local swapsize=$(( ${swap} * 1024 ))
26 local bootsize=$(( ${boot} * 1024 )) 26 local bootsize=$(( ${boot} * 1024 ))
27 27
28 local bootoffset=$(( ${init} * 1024 )) 28 local bootoffset=$(( ${init} * 1024 ))
29 local swapoffset=$(( ${bootoffset} + ${bootsize} )) 29 local swapoffset=$(( ${bootoffset} + ${bootsize} ))
30 30
31 local asize=$(( ${totalsize} - ${swapsize} - ${bootsize} - ${bootoffset} )) 31 local asize=$(( ${totalsize} - ${swapsize} - ${bootsize} - ${bootoffset} ))
32 local aoffset=$(( ${swapoffset} + ${swapsize} )) 32 local aoffset=$(( ${swapoffset} + ${swapsize} ))
33 33
34 local bps=512 34 local bps=512
35 local spt=32 35 local spt=32
36 local tpc=64 36 local tpc=64
37 local spc=2048 37 local spc=2048
38 local cylinders=$(( ${totalsize} / ${spc} )) 38 local cylinders=$(( ${totalsize} / ${spc} ))
39 39
40 cat << EOF 40 cat << EOF
41type: SCSI 41type: SCSI
42disk: STORAGE DEVICE 42disk: STORAGE DEVICE
43label: fictitious 43label: fictitious
44flags: removable 44flags: removable
45bytes/sector: ${bps} 45bytes/sector: ${bps}
46sectors/track: ${spt} 46sectors/track: ${spt}
47tracks/cylinder: ${tpc} 47tracks/cylinder: ${tpc}
48sectors/cylinder: ${spc} 48sectors/cylinder: ${spc}
49cylinders: ${cylinders} 49cylinders: ${cylinders}
50total sectors: ${totalsize} 50total sectors: ${totalsize}
51rpm: 3600 51rpm: 3600
52interleave: 1 52interleave: 1
53trackskew: 0 53trackskew: 0
54cylinderskew: 0 54cylinderskew: 0
55headswitch: 0 # microseconds 55headswitch: 0 # microseconds
56track-to-track seek: 0 # microseconds 56track-to-track seek: 0 # microseconds
57drivedata: 0  57drivedata: 0
58 58
598 partitions: 598 partitions:
60# size offset fstype [fsize bsize cpg/sgs] 60# size offset fstype [fsize bsize cpg/sgs]
61 a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 #  61 a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 #
62 b: ${swapsize} ${swapoffset} swap # 62 b: ${swapsize} ${swapoffset} swap #
63 d: ${totalsize} 0 unused 0 0 # 63 d: ${totalsize} 0 unused 0 0 #
64 e: ${bootsize} ${bootoffset} MSDOS # 64 e: ${bootsize} ${bootoffset} MSDOS #
65EOF 65EOF
66} 66}
67 67
68customize() { 68customize() {
69 echo "${bar} creating directories ${bar}" 69 echo "${bar} creating directories ${bar}"
70 mkdir ${mnt}/proc ${mnt}/kern 70 mkdir ${mnt}/proc ${mnt}/kern
71} 71}
72 72
73make_fstab() { 73make_fstab() {
74 : 74 :
75} 75}
76 76
77firmwaredir=$src/external/broadcom/rpi-firmware/dist 77firmwaredir=$src/external/broadcom/rpi-firmware/dist
78firmwarefiles="LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf" 78firmwarefiles="LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf"
79dtbs="$(${MAKE} -C ${kerneldir} -v DTB)" 79dtbs="$(${MAKE} -C ${kerneldir} -v DTB)"
80 80
81populate() { 81populate() {
82 cat > ${mnt}/boot/cmdline.txt << EOF 82 cat > ${mnt}/boot/cmdline.txt << EOF
83root=ld0a console=fb 83root=ld0a console=fb
84#fb=1280x1024 # to select a mode, otherwise try EDID  84#fb=1280x1024 # to select a mode, otherwise try EDID
85#fb=disable # to disable fb completely 85#fb=disable # to disable fb completely
86EOF 86EOF
87 87
88 cat > ${mnt}/boot/config.txt << EOF 88 cat > ${mnt}/boot/config.txt << EOF
 89#
 90upstream_kernel=1
89# UART settings, see https://www.raspberrypi.org/documentation/configuration/uart.md 91# UART settings, see https://www.raspberrypi.org/documentation/configuration/uart.md
90enable_uart=1  92enable_uart=1
91force_turbo=0 93force_turbo=0
92EOF 94EOF
93 95
94 if [ ! -f ${kernel} ]; then 96 if [ ! -f ${kernel} ]; then
95 echo ${PROG}: Missing ${kernel} 1>&2 97 echo ${PROG}: Missing ${kernel} 1>&2
96 exit 1 98 exit 1
97 fi 99 fi
98 100
99 echo "${bar} installing kernel ${bar}" 101 echo "${bar} installing kernel ${bar}"
100 case ${kernel} in 102 case ${kernel} in
101 *.gz) 103 *.gz)
102 echo " ${kernel} uncompressed to kernel.img" 104 echo " ${kernel} uncompressed to kernel.img"
103 ${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img 105 ${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img
104 ;; 106 ;;
105 *) 107 *)
106 echo " ${kernel} copied" 108 echo " ${kernel} copied"
107 cp ${kernel} ${mnt}/boot/kernel.img 109 cp ${kernel} ${mnt}/boot/kernel.img
108 ;; 110 ;;
109 esac || fail "copy of ${kernel} to ${mnt}/boot/kernel.img failed" 111 esac || fail "copy of ${kernel} to ${mnt}/boot/kernel.img failed"
110 112
111 echo "${bar} installing firmware files ${bar}" 113 echo "${bar} installing firmware files ${bar}"
112 (cd ${mnt}/boot && 114 (cd ${mnt}/boot &&
113 for f in ${firmwarefiles}; do 115 for f in ${firmwarefiles}; do
114 echo " $f" 116 echo " $f"
115 cp ${firmwaredir}/${f} . || exit 1 117 cp ${firmwaredir}/${f} . || exit 1
116 done 118 done
117 for f in ${dtbs}; do 119 for f in ${dtbs}; do
118 echo " $f" 120 echo " $f"
119 cp ${kerneldir}/${f} . || exit 1 121 cp ${kerneldir}/${f} . || exit 1
120 done 122 done
121 ) || fail "Copy of firmware to ${mnt}/boot failed" 123 ) || fail "Copy of firmware to ${mnt}/boot failed"
122 124
123} 125}