1 # $NetBSD: evbppc.conf,v 1.4 2025/02/17 12:31:20 jmcneill Exp $ */ 2 # evbppc shared config 3 # 4 image=$HOME/${board}.img 5 6 MACHINE=evbppc 7 8 extra=48 # spare space 9 init=32 10 boot=$((192 - ${init})) 11 ffsoffset=$(( (${init} + ${boot}) / 2 ))m 12 13 size=0 # autocompute 14 msdosid=12 15 16 if $gpt; then 17 partition_type="gpt" 18 else 19 partition_type="disklabel" 20 fi 21 22 mkdir -p ${mnt}/boot 23 24 make_label_evbppc() { 25 # compute all sizes in terms of sectors 26 local totalsize=$(( ${size} / 512 )) 27 28 local bootsize=$(( ${boot} * 1024 )) 29 30 local bootoffset=$(( ${init} * 1024 )) 31 32 local asize=$(( ${totalsize} - ${bootsize} - ${bootoffset} )) 33 local aoffset=$(( ${bootoffset} + ${bootsize} )) 34 35 local bps=512 36 local spt=32 37 local tpc=64 38 local spc=2048 39 local cylinders=$(( ${totalsize} / ${spc} )) 40 41 cat << EOF 42 type: SCSI 43 disk: STORAGE DEVICE 44 label: fictitious 45 flags: removable 46 bytes/sector: ${bps} 47 sectors/track: ${spt} 48 tracks/cylinder: ${tpc} 49 sectors/cylinder: ${spc} 50 cylinders: ${cylinders} 51 total sectors: ${totalsize} 52 rpm: 3600 53 interleave: 1 54 trackskew: 0 55 cylinderskew: 0 56 headswitch: 0 # microseconds 57 track-to-track seek: 0 # microseconds 58 drivedata: 0 59 60 8 partitions: 61 # size offset fstype [fsize bsize cpg/sgs] 62 a: ${asize} ${aoffset} 4.2BSD ${fsize} ${bsize} 0 # 63 c: ${totalsize} 0 unused 0 0 # 64 e: ${bootsize} ${bootoffset} MSDOS # 65 EOF 66 } 67 68 make_fstab_evbppc() { 69 make_fstab_default boot 70 } 71 72 customize_evbppc() { 73 if $minwrites && $postfix; then 74 mkdir ${mnt}/etc/postfix 75 (umask 022 76 sed -e 's/fifo/unix/' < ${release}/etc/postfix/master.cf > \ 77 ${mnt}/etc/postfix/master.cf) 78 fi 79 80 cp ${release}/etc/rc.conf ${mnt}/etc/rc.conf 81 cat >> ${mnt}/etc/rc.conf << EOF 82 dev_exists() { 83 if /sbin/drvctl -l \$1 >/dev/null 2>&1 ; then 84 printf YES 85 else 86 printf NO 87 fi 88 } 89 90 rc_configured=YES 91 hostname=${hostname:-${board}} 92 savecore=NO 93 sshd=YES 94 dhcpcd=YES 95 #ntpd=YES 96 #ntpd_flags="-g" 97 creds_msdos=YES 98 creds_msdos_partition=/boot 99 certctl_init=YES 100 EOF 101 102 if ! ${swap:-false}; then 103 cat >> ${mnt}/etc/rc.conf << EOF 104 no_swap=YES 105 EOF 106 fi 107 if $resize; then 108 cat >> ${mnt}/etc/rc.conf << EOF 109 resize_${partition_type}=YES 110 resize_root=YES 111 resize_root_flags="-p" 112 resize_root_postcmd="/sbin/reboot -n" 113 EOF 114 fi 115 116 echo "./etc/rc.conf type=file uname=root gname=wheel mode=0644" \ 117 >> "$tmp/selected_sets" 118 119 mkdir ${mnt}/etc/rc.d 120 for _f in resize_${partition_type} creds_msdos; do 121 cp ${DIR}/files/${_f} ${mnt}/etc/rc.d/${_f} 122 echo "./etc/rc.d/${_f} type=file uname=root gname=wheel mode=0555" \ 123 >> "$tmp/selected_sets" 124 done 125 126 if [ ! -f ${release}/dev/MAKEDEV ]; then 127 echo ${PROG}: Missing ${release}/dev/MAKEDEV 1>&2 128 exit 1 129 fi 130 echo "${bar} running MAKEDEV ${bar}" 131 ${HOST_SH} ${release}/dev/MAKEDEV -s all | sed -e 's:^\./:\./dev/:' \ 132 >> "$tmp/selected_sets" 133 134 echo "${bar} fixing up permissions" 135 echo "./boot type=dir uname=root gname=wheel mode=0755" \ 136 >> "$tmp/selected_sets" 137 } 138