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