Highly Anticipated and/or Frequently Asked Questions¶
Common issues¶
-
Shortly after the kernel loads, the console turns to garbage (also PCI Express devices fail to enumerate)
This occurs when the device tree passed to the kernel has not been 'fixed up' by U-Boot. On the LS1088 the fixup process sets up clocks, IOMMU and PCIe streams and other runtime properties. These are dependent on what peripherals are installed, so cannot be statically set in the device tree.
In our U-Boot configuration this is performed by the
setup_distroboot_efi
command before the main boot sequence:setup_distroboot_efi=sf read 0x80001000 0x580000 0x40000 && fsl_mc lazyapply dpl 0x80001000; sf read $fdt_addr_r 0x600000 0x40000 && fdt addr $fdt_addr_r && fdt resize 10000 && fdt rm /soc/spi && fdt boardsetup bootcmd=run setup_distroboot_efi; run distro_bootcmd
Due to issues with stream ID's not being set correctly on successive fixup invocations, the fixup handler for the Ten64 board will only apply fixups once (e.g when 'fdt boardsetup' is called).
If the device tree passed to the kernel is not the same as the fixed copy, the same situation will arise.
-
When booting something using Kernel 5.1 or later the boot fails with IOMMU fault messages
Add the
arm-smmu.disable_bypass=n
parameter to the kernel command line. This is a temporary fix and hopefully the need to do this will disappear in the near future.See the Distributions and Kernel page for more information.
Boot¶
-
How do I change the default boot order in U-Boot (booting from USB or SD instead of NVMe etc.)
Change the
boot_targets
environment variable in U-Boot:=> print boot_targets boot_targets=nvme0 mmc0 usb0 scsi0 dhcp
=> setenv boot_targets 'usb0 nvme0 mmc0 scsi0 dhcp' => saveenv Saving Environment to SPI Flash... Erasing SPI flash...Writing to SPI flash...done OK
Software¶
-
Does FreeBSD (and related distributions, pfsense, FreeNAS etc) run on the Ten64?
Not natively, unfortunately. FreeBSD does not have any of the drivers for NXP's DPAA2, and we estimate this will take a significant amount of work to implement. On the plus side, NXP has dual-licensed their driver code with the BSD license so any effort won't need to start from scratch. We (Traverse) would certainly like to see FreeBSD running on NXP DPAA2 platforms and would consider funding such an effort.
FreeBSD 12 and later do work as an ARM Virtual Machine so there is a path to run FreeBSD if you need to.
Update FreeBSD 13 snapshots will boot on the Ten64, but only from a USB drive. There is no support for the Layerscape PCIe controller and DPAA2 networking at this time.
See boot log/dmesg.
-
Are there any 'binary blobs' needed for hardware on the Ten64?
Yes, the DPAA2 hardware (Ethernet ports and some crypto acceleration functions) require the "management complex" firmware to be loaded. This runs on a microcontroller code inside the LS1088 - not the Cortex-A53's.
The management complex firmware is loaded by U-Boot, just before hitting the command prompt (or default
bootcmd
). We do NOT expect distributions to ship this as part of their firmware repository.
Power and Mechanical¶
-
What is the typical power consumption for a Ten64 unit?
Typical consumption (measured with a lab power supply) is between 14-18W with RAM and SSD installed.
RAM modules with many chips (16,32GB), wireless modules/modems and USB devices can increase the power draw, but we haven't seen more than 30W drawn in practice.
Traverse typically bundles a 50-60W power supply - the increased wattage is to ensure longevity and reliability of the power supply.
-
Can Ten64 be rack mounted?
Ten64 has been designed with rackmounting in mind. The enclosure is exactly 1U high, but a conversion kit has not been manufactured yet.
Please contact us for more details.
-
What are the DC power supply requirements?
Ten64 uses a 12V DC external power supply unit, with 2.5mm barrel, center-positive.
For electrical safety, you must use a three-prong power supply where the Earth pin is connected to GND.