Compute Modules === ### Install OS / headless installation #### SoQuartz (RK3566) [![soquartz-cm.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/qocUKTE93iLdKVDU-soquartz-cm.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/qocUKTE93iLdKVDU-soquartz-cm.webp) ##### Specifications ##### CPU Architecture - [Quad-core ARM Cortex-A55@1.8GHz](https://developer.arm.com/ip-products/processors/cortex-a/cortex-a55) - AArch32 for full backwards compatibility with ARMv7 - ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation - Includes VFP hardware to support single and double-precision operations - ARMv8 Cryptography Extensions - Integrated 32KB L1 instruction cache and 32KB L1 data cache per core - 512KB unified system L3 cache ##### GPU (Graphics Processing Unit) Capabilities - [Mali-G52 2EE Bifrost GPU@800MHz](https://developer.arm.com/ip-products/graphics-and-multimedia/mali-gpus/mali-g52-gpu) - 4x Multi-Sampling Anti-Aliasing (MSAA) with minimal performance drop - 128KB L2 Cache configurations - Supports OpenGL ES 1.1, 2.0, and 3.2 - Supports Vulkan 1.0 and 1.1 - Supports OpenCL 2.0 Full Profile - Supports 1600 Mpix/s fill rate when at 800MHz clock frequency - Supports 38.4 GLOP/s when at 800MHz clock frequency ##### Neural Process Unit NPU Capability - Neural network acceleration engine with processing performance of up to 0.8 TOPS - Supports integer 8 and integer 16 convolution operations - Supports the following deep learning frameworks: TensorFlow, TF-lite, Pytorch, Caffe, ONNX, MXNet, Keras, Darknet ##### System Memory - RAM Memory Variants: 2GB, 4GB, 8GB LPDDR4. - Storage Memory: optional 128Mb SPI Flash and optional eMMC module from 8GB up to 128GB ##### Network - 10/100/1000Mbps Ethernet - WiFi 802.11 b/g/n/ac with Bluetooth 5.0 ##### Setup 1. Flash the Plebian image to a SD card/ EMMC. 2. Boot. 3. ssh as "pleb/pleb" and complete setup ```bash sudo vim /etc/sudoers.d/pleb pleb ALL=(ALL:ALL) NOPASSWD: ALL ``` ``` sudo dpkg-reconfigure locales sudo timedatectl set-timezone Europe/Paris ``` ```bash sudo apt update && sudo apt install -y curl curl -O https://overviewer.org/~pillow/up/75bea78e59/devicetrees-plebian-quartz64-20230601130309-arm64.deb sudo dpkg -i devicetrees-plebian-quartz64-20230601130309-arm64.deb # sudo sysctl -w net.core.rmem_default=262144 # sudo sysctl -w net.core.rmem_max=262144 # # W: Possible missing firmware /lib/firmware/rockchip/dptx.bin for module rockchipdrm # sudo mkdir -p /lib/firmware/rockchip/ wget https://raw.githubusercontent.com/wkennington/linux-firmware/master/rockchip/dptx.bin sudo cp /home/pleb/dptx.bin /lib/firmware/rockchip/dptx.bin ``` ```bash sudo apt install -y cowsay fortune sudo vim /etc/update-motd.d/01-cowsay ``` ```bash #!/bin/bash /usr/games/fortune | /usr/games/cowsay -f tux ``` ```bash sudo chmod +x /etc/update-motd.d/01-cowsay ``` #### Networking > [Networking](networking.md) #### Sensors ```bash sudo apt install lm-sensors fancontrol read-edid i2c-tools libi2c-dev python3-smbus -y sudo sensors-detect ``` --- #### Turing RK1 (RK3588) [![turing-rk1-cm.webp](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/scaled-1680-/q91BzNH9bujT572b-turing-rk1-cm.webp)](https://bookstack.delmar.bzh/uploads/images/gallery/2024-05/q91BzNH9bujT572b-turing-rk1-cm.webp) ##### Specifications
**Instruction Set**ARMv8-A (64-bit)
**OS Support**Ubuntu Server 22.04 LTS
**CPUs**8× | 4× ARM Cortex-A76 | 4× ARM Cortex-A55 | DynamIQ
**GPU**G610 GPU Support OpenGLES 1.1, 2.0, and 3.2, OpenCL up to 2.2 and Vulkan1.2 Proprietary 2D hardware acceleration engine
**NPU**6 TOPS
**RAM**LPDDR4 up to 32 GB
**Storage**32 G eMMC 5.1, SD 3.0
**Ethernet**1000Mbps
**USB**2x USB 3.0, 2x USB 2.0
**PCIe**PCIe Gen3
**MIPI**4-Lane MIPI-DSI, 4-Lane MIPI-CSI
**Digital Audio port**2× I2S
**HDMI**HDMI 2.1, 8K@60fps
**Video input port**2× MIPI-CSI RX 4× lanes 1× MIPI-CSI DPHY RX 4× lanes
**Display output port**1× MIPI-DSI DPHY 2× lanes 1× HDMI 2.1 1× DP 1.4
**VPU**VPU 2.0, supporting 8K video
**Video Encoder**H264, 8K@30FPS VP9/H265, 8k@60FPS AV1/AVS2, 4k@60FPS
**Video Decoder**H265/H264/VP9/AV1/AVS2 up to 8K@60fps
**Power**5V/3A via USB Type-C
**Operating Temp**-20°C to 70°C
**Storage Temp**-40°C to 85°C
**Weight**17g
**Form Factor**69.6mm x 45mm 260-pin SO-DIMM connector
##### Setup [https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html](https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html) > sandy (192.168.1.14) > pleb / transatlantique ```bash sudo useradd pleb sudo groupadd sudo sudo usermod -aG sudo pleb ``` ```bash sudo hostnamectl set-hostname [hostname] sudo dpkg-reconfigure tzdata (. /etc/lsb-release && curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash) sudo apt update && sudo apt install -y git-all git-lfs curl wget screenfetch net-tools open-iscsi python3 python3-pip build-essential libssl-dev libffi-dev python3-dev wireguard ``` **PS :** [Ubuntu Pro](https://ubuntu.com/pro/tutorial) --- ### Disk(s) #### Format and mount the disks ```bash sudo fdisk -l **With disk ** sudo fdisk /dev/ (create new primary partition) sudo mkfs -t ext4 /dev/ sudo blkid -s UUID -o value /dev/ ``` #### If needed, check and repair the filesystem ```bash sudo e2fsck -fDC0 /dev/sdaX ``` #### Add mount point to fstab ```bash sudo mkdir -p /mnt/ echo "UUID=... /mnt/ ext4 defaults 0 0" | sudo tee -a /etc/fstab ``` #### bob (nvme0n1) ``` UUID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1 # NVME UUID=2423d885-a583-44d2-bd45-80d847c625b0 /mnt/data ext4 defaults 0 0 # HDD # UUID=a4e3d8f1-11cc-482b-9596-57c44b122e48 /mnt/tmp ext4 defaults 0 0 # /mnt/data/www /var/www auto defaults,nofail,nobootwait,bind 0 2 ``` #### carlo (nvme0n1) ``` UUID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1 UUID=0c85672d-0fbd-4d11-a93e-c01d1373c4c3 /mnt/docker ext4 defaults 0 0``` ``` #### gary (nvme0n1) ... ``` # UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1 UUID=7f348b05-b44e-4b85-8445-657dc95e72df /mnt/data ext4 defaults 0 0 # NFS krabs:/srv/nfs4/media /nfs/media nfs _netdev,x-systemd.automount,nofail,noatime,nolock,tcp,bg,actimeo=1800 krabs:/srv/nfs4/downloads /nfs/downloads nfs defaults ``` #### sandy (sda / nvme0n1) ... ``` # UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1 UUID=6fab06af-f38f-493a-87ab-512f52a6616c /mnt/data ext4 defaults 0 0 # NFS krabs:/srv/nfs4/cloud /nfs/cloud nfs nofail,noatime,_netdev,actimeo=1800,x-systemd.automount,bg,nolock,tcp krabs:/srv/nfs4/ebooks /nfs/ebooks nfs defaults # HDD UUID=22446d47-8d74-451e-8774-e1c8e2617b7e /mnt/hdd ext4 defaults 0 0 ``` #### sheldon (sda / sdb / nvme0n1) ... ``` # UUID=1cf633ab-4f5f-42da-b347-31282732a446 / ext4 defaults,x-systemd.growfs 0 1 # nvme UUID=a612717e-ca95-44a3-9b10-10e6be26112f /mnt/docker ext4 defaults 0 0 # LVM UUID=dbc636b9-e77b-4fb5-a192-a17c244857a2 /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2 ``` #### krabs (nfs server) ``` UUID=0c390345-ca52-45fd-9097-6e931d651a8f / ext4 defaults,x-systemd.growfs 0 1 # LVM /dev/hdds/datas /mnt/data ext4 defaults,nofail,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2 # NFS exports /mnt/data/cloud /srv/nfs4/cloud none bind,nofail 0 0 /mnt/data/media /srv/nfs4/media none bind,nofail 0 0 /mnt/data/ebooks /srv/nfs4/ebooks none bind,nofail 0 0 /mnt/data/git /srv/nfs4/git none bind,nofail 0 0 /mnt/data/photos /srv/nfs4/photos none bind,nofail 0 0 /mnt/data/media/downloads /srv/nfs4/downloads none bind,nofail 0 0 /opt/backups /srv/nfs4/backups none bind,nofail 0 0 ``` #### bernie (nvme0n1) ... ``` UID=5855d1bc-99fd-41f2-9d11-7c00a1c0ad00 / ext4 defaults,x-systemd.growfs 0 1 # SSD UUID=e8d74f7a-642a-486d-92db-d39388d1545f /mnt/docker ext4 defaults 0 0 ``` #### Check ```bash cat /etc/fstab ``` #### Mount disk... ```bash sudo mount -a sudo systemctl daemon-reload df -h /mnt/ ``` ### Hosts ```bash sudo vim /etc/hosts ``` ```conf 127.0.0.1 localhost 127.0.1.1 .local # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts # 192.168.1.11 bob 192.168.1.12 carlo 192.168.1.13 gary 192.168.1.14 sandy 192.168.1.15 krabs 192.168.1.16 sheldon 192.168.1.17 bernie # 192.168.1.18 pearl # 192.168.1.53 retropie ``` #### On remote (PC) : ```bash ssh-keygen -t ed25519 ​ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@192.168.1.xxx ​ ssh-copy-id -f -i ~/.ssh/id_ed25519.pub pleb@ ``` --- ### Documentation [https://docs.turingpi.com](https://docs.turingpi.com) ##### help.turingpi.com jme69@pm.me Ln4@iJMNn85h2Xrx [https://help.turingpi.com/hc/en-us](https://help.turingpi.com/hc/en-us "https://help.turingpi.com/hc/en-us") ##### Server World [https://www.server-world.info/en/note?os=Debian\_12&p=download&f=1](https://www.server-world.info/en/note?os=Debian_12&p=download&f=1)