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