Distribution Support Status¶
We endeavour to support popular Linux distributions on Ten64 boards as best as possible, however, given the newness of the hardware, interoperability issues may arise.
To provide the best possible out of box experience, we provide pre-customized and tested Images for some distributions, using our mainline kernel patch set. We may also post scripts that can 'patch' upstream images so they boot.
Generally, distributions with kernel's earlier than 5.0 will have no support for the DPAA2 network hardware.
Current status summary¶
Working on 'bare metal'¶
openSuSE Leap 15.2 and later.
SuSE Enterprise Linux / SLES certification is also planned.
Debian (with Traverse Debian Image / mainline kernel)
These can be installed quickly using the bare metal appliance store.
* Criteria for working: boots from NVMe drive and working network interfaces.
Additional board support packages are available to implement missing functions such as SFP+ control, SFP activity LEDs and sensors.
Planned support (via patch / support script)¶
These do not currently run on the Ten64 due to bootloader and/or kernel issues.
We will supply a 'patch' script that will work around the issue (for example, installing a mainline kernel package with DPAA2 drivers enabled).
You can run them inside a virtual machine in the meantime.
|Distribution||Kernel||Status||Alternatives or Workarounds||Upstream bugs/changes (if any)|
|Debian Buster||4.19||No PCIe, no network. Needs IOMMU backport||Traverse Debian Image||Pending Debian bug #948576 for future Debian releases/testing/unstable|
|Debian Bullseye (testing)||5.8||As of 2020-10-07, no PCIe, but boots from a USB drive with working network support (IOMMU bypass argument needed)||Edit GRUB configuration before first boot||Debian bug #971777 for PCIe controller|
|Ubuntu 20.04 (Focal Fossa)||5.4||Cloudimage boots from NVMe but no network. DPAA2 drivers not enabled. Default grubenv will cause reboot on first run||Install our kernel inside chroot before booting. See note below about serial console|
|Fedora 31||5.3||Boots, but need to manipulate image first (replace default EFI loader with grub). Has DPAA2 drivers but ethX cannot transmit||Replace default BOOTAA64.EFI with GRUB, add arm-smmu.disable_bypass=n to command line, blacklist ptp_qoriq and regenerate dracut|
General compatibility notes:¶
Kernel 5.1 and later - IOMMU bypass / fault on boot¶
Kernel 5.1 disabled IOMMU bypass on ARM64, but the DPAA2 drivers currently do not function without it.
arm-smmu.disable_bypass=n to the kernel command line.
Our images are configured to add this to the command line by default.
- See this NXP community post for more information and current status of upstream fixes.
Some distributions have a shim EFI loader (such as Red Hat's shim) that requires more advanced UEFI functions than currently implemented by U-Boot's EFI subsystem.
Workaround: Move the GRUB EFI binary into it's place.
For example, on Fedora 31:
mv /boot/efi/fedora/grubaa64.efi /boot/efi/EFI/bootaa64.efi
Issues with the shim loader should go away once UEFI Secure Boot and variable storage is implemented in U-Boot - see our roadmap for details.
Some distributions specify 'quiet' mode or have a splash screen, which tends to work poorly with serial consoles. If there is a kernel panic on boot, you may not be able to see it before the kernel triggers a reboot.
Recommendation: Replace any 'quiet' and/or 'splash' arguments on the kernel command line with:
Usually, there is no need to specify console=ttyS0 etc. as the device tree has been set up to link this automatically (via linux,stdout-path). However, note that the LS1088A has a conventional PC-style 16550 UART rather than the ARM PrimeCell UART (ttyAMA0) found on most ARM boards - you can safely remove any 'console=' references on the kernel command line.
For non-systemd distributions, you may need to set ttyS0 as the console in
USB3/DWC splat on probe.¶
You may see an error similar to this:
[ 7.514992] dwc3 3100000.usb3: Failed to get clk 'ref': -2 [ 7.522173] dwc3 3110000.usb3: Failed to get clk 'ref': -2
This is harmless, the USB3 ports will still work.