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