Browse Source

add some starting docs that I've worked on.

These need to be merged.
main
John-Mark Gurney 11 months ago
commit
0b96ab9416
3 changed files with 122 additions and 0 deletions
  1. +32
    -0
      freebsd.embed.env.txt
  2. +8
    -0
      markdeep.min.js
  3. +82
    -0
      test.md.html

+ 32
- 0
freebsd.embed.env.txt View File

@@ -0,0 +1,32 @@
Architecture of FreeBSD Embedded Testing Environment

Host Machine

Provides connectivity to the internet, and Jails with root that have
direct access to each host (so user can control NFS and related issues).
Best way to provide this is via vnet for each jail. VALE or bridge switch
and provide one of the direct connection, and one for internet.

Host allows device reservation, and allows each jail to turn on/off
the device (host can drop socket in the jail, or via union mount). Passes through serial console as well (devfs).



USB to SPI?
768-1118-ND

https://openlabpro.com/guide/interfacing-microcontrollers-with-sd-card/

https://github.com/enjoy-digital/litesdcard
https://github.com/lambdaconcept/litesdcard

cyprus ez-usb fx2

https://hackaday.io/project/19783-sd-card-emulation
fx3
428-3347-ND
https://www.cypress.com/file/136056/download


ucontrol + gige, chips $10, but dev kit $100, looks like no pre made boards
ATSAMA5D3-XPLD

+ 8
- 0
markdeep.min.js
File diff suppressed because it is too large
View File


+ 82
- 0
test.md.html View File

@@ -0,0 +1,82 @@
<meta charset="utf-8">
<meta http-equiv="refresh" content="2">

Embedded Board dev cluster
==========================

This is the description of how the cluster is architected and setup. There
are a few design decisions that are likely to be different in other
environments, but this made the most sense for mine.

Goal
----

The goal of this setup is to allow people to be able to install and test
images on various boards remotely.

### Features

- Remote power control
- serial console access
- Network boot
- Internet connectivity for boards w/ ethernet
- Isolation between board environments
Likely implemented via VLANs+jails w/ VNET to provide complete control
- Long term goals:
- Emulated microSD cards

### Architecture

The following diagrams the connections between the components. It is expected
that the connections for the RockPro64 is followed similarly for other embedded
devices.

In the case of the Switch, the RockPro64 will be put on a VLAN which will be
delivered to the Host machine tagged. This will allow a jail in the host
machine to have a direct control over the broadcast domain for the device.
This will allow running dhcp/bootp/tftp services for netbooting by running dnsmasq
or another service. As fusefs is now jail friendly, the root FS could even be
mounted via sshfs

*************************************************************************************
* *
* +---------------------------+ *
* | | *
* | Internet | *
* | | *
* +-------------+-------------+ *
* | *
* | *
* | *
* +-------------+-------------+ *
* | | *
* +--------------+ VLAN Switch +--------------+ *
* | | | | *
* | +---------------------------+ | *
* | | *
* +--------+-------+ +--------+-------+ *
* | | | | *
* | Host machine | | RockPro64 | *
* | | | | *
* +--------+-------+ +--------+---+---+ *
* | | | *
* | | | *
* +--------+-------+ | | *
* | | +------------------+ | | *
* | USB Hub +-----------+ Serial adapter +------------------+ | *
* | | +------------------+ | *
* +--------+-------+ | *
* | | *
* | +---------------------------+ | *
* | | +------------------+ *
* +--------------+ Power Controler | *
* | +----+ *
* +---------------------------+ | *
* | *
* +-------+-------+ *
* | 12V PS | *
* +---------------+ *
* *
*************************************************************************************

<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js" charset="utf-8"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js" charset="utf-8"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>

Loading…
Cancel
Save