1# $NetBSD: evbarm.conf,v 1.13 2013/11/22 11:13:54 skrll Exp $ 2# evbarm shared config 3# 4image=$HOME/${board}.img 5 6specialdirs="/kern /proc" 7 8swap=256 9extra=8 # spare space 10boot=112 11init=8 12 13size=0 # autocompute 14msdosid=12 15 16make_label_evbarm() { 17 # compute all sizes in terms of sectors 18 local totalsize=$(( ${newsize} * 1024 * 2 / 512 )) 19 20 local swapsize=$(( ${swap} * 1024 )) 21 local bootsize=$(( ${boot} * 1024 )) 22 23 local bootoffset=$(( ${init} * 1024 )) 24 local swapoffset=$(( ${bootoffset} + ${bootsize} )) 25 26 local asize=$(( ${totalsize} - ${swapsize} - ${bootsize} - ${bootoffset} )) 27 local aoffset=$(( ${swapoffset} + ${swapsize} )) 28 29 local bps=512 30 local spt=32 31 local tpc=64 32 local spc=2048 33 local cylinders=$(( ${totalsize} / ${spc} )) 34 35 cat << EOF 36type: SCSI 37disk: STORAGE DEVICE 38label: fictitious 39flags: removable 40bytes/sector: ${bps} 41sectors/track: ${spt} 42tracks/cylinder: ${tpc} 43sectors/cylinder: ${spc} 44cylinders: ${cylinders} 45total sectors: ${totalsize} 46rpm: 3600 47interleave: 1 48trackskew: 0 49cylinderskew: 0 50headswitch: 0 # microseconds 51track-to-track seek: 0 # microseconds 52drivedata: 0 53 548 partitions: 55# size offset fstype [fsize bsize cpg/sgs] 56 a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 # 57 b: ${swapsize} ${swapoffset} swap # 58 c: ${totalsize} 0 unused 0 0 # 59 d: ${totalsize} 0 unused 0 0 # 60 e: ${bootsize} ${bootoffset} MSDOS # 61EOF 62} 63 64make_fstab_evbarm_normal() { 65 cat > ${mnt}/etc/fstab << EOF 66# NetBSD /etc/fstab 67# See /usr/share/examples/fstab/ for more examples. 68/dev/ld0a / ffs rw,log 1 1 69/dev/ld0b none swap sw 0 0 70/dev/ld0e /boot msdos rw 1 1 71kernfs /kern kernfs rw 72ptyfs /dev/pts ptyfs rw 73procfs /proc procfs rw 74EOF 75} 76 77# From Richard Neswold's: 78# http://rich-tbp.blogspot.com/2013/03/netbsd-on-rpi-minimizing-disk-writes.html 79# Also for the postfix stuff below 80make_fstab_evbarm_minwrites() { 81 cat > ${mnt}/etc/fstab << EOF 82# NetBSD /etc/fstab 83# See /usr/share/examples/fstab/ for more examples. 84/dev/ld0a / ffs rw,log,noatime,nodevmtime 1 1 85/dev/ld0b none swap sw 0 0 86/dev/ld0e /boot msdos rw 1 1 87kernfs /kern kernfs rw 88ptyfs /dev/pts ptyfs rw 89procfs /proc procfs rw 90tmpfs /tmp tmpfs rw,-s32M 91tmpfs /var/log tmpfs rw,union,-s32M 92tmpfs /var/run tmpfs rw,union,-s1M 93tmpfs /var/mail tmpfs rw,union,-s10M 94tmpfs /var/spool/postfix tmpfs rw,union,-s20M 95tmpfs /var/db/postfix tmpfs rw,union,-s1M 96tmpfs /var/chroot tmpfs rw,union,-s10M 97EOF 98} 99 100make_fstab_evbarm() { 101 if $minwrites; then 102 make_fstab_evbarm_minwrites 103 else 104 make_fstab_evbarm_normal 105 fi 106} 107 108customize_evbarm() { 109 cp ${release}/etc/rc.conf ${mnt}/etc/rc.conf 110 if $minwrites; then 111 mkdir ${mnt}/etc/postfix 112 (umask 022 113 sed -e 's/fifo/unix/' < ${release}/etc/postfix/master.cf > \ 114 ${mnt}/etc/postfix/master.cf) 115 fi 116 cat >> ${mnt}/etc/rc.conf << EOF 117rc_configured=YES 118hostname=${board} 119sshd=YES 120dhcpcd=YES 121EOF 122 if [ ! -f ${release}/dev/MAKEDEV ]; then 123 echo ${PROG}: Missing ${release}/dev/MAKEDEV 1>&2 124 exit 1 125 fi 126 echo "${bar} running MAKEDEV ${bar}" 127 ${HOST_SH} ${release}/dev/MAKEDEV -s all | sed -e 's:^\./:\./dev/:' \ 128 >> "$tmp/selected_sets" 129 130 echo "${bar} creating directories ${bar}" 131 mkdir ${mnt}/proc ${mnt}/kern 132} 133