Module Name:    src
Committed By:   jmcneill
Date:           Mon Jan 14 11:32:40 UTC 2013

Added Files:
        src/distrib/utils/embedded/conf: beagleboard.conf

Log Message:
add mkimage config for generating beagleboard images


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/distrib/utils/embedded/conf/beagleboard.conf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/distrib/utils/embedded/conf/beagleboard.conf
diff -u /dev/null src/distrib/utils/embedded/conf/beagleboard.conf:1.1
--- /dev/null	Mon Jan 14 11:32:40 2013
+++ src/distrib/utils/embedded/conf/beagleboard.conf	Mon Jan 14 11:32:40 2013
@@ -0,0 +1,120 @@
+# $NetBSD: beagleboard.conf,v 1.1 2013/01/14 11:32:40 jmcneill Exp $
+# BeagleBoard customization script used by mkimage
+#
+board=beagleboard
+kernelconf=BEAGLEBOARD
+kernelimg=netbsd.ub
+loadaddr=81000000
+image=$HOME/${board}.img
+
+sets="base etc comp games man misc modules tests text"
+setsdir=$obj/evbarm/media
+kerneldir=$src/sys/arch/evbarm/compile/${kernelconf}
+specialdirs="/kern /proc"
+
+swap=512
+size=2048
+overhead=8
+boot=112
+init=8
+msdosid=12
+
+tmp=/tmp/${board}.disklabel.$$
+
+make_filesystems() {
+
+	local asize=$(( ${size} * 1024 ))
+	local swapsize=$(( ${swap} * 1024 ))
+	local bootsize=$(( ${boot} * 1024 ))
+
+	local bootoffset=$((${init} * 1024 ))
+	local swapoffset=$(( ${bootoffset} + ${bootsize} ))
+	local aoffset=$(( ${swapoffset} + ${swapsize} ))
+
+	local totalsize=$(( ${asize} + ${swapsize} + ${bootsize} + ${bootoffset} ))
+	local bps=512
+	local spt=32
+	local tpc=64
+	local spc=2048
+	local cylinders=$(( ${totalsize} / ${spc} ))
+
+	cat > ${tmp} << EOF
+type: SCSI
+disk: STORAGE DEVICE
+label: fictitious
+flags: removable
+bytes/sector: ${bps}
+sectors/track: ${spt}
+tracks/cylinder: ${tpc}
+sectors/cylinder: ${spc}
+cylinders: ${cylinders}
+total sectors: ${totalsize}
+rpm: 3600
+interleave: 1
+trackskew: 0
+cylinderskew: 0
+headswitch: 0           # microseconds
+track-to-track seek: 0  # microseconds
+drivedata: 0 
+
+8 partitions:
+#     size         offset        fstype [fsize bsize cpg/sgs]
+ a:   ${asize}     ${aoffset}    4.2BSD   2048 16384     0  # 
+ b:   ${swapsize}  ${swapoffset} swap                       #
+ d:   ${totalsize} 0             unused      0     0        #
+ e:   ${bootsize}  ${bootoffset} MSDOS                      #
+EOF
+	${sudo} disklabel -R ${vnddev} ${tmp}
+	${sudo} fdisk -f -u -0 -s ${msdosid}/${bootoffset}/${bootsize} -F ${image}
+	${sudo} newfs /dev/r${vnddev}a
+	${sudo} newfs_msdos /dev/r${vnddev}e
+	${sudo} mount /dev/${vnddev}a ${mnt}
+	${sudo} mkdir ${mnt}/boot
+	${sudo} mount_msdos /dev/${vnddev}e ${mnt}/boot
+}
+
+make_fstab() {
+${sudo} cat > ${mnt}/etc/fstab << EOF
+# NetBSD /etc/fstab
+# See /usr/share/examples/fstab/ for more examples.
+/dev/ld0a	/		ffs	rw,log	1 1
+/dev/ld0b	none		swap	sw	0 0
+/dev/ld0e	/boot		msdos	rw	1 1
+kernfs		/kern		kernfs	rw
+ptyfs		/dev/pts	ptyfs	rw
+procfs		/proc		procfs	rw
+EOF
+}
+
+customize() {
+
+	${sudo} cat >> ${mnt}/etc/rc.conf << EOF
+hostname=${board}
+sshd=YES
+dhcpcd=YES
+mdnsd=YES
+EOF
+
+	${sudo} cat > ${mnt}/boot/uEnv.txt << EOF
+loaduimage=fatload mmc 0 ${loadaddr} ${kernelimg}; bootm ${loadaddr} root=ld0a
+EOF
+
+	if [ ! -f ${kerneldir}/${kernelimg} ]; then
+		echo ${PROG}: Missing ${kerneldir}/${kernelimg} 1>&2
+		exit 1
+	fi
+	echo "${bar} installing kernel ${bar}"
+	${sudo} cp ${kerneldir}/${kernelimg} ${mnt}/boot
+
+	if [ ! -f ${mnt}/dev/MAKEDEV ]; then
+		echo ${PROG}: Missing ${mnt}/dev/MAKEDEV 1>&2
+		exit 1
+	fi
+	echo "${bar} running MAKEDEV ${bar}"
+	(cd ${mnt}/dev && ${sudo} sh MAKEDEV all)
+}
+
+cleanup() {
+    rm -f ${tmp}
+    ${sudo} umount ${mnt}/boot
+}

Reply via email to