1 # $NetBSD: evbmips.conf,v 1.6 2024/12/29 09:46:44 jmmv Exp $ 2 # evbmips shared config 3 # 4 image=$HOME/${board}.img 5 6 MACHINE=evbmips 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_evbmips() { 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_evbmips() { 69 make_fstab_default boot 70 } 71 72 customize_evbmips() { 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 no_swap=YES 93 savecore=NO 94 sshd=YES 95 dhcpcd=YES 96 ntpd=YES 97 ntpd_flags="-g" 98 creds_msdos=YES 99 creds_msdos_partition=/boot 100 certctl_init=YES 101 EOF 102 103 if $resize; then 104 cat >> ${mnt}/etc/rc.conf << EOF 105 resize_${partition_type}=YES 106 resize_root=YES 107 resize_root_flags="-p" 108 resize_root_postcmd="/sbin/reboot -n" 109 EOF 110 fi 111 112 echo "./etc/rc.conf type=file uname=root gname=wheel mode=0644" \ 113 >> "$tmp/selected_sets" 114 115 mkdir ${mnt}/etc/rc.d 116 for _f in resize_${partition_type} creds_msdos; do 117 cp ${DIR}/files/${_f} ${mnt}/etc/rc.d/${_f} 118 echo "./etc/rc.d/${_f} type=file uname=root gname=wheel mode=0555" \ 119 >> "$tmp/selected_sets" 120 done 121 122 if [ ! -f ${release}/dev/MAKEDEV ]; then 123 echo ${PROG}: Missing ${release}/dev/MAKEDEV 1>&2 124 exit 1 125 fi 126 echo "${bar} running MAKEDEV ${bar}" 127 ${HOST_SH} ${release}/dev/MAKEDEV -s all | sed -e 's:^\./:\./dev/:' \ 128 >> "$tmp/selected_sets" 129 130 echo "${bar} fixing up permissions" 131 echo "./boot type=dir uname=root gname=wheel mode=0755" \ 132 >> "$tmp/selected_sets" 133 } 134