Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jun 2018 16:45:53 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r335004 - head/release/tools
Message-ID:  <201806121645.w5CGjrMM099365@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Tue Jun 12 16:45:52 2018
New Revision: 335004
URL: https://svnweb.freebsd.org/changeset/base/335004

Log:
  Enable USB OTG serial terminal on ARM SD card images.  This configures
  the system to make use of USB device mode / USB OTG to provide a "virtual
  serial port" on release images.
  
  Reviewed by:	gjb@
  MFC after:	2 weeks
  Relnotes:	yes
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D15602

Modified:
  head/release/tools/arm.subr

Modified: head/release/tools/arm.subr
==============================================================================
--- head/release/tools/arm.subr	Tue Jun 12 16:44:13 2018	(r335003)
+++ head/release/tools/arm.subr	Tue Jun 12 16:45:52 2018	(r335004)
@@ -92,6 +92,41 @@ arm_create_user() {
 	return 0
 }
 
+arm_setup_usb_otg() {
+	# Set up virtual serial port over USB OTG / device mode.
+	echo >> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '# Required for USB OTG virtual serial port.' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo 'notify 100 {' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '	match "system"		"DEVFS";' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '	match "subsystem"	"CDEV";' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '	match "type"		"CREATE";' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '	match "cdev"		"ttyU[0-9]+";' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '	action "/sbin/init q";' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+	echo '};' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/devd.conf
+
+	echo '# USB OTG virtual serial port' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/ttys
+	echo 'ttyU0	"/usr/libexec/getty 3wire"	vt100	onifconsole  secure' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/ttys
+	echo 'ttyU1	"/usr/libexec/getty 3wire"	vt100	onifconsole  secure' \
+		>> ${CHROOTDIR}/${DESTDIR}/etc/ttys
+
+	echo '# Configure USB OTG; see usb_template(4).' \
+		>> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf
+	echo 'hw.usb.template=3' \
+		>> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf
+	echo 'umodem_load="YES"' \
+		>> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf
+}
+
 arm_install_base() {
 	chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${DESTDIR}
 	eval chroot ${CHROOTDIR} make -C ${WORLDDIR} \
@@ -102,6 +137,7 @@ arm_install_base() {
 	chroot ${CHROOTDIR} mkdir -p ${DESTDIR}/boot/msdos
 
 	arm_create_user
+	arm_setup_usb_otg
 
 	echo '# Custom /etc/fstab for FreeBSD embedded images' \
 		> ${CHROOTDIR}/${DESTDIR}/etc/fstab



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806121645.w5CGjrMM099365>