Toulouse is a nickname for a Jetway PC that Fuchsia developers use as a platform for writing networking software. It has multiple ethernet ports and mini-PCIe ports for adding wireless network adapters.

Toulouse Setup & Configuration

You will need:

  • Toulouse hardware
  • Power supply (included with Toulouse)
  • Ethernet cable(s)
  • USB stick to get started
  • At least one of:
    • Serial cable (e.g., StarTech USB null modem cable)
    • HDMI + USB keyboard

Tested Wifi/Bluetooth adapters include:

  • QCA6174A
  • QCA9880

In your fx set commandline, add the following arguments:

  • --board "garnet/boards/toulouse.gni"
  • --product "garnet/products/toulouse.gni"
  • [optional] --args "always_zedboot=true"

The last option will always boot to zedboot instead of booting off the paved image. You have to press ‘m’ before the timeout if you want to boot from disk, or re-pave without ‘always_zedboot=true’. One possible workaround is to use ‘always_zedboot=true’ when preparing the USB stick, and leaving the USB stick in when you want to netboot. Without the USB stick it will run off disk.

By default the device boots from the internal storage first, and you cannot set USB drives as a generic default.

Prepare a USB drive, using fx mkzedboot (see the docs for details, and see above for how to make a USB stick that can netboot).

Insert the USB drive before powering on the device. Note: if the drive isn’t recognized, try using the other USB port. Some ports are flaky.

On boot, press Esc or Del to enter the BIOS. This works over serial as well once the serial console is enabled (see below).

In the “Boot” section, find the entry for USB UEFI and use the ‘+’ key to move it to the top of the list. Press F4 to save and reset.

To use the serial port on Debian/Ubuntu Linux, you may need to remove the ‘brltty’ program that wants to take over every serial port: sudo apt-get remove brltty. You will need to unplug/replug your serial cable after this to get it to work.

Serial consoles

Enabling serial for the BIOS

In the “Advanced” section, open the “Serial Port Console Redirection” settings. Enable “Console Redirection” and ensure the “Console Redirection Settings” look similar to the following. (You may tune these to taste, if you know what you're doing.)

  • Terminal Type: VT-UTF8
  • Bits per second: 115200
  • Data Bits: 8
  • Parity: None
  • Stop Bits: 1
  • Flow Control: Off

The other settings may be left at their default values.

Example Linux serial consoles (assumes a serial device at /dev/ttyUSB0)

  • screen /dev/ttyUSB0 115200
  • picocom -b 115200 /dev/ttyUSB0
  • /dev/ttyUSB0 115200
  • minicom -o -t vt100 -b 115200 -D /dev/ttyUSB0 (Supports control chars. Use Ctrl+a q to quit)

Serial console on MacOS

Serial console will be at /dev/tty.usbserial-XXXXXXXX (eg. /dev/tty.usbserial-AO003IN2). screen is available by default. picocom and minicom can be installed through homebrew.