# $NetBSD: evbarm.conf,v 1.2.2.2 2013/01/23 00:04:28 yamt Exp $ # evbarm shared config # image=$HOME/${board}.img setsdir=$obj/evbarm/media/evbarm/binary/sets/ specialdirs="/kern /proc" swap=256 extra=8 # spare space boot=112 init=8 size=0 # autocompute msdosid=12 overhead=$(( ${swap} + ${extra} + ${init} + ${boot} )) tmp=/tmp/${board}.disklabel.$$ make_filesystems_evbarm() { local asize=$(( ${newsize} * 1024 )) local swapsize=$(( ${swap} * 1024 )) local bootsize=$(( ${boot} * 1024 )) local bootoffset=$((${init} * 1024 )) local swapoffset=$(( ${bootoffset} + ${bootsize} )) local aoffset=$(( ${swapoffset} + ${swapsize} )) local totalsize=$(( ${asize} + ${swapsize} + ${bootsize} + ${bootoffset} )) local bps=512 local spt=32 local tpc=64 local spc=2048 local cylinders=$(( ${totalsize} / ${spc} )) cat > ${tmp} << EOF type: SCSI disk: STORAGE DEVICE label: fictitious flags: removable bytes/sector: ${bps} sectors/track: ${spt} tracks/cylinder: ${tpc} sectors/cylinder: ${spc} cylinders: ${cylinders} total sectors: ${totalsize} rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize cpg/sgs] a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 # b: ${swapsize} ${swapoffset} swap # d: ${totalsize} 0 unused 0 0 # e: ${bootsize} ${bootoffset} MSDOS # EOF ${sudo} disklabel -R ${vnddev} ${tmp} ${sudo} fdisk -f -u -0 -s ${msdosid}/${bootoffset}/${bootsize} -F ${image} ${sudo} newfs /dev/r${vnddev}a ${sudo} newfs_msdos /dev/r${vnddev}e ${sudo} mount -o async /dev/${vnddev}a ${mnt} ${sudo} mkdir ${mnt}/boot ${sudo} mount_msdos /dev/${vnddev}e ${mnt}/boot } make_fstab_evbarm() { ${sudo} cat > ${mnt}/etc/fstab << EOF # NetBSD /etc/fstab # See /usr/share/examples/fstab/ for more examples. /dev/ld0a / ffs rw,log 1 1 /dev/ld0b none swap sw 0 0 /dev/ld0e /boot msdos rw 1 1 kernfs /kern kernfs rw ptyfs /dev/pts ptyfs rw procfs /proc procfs rw EOF } customize_evbarm() { ${sudo} cat >> ${mnt}/etc/rc.conf << EOF sshd=YES dhcpcd=YES mdnsd=YES EOF if [ ! -f ${mnt}/dev/MAKEDEV ]; then echo ${PROG}: Missing ${mnt}/dev/MAKEDEV 1>&2 exit 1 fi echo "${bar} running MAKEDEV ${bar}" (cd ${mnt}/dev && ${sudo} sh MAKEDEV all) } cleanup_evbarm() { rm -f ${tmp} ${sudo} umount ${mnt}/boot }