1 1.5 ozaki # $NetBSD: rpi_inst.conf,v 1.5 2014/04/03 01:36:20 ozaki-r 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.1 garbled kernel=$src/sys/arch/evbarm/compile/RPI/netbsd-RPI_INSTALL.bin 7 1.1 garbled 8 1.5 ozaki . ${DIR}/conf/evbarm.conf 9 1.5 ozaki 10 1.1 garbled image=$HOME/${board}.img 11 1.1 garbled 12 1.1 garbled specialdirs="/kern /proc" 13 1.1 garbled 14 1.1 garbled swap=8 15 1.1 garbled extra=8 # spare space 16 1.1 garbled boot=112 17 1.1 garbled init=8 18 1.1 garbled 19 1.1 garbled size=$(( 10485760 + ${swap} * 1024 * 512 + ${boot} * 1024 * 512 + ${init} * 1024 * 512 )) 20 1.1 garbled msdosid=12 21 1.1 garbled 22 1.1 garbled make_label_evbarm() { 23 1.1 garbled # compute all sizes in terms of sectors 24 1.1 garbled local totalsize=$(( ${newsize} * 1024 * 2 / 512 )) 25 1.1 garbled 26 1.1 garbled local swapsize=$(( ${swap} * 1024 )) 27 1.1 garbled local bootsize=$(( ${boot} * 1024 )) 28 1.1 garbled 29 1.1 garbled local bootoffset=$(( ${init} * 1024 )) 30 1.1 garbled local swapoffset=$(( ${bootoffset} + ${bootsize} )) 31 1.1 garbled 32 1.1 garbled local asize=$(( ${totalsize} - ${swapsize} - ${bootsize} - ${bootoffset} )) 33 1.1 garbled local aoffset=$(( ${swapoffset} + ${swapsize} )) 34 1.1 garbled 35 1.1 garbled local bps=512 36 1.1 garbled local spt=32 37 1.1 garbled local tpc=64 38 1.1 garbled local spc=2048 39 1.1 garbled local cylinders=$(( ${totalsize} / ${spc} )) 40 1.1 garbled 41 1.1 garbled cat << EOF 42 1.1 garbled type: SCSI 43 1.1 garbled disk: STORAGE DEVICE 44 1.1 garbled label: fictitious 45 1.1 garbled flags: removable 46 1.1 garbled bytes/sector: ${bps} 47 1.1 garbled sectors/track: ${spt} 48 1.1 garbled tracks/cylinder: ${tpc} 49 1.1 garbled sectors/cylinder: ${spc} 50 1.1 garbled cylinders: ${cylinders} 51 1.1 garbled total sectors: ${totalsize} 52 1.1 garbled rpm: 3600 53 1.1 garbled interleave: 1 54 1.1 garbled trackskew: 0 55 1.1 garbled cylinderskew: 0 56 1.1 garbled headswitch: 0 # microseconds 57 1.1 garbled track-to-track seek: 0 # microseconds 58 1.1 garbled drivedata: 0 59 1.1 garbled 60 1.1 garbled 8 partitions: 61 1.1 garbled # size offset fstype [fsize bsize cpg/sgs] 62 1.1 garbled a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 # 63 1.1 garbled b: ${swapsize} ${swapoffset} swap # 64 1.1 garbled d: ${totalsize} 0 unused 0 0 # 65 1.1 garbled e: ${bootsize} ${bootoffset} MSDOS # 66 1.1 garbled EOF 67 1.1 garbled } 68 1.1 garbled 69 1.1 garbled make_fstab_evbarm() { 70 1.2 garbled : 71 1.1 garbled } 72 1.1 garbled 73 1.1 garbled customize_evbarm() { 74 1.1 garbled echo "${bar} creating directories ${bar}" 75 1.1 garbled mkdir ${mnt}/proc ${mnt}/kern 76 1.1 garbled } 77 1.1 garbled firmwaredir=$src/external/broadcom/rpi-firmware/dist 78 1.1 garbled firmwarefiles="LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf" 79 1.1 garbled 80 1.1 garbled make_filesystems() { 81 1.1 garbled make_filesystems_evbarm 82 1.1 garbled } 83 1.1 garbled 84 1.1 garbled make_fstab() { 85 1.1 garbled make_fstab_evbarm 86 1.1 garbled } 87 1.1 garbled 88 1.1 garbled make_label() { 89 1.1 garbled make_label_evbarm 90 1.1 garbled } 91 1.1 garbled 92 1.1 garbled customize() { 93 1.1 garbled customize_evbarm 94 1.1 garbled } 95 1.1 garbled 96 1.1 garbled populate() { 97 1.1 garbled cat > ${mnt}/boot/cmdline.txt << EOF 98 1.1 garbled root=ld0a console=fb 99 1.1 garbled #fb=1280x1024 # to select a mode, otherwise try EDID 100 1.1 garbled #fb=disable # to disable fb completely 101 1.1 garbled EOF 102 1.1 garbled if [ ! -f ${kernel} ]; then 103 1.1 garbled echo ${PROG}: Missing ${kernel} 1>&2 104 1.1 garbled exit 1 105 1.1 garbled fi 106 1.1 garbled 107 1.1 garbled echo "${bar} installing kernel ${bar}" 108 1.1 garbled case ${kernel} in 109 1.1 garbled *.gz) 110 1.3 ast ${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img 111 1.1 garbled ;; 112 1.1 garbled *) 113 1.1 garbled cp ${kernel} ${mnt}/boot/kernel.img 114 1.1 garbled ;; 115 1.1 garbled esac 116 1.1 garbled 117 1.1 garbled echo "${bar} installing firmware files ${bar}" 118 1.1 garbled (cd ${mnt}/boot && 119 1.1 garbled for f in ${firmwarefiles}; do 120 1.1 garbled echo " $f" 121 1.1 garbled cp ${firmwaredir}/${f} . 122 1.1 garbled done 123 1.1 garbled ) 124 1.1 garbled 125 1.1 garbled } 126