Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Download a pre-built snapshot image from https://images.solid-run.com/LX2k/lx2160a_build

Those images are built with the suffix of the commit ID of the https://github.com/SolidRun/lx2160a_build  project that you can clone and build by yourself.

Info

Please note

The prebuilt images are configured for SO-DIMM DDR4 with speed of 3200, 2900, 2600 and 2400 Mtps (with or without ECC support),. Images that have the prefix lx2160a_xspi are intended to be flashed into SPI and recommended for later use after being booted from micro SD

You can build your own image using the script in here – https://github.com/SolidRun/lx2160a_build

Plug a micro SD into your Linux PC, the following assumes that the micro SD is added as /dev/sdX and all it’s partitions are unmounted.

Code Block
unxz lx2160acex7_2000_700_....img.xz
sudo dd if=lx2160acex7_2000_700_...img of=/dev/sdX

Booting the micro SD and flashing to either eMMC, NVME M.2 or SATA drive

...

Code Block
load mmc 0:1 0xa4000000 ubuntu-core.imgnvme scannvmeimg
mmc dev 1
mmc write 0xa4000000 0 0xd2000

...

Code Block
load mmc 0:1 0xa4000000 ubuntu-core.imgscsi resetscsiimg
nvme scan
nvme write 0xa4000000 0 0xd2000

...

  1. Make sure that the kernel is booted with the following variables in the command line –

    Code Block
    languagebash
    default_hugepagesz=1024m hugepagesz=1024m hugepages=2 isolcpus=1-15 iommu.passthrough=1

    If using the above installation of Ubuntu then the /extlinux/extlinux.conf file should look as follows (the default installation with the addition of isolcpus=1-15 iommu.passthrough=1) –

    Code Block
      TIMEOUT 30
      DEFAULT linux
      MENU TITLE linux-lx2160a boot options
      LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
        FDT /boot/fsl-lx2160a-cex7.dtb
        APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 isolcpus=1-15 iommu.passthrough=1 pci=pcie_bus_perf root=PARTUUID=30303030-01 rw rootwait
  2. From build/dpdk directory under the lx2160a_build project, search for dynamic_dpl.sh and testpmd files and copy them over to the LX2160A Ubuntu root filesystem

  3. Run the following that will generate 10Gbps traffic on dpmac.10 using only a single core. Can be used to generate traffic on dpmac.1 and other interfaces –

Code Block
dynamic_dpl.sh dpmac.10export10
export DPRC=dprc.2testpmd2
testpmd -c 0x3 -n 1 -- --txd=1500 --txpkts=1500 --tx-first --auto-start --forward-mode=txonly --stats-period=10

...

Code Block
dynamic_dpl.sh dpmac.10export10
export DPRC=dprc.2<span2
<span style="font-size: 11.2px;">testpmd -c 0x3 -n 1 -- --txd=1500 -iseti
set fwd txonlysettxonly
set txpkts 1500
1500showshow port info 0
0showshow config txpkts
start
txpktsstart<</span>

GPUs

GPUs that were briefly tested –

...

Code Block
 apt install btrfs-progs
 mkfs.btrfs /dev/nvme0n1p1
 mount /dev/nvme0n1p1 /mnt
 cd /mnt#mnt
# change 20200609 with what's available here http://distfiles.gentoo.org/experimental/arm64/
 wget http://distfiles.gentoo.org/experimental/arm64/stage3-arm64-20200609.tar.bz2
 mount --rbind /dev dev
 mount --make-rslave dev
 mount -t proc /proc proc
 mount --rbind /sys sys
 mount --make-rslave sys
 mount --rbind /tmp tmp
 cp /etc/resolv.conf etc
 chroot . /bin/bash
 env-update && . /etc/profile
 emerge-webrsync
 emerge superadduser openssh vim#vim
# Set the root password
 passwd 
# enable root login
 vim /etc/ssh/sshd_config 
# or create your user
 superadduser your_user
 ln -s /etc/init.d/net.{lo,eth0}
 rc-update add sshd default
 reboot

Info

Please note

  • If you need to install the Gentoo to the SATA change the /dev/nvme0n1p1 to /dev/sdx.

  • In the same way, can install Debian or another Linux arm64 distribution.

Info

Please note

  • The default bootcmd probes every device and looks for a /extlinux/extlinux.conf

  • The kernel command line uses the PARTUUID to boot the right drive
    can editing the root in the extlinux.conf to use directly root=/dev/nvme0n1p1 or  root=/dev/sdx .