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