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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to