Home | History | Annotate | Line # | Download | only in conf
evbarm.conf revision 1.2.2.2
      1 # $NetBSD: evbarm.conf,v 1.2.2.2 2013/01/23 00:04:28 yamt Exp $
      2 # evbarm shared config
      3 #
      4 image=$HOME/${board}.img
      5 
      6 setsdir=$obj/evbarm/media/evbarm/binary/sets/
      7 specialdirs="/kern /proc"
      8 
      9 swap=256
     10 extra=8		# spare space
     11 boot=112
     12 init=8
     13 
     14 size=0		# autocompute
     15 msdosid=12
     16 overhead=$(( ${swap} + ${extra} + ${init} + ${boot} ))
     17 
     18 tmp=/tmp/${board}.disklabel.$$
     19 
     20 make_filesystems_evbarm() {
     21 
     22 	local asize=$(( ${newsize} * 1024 ))
     23 	local swapsize=$(( ${swap} * 1024 ))
     24 	local bootsize=$(( ${boot} * 1024 ))
     25 
     26 	local bootoffset=$((${init} * 1024 ))
     27 	local swapoffset=$(( ${bootoffset} + ${bootsize} ))
     28 	local aoffset=$(( ${swapoffset} + ${swapsize} ))
     29 
     30 	local totalsize=$(( ${asize} + ${swapsize} + ${bootsize} + ${bootoffset} ))
     31 	local bps=512
     32 	local spt=32
     33 	local tpc=64
     34 	local spc=2048
     35 	local cylinders=$(( ${totalsize} / ${spc} ))
     36 
     37 	cat > ${tmp} << EOF
     38 type: SCSI
     39 disk: STORAGE DEVICE
     40 label: fictitious
     41 flags: removable
     42 bytes/sector: ${bps}
     43 sectors/track: ${spt}
     44 tracks/cylinder: ${tpc}
     45 sectors/cylinder: ${spc}
     46 cylinders: ${cylinders}
     47 total sectors: ${totalsize}
     48 rpm: 3600
     49 interleave: 1
     50 trackskew: 0
     51 cylinderskew: 0
     52 headswitch: 0           # microseconds
     53 track-to-track seek: 0  # microseconds
     54 drivedata: 0 
     55 
     56 8 partitions:
     57 #     size         offset        fstype [fsize bsize cpg/sgs]
     58  a:   ${asize}     ${aoffset}    4.2BSD  ${fsize} ${bsize} 0  # 
     59  b:   ${swapsize}  ${swapoffset} swap                         #
     60  d:   ${totalsize} 0             unused      0     0          #
     61  e:   ${bootsize}  ${bootoffset} MSDOS                        #
     62 EOF
     63 	${sudo} disklabel -R ${vnddev} ${tmp}
     64 	${sudo} fdisk -f -u -0 -s ${msdosid}/${bootoffset}/${bootsize} -F ${image}
     65 	${sudo} newfs /dev/r${vnddev}a
     66 	${sudo} newfs_msdos /dev/r${vnddev}e
     67 	${sudo} mount -o async /dev/${vnddev}a ${mnt}
     68 	${sudo} mkdir ${mnt}/boot
     69 	${sudo} mount_msdos /dev/${vnddev}e ${mnt}/boot
     70 }
     71 
     72 make_fstab_evbarm() {
     73 	${sudo} cat > ${mnt}/etc/fstab << EOF
     74 # NetBSD /etc/fstab
     75 # See /usr/share/examples/fstab/ for more examples.
     76 /dev/ld0a	/		ffs	rw,log	1 1
     77 /dev/ld0b	none		swap	sw	0 0
     78 /dev/ld0e	/boot		msdos	rw	1 1
     79 kernfs		/kern		kernfs	rw
     80 ptyfs		/dev/pts	ptyfs	rw
     81 procfs		/proc		procfs	rw
     82 EOF
     83 }
     84 
     85 customize_evbarm() {
     86 	${sudo} cat >> ${mnt}/etc/rc.conf << EOF
     87 sshd=YES
     88 dhcpcd=YES
     89 mdnsd=YES
     90 EOF
     91 	if [ ! -f ${mnt}/dev/MAKEDEV ]; then
     92 		echo ${PROG}: Missing ${mnt}/dev/MAKEDEV 1>&2
     93 		exit 1
     94 	fi
     95 	echo "${bar} running MAKEDEV ${bar}"
     96 	(cd ${mnt}/dev && ${sudo} sh MAKEDEV all)
     97 }
     98 
     99 cleanup_evbarm() {
    100     rm -f ${tmp}
    101     ${sudo} umount ${mnt}/boot
    102 }
    103