Home | History | Annotate | Line # | Download | only in conf
rpi_inst.conf revision 1.5.4.2
      1  1.5.4.2  yamt # $NetBSD: rpi_inst.conf,v 1.5.4.2 2014/05/22 12:01:34 yamt Exp $
      2  1.5.4.2  yamt # Raspberry Pi customization script used by mkimage
      3  1.5.4.2  yamt #
      4  1.5.4.2  yamt 
      5  1.5.4.2  yamt board=rpi_inst
      6  1.5.4.2  yamt kernel=$src/sys/arch/evbarm/compile/RPI/netbsd-RPI_INSTALL.bin
      7  1.5.4.2  yamt 
      8  1.5.4.2  yamt . ${DIR}/conf/evbarm.conf
      9  1.5.4.2  yamt 
     10  1.5.4.2  yamt image=$HOME/${board}.img
     11  1.5.4.2  yamt 
     12  1.5.4.2  yamt specialdirs="/kern /proc"
     13  1.5.4.2  yamt 
     14  1.5.4.2  yamt swap=8
     15  1.5.4.2  yamt extra=8		# spare space
     16  1.5.4.2  yamt boot=112
     17  1.5.4.2  yamt init=8
     18  1.5.4.2  yamt 
     19  1.5.4.2  yamt size=$(( 10485760 + ${swap} * 1024 * 512 + ${boot} * 1024 * 512 + ${init} * 1024 * 512 ))
     20  1.5.4.2  yamt msdosid=12
     21  1.5.4.2  yamt 
     22  1.5.4.2  yamt make_label_evbarm() {
     23  1.5.4.2  yamt 	# compute all sizes in terms of sectors
     24  1.5.4.2  yamt 	local totalsize=$(( ${newsize} * 1024 * 2 / 512 ))
     25  1.5.4.2  yamt 
     26  1.5.4.2  yamt 	local swapsize=$(( ${swap} * 1024 ))
     27  1.5.4.2  yamt 	local bootsize=$(( ${boot} * 1024 ))
     28  1.5.4.2  yamt 
     29  1.5.4.2  yamt 	local bootoffset=$(( ${init} * 1024 ))
     30  1.5.4.2  yamt 	local swapoffset=$(( ${bootoffset} + ${bootsize} ))
     31  1.5.4.2  yamt 
     32  1.5.4.2  yamt 	local asize=$(( ${totalsize} - ${swapsize} - ${bootsize} - ${bootoffset} ))
     33  1.5.4.2  yamt 	local aoffset=$(( ${swapoffset} + ${swapsize} ))
     34  1.5.4.2  yamt 
     35  1.5.4.2  yamt 	local bps=512
     36  1.5.4.2  yamt 	local spt=32
     37  1.5.4.2  yamt 	local tpc=64
     38  1.5.4.2  yamt 	local spc=2048
     39  1.5.4.2  yamt 	local cylinders=$(( ${totalsize} / ${spc} ))
     40  1.5.4.2  yamt 
     41  1.5.4.2  yamt 	cat << EOF
     42  1.5.4.2  yamt type: SCSI
     43  1.5.4.2  yamt disk: STORAGE DEVICE
     44  1.5.4.2  yamt label: fictitious
     45  1.5.4.2  yamt flags: removable
     46  1.5.4.2  yamt bytes/sector: ${bps}
     47  1.5.4.2  yamt sectors/track: ${spt}
     48  1.5.4.2  yamt tracks/cylinder: ${tpc}
     49  1.5.4.2  yamt sectors/cylinder: ${spc}
     50  1.5.4.2  yamt cylinders: ${cylinders}
     51  1.5.4.2  yamt total sectors: ${totalsize}
     52  1.5.4.2  yamt rpm: 3600
     53  1.5.4.2  yamt interleave: 1
     54  1.5.4.2  yamt trackskew: 0
     55  1.5.4.2  yamt cylinderskew: 0
     56  1.5.4.2  yamt headswitch: 0           # microseconds
     57  1.5.4.2  yamt track-to-track seek: 0  # microseconds
     58  1.5.4.2  yamt drivedata: 0 
     59  1.5.4.2  yamt 
     60  1.5.4.2  yamt 8 partitions:
     61  1.5.4.2  yamt #     size         offset        fstype [fsize bsize cpg/sgs]
     62  1.5.4.2  yamt  a:   ${asize}     ${aoffset}    4.2BSD  ${fsize} ${bsize} 0  # 
     63  1.5.4.2  yamt  b:   ${swapsize}  ${swapoffset} swap                         #
     64  1.5.4.2  yamt  d:   ${totalsize} 0             unused      0     0          #
     65  1.5.4.2  yamt  e:   ${bootsize}  ${bootoffset} MSDOS                        #
     66  1.5.4.2  yamt EOF
     67  1.5.4.2  yamt }
     68  1.5.4.2  yamt 
     69  1.5.4.2  yamt make_fstab_evbarm() {
     70  1.5.4.2  yamt :
     71  1.5.4.2  yamt }
     72  1.5.4.2  yamt 
     73  1.5.4.2  yamt customize_evbarm() {
     74  1.5.4.2  yamt 	echo "${bar} creating directories ${bar}"
     75  1.5.4.2  yamt 	mkdir ${mnt}/proc ${mnt}/kern
     76  1.5.4.2  yamt }
     77  1.5.4.2  yamt firmwaredir=$src/external/broadcom/rpi-firmware/dist
     78  1.5.4.2  yamt firmwarefiles="LICENCE.broadcom bootcode.bin fixup.dat fixup_cd.dat start.elf start_cd.elf"
     79  1.5.4.2  yamt 
     80  1.5.4.2  yamt make_filesystems() {
     81  1.5.4.2  yamt 	make_filesystems_evbarm
     82  1.5.4.2  yamt }
     83  1.5.4.2  yamt 
     84  1.5.4.2  yamt make_fstab() {
     85  1.5.4.2  yamt 	make_fstab_evbarm
     86  1.5.4.2  yamt }
     87  1.5.4.2  yamt 
     88  1.5.4.2  yamt make_label() {
     89  1.5.4.2  yamt 	make_label_evbarm
     90  1.5.4.2  yamt }
     91  1.5.4.2  yamt 
     92  1.5.4.2  yamt customize() {
     93  1.5.4.2  yamt 	customize_evbarm
     94  1.5.4.2  yamt }
     95  1.5.4.2  yamt 
     96  1.5.4.2  yamt populate() {
     97  1.5.4.2  yamt 	cat > ${mnt}/boot/cmdline.txt << EOF
     98  1.5.4.2  yamt root=ld0a console=fb
     99  1.5.4.2  yamt #fb=1280x1024		# to select a mode, otherwise try EDID 
    100  1.5.4.2  yamt #fb=disable		# to disable fb completely
    101  1.5.4.2  yamt EOF
    102  1.5.4.2  yamt 	if [ ! -f ${kernel} ]; then
    103  1.5.4.2  yamt 		echo ${PROG}: Missing ${kernel} 1>&2
    104  1.5.4.2  yamt 		exit 1
    105  1.5.4.2  yamt 	fi
    106  1.5.4.2  yamt 
    107  1.5.4.2  yamt 	echo "${bar} installing kernel ${bar}"
    108  1.5.4.2  yamt 	case ${kernel} in
    109  1.5.4.2  yamt 	*.gz)
    110  1.5.4.2  yamt 		${GZIP_CMD} -dc ${kernel} > ${mnt}/boot/kernel.img
    111  1.5.4.2  yamt 		;;
    112  1.5.4.2  yamt 	*)
    113  1.5.4.2  yamt 		cp ${kernel} ${mnt}/boot/kernel.img
    114  1.5.4.2  yamt 		;;
    115  1.5.4.2  yamt 	esac
    116  1.5.4.2  yamt 
    117  1.5.4.2  yamt 	echo "${bar} installing firmware files ${bar}"
    118  1.5.4.2  yamt 	(cd ${mnt}/boot &&
    119  1.5.4.2  yamt 		for f in ${firmwarefiles}; do
    120  1.5.4.2  yamt 			echo " $f"
    121  1.5.4.2  yamt 			cp ${firmwaredir}/${f} .
    122  1.5.4.2  yamt 		done
    123  1.5.4.2  yamt 	)
    124  1.5.4.2  yamt 
    125  1.5.4.2  yamt }
    126