### Example Clock Routing and Setup Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/reference.adoc Demonstrates how to configure clock routing, VCO frequencies, channel division, and clock source/frequency setups. Use this to set specific clock parameters for hardware components. ```kotlin clock_routing { vco@PLLA { freq = <1966080000>; }; chan@APER { div = <4>; }; clock@GPCLK0 { pll = "PLLA"; chan = "APER"; }; }; clock_setup { clock@PWM { freq = <2400000>; }; clock@GPCLK0 { freq = <12288000>; }; clock@GPCLK1 { freq = <25000000>; }; }; ``` -------------------------------- ### Multi-Camera Setup Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera_software.adoc Example for configuring and using multiple cameras simultaneously. Ensure all cameras are connected and recognized. ```bash rpicam-apps --list-cameras ``` -------------------------------- ### Install and Start Docker Service Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/ai/getting-started.adoc Installs the Docker engine components and starts the systemd service. ```console $ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin $ sudo systemctl start docker ``` -------------------------------- ### Install and Enable Dnsmasq and Start Tcpdump Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-raspberry-pi.adoc Install necessary packages for DHCP and DNS services, enable dnsmasq, and start tcpdump to monitor DHCP/BOOTP traffic on the eth0 interface. ```console $ sudo apt install tcpdump dnsmasq $ sudo systemctl enable dnsmasq $ sudo tcpdump -i eth0 port bootpc ``` -------------------------------- ### Install and start tftpd-hpa TFTP server Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-ipv6.adoc Installs and starts the tftpd-hpa TFTP server, which can be used for network booting. Ensure the server is running before proceeding. ```bash sudo apt install tftpd-hpa $ sudo systemctl start tftpd-hpa ``` -------------------------------- ### Install libcamera Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Install the compiled libcamera binary on the system. ```bash $ sudo ninja -C build install ``` -------------------------------- ### Install rpi-splash-screen-support Package Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/boot-behaviour.adoc Installs the necessary package for simplifying splash screen setup. Run this command in your terminal. ```console $ sudo apt install rpi-splash-screen-support ``` -------------------------------- ### Test Docker Installation Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/ai/getting-started.adoc Runs the hello-world container to verify that the Docker installation is functional. ```console $ docker run hello-world ``` -------------------------------- ### Verify HTTPS Boot Output Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/raspberry-pi/boot-http.adoc Example log output showing successful HTTPS GET requests during the network boot process. ```text Loading boot.img ... HTTP: GET request for https://yourserver.org:443/path/to/files/boot.sig HTTP: GET request for https://yourserver.org:443/path/to/files/boot.img ``` -------------------------------- ### Install rpicam-apps Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Install the compiled rpicam-apps binaries using the meson install command with sudo privileges. ```bash $ sudo meson install -C build ``` -------------------------------- ### Basic Camera Usage Example Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera_software.adoc A simple example demonstrating basic camera functionality. Ensure the camera is connected and enabled. ```bash rpicam-hello ``` -------------------------------- ### Install ffmpeg Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_still.adoc Install the `ffmpeg` package using `apt` to enable video creation from images. ```console $ sudo apt install ffmpeg ``` -------------------------------- ### Install Packaging Tools Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/ai-camera/model-conversion.adoc Installs the necessary tools for creating RPK files on a Raspberry Pi. ```console $ sudo apt install imx500-tools ``` -------------------------------- ### Install NFS Client Packages Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/nfs.adoc Install the necessary client-side utilities for NFS. ```console $ sudo apt install nfs-common ``` -------------------------------- ### Install libepoxy binary Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Execute this command after the build process to install the binary to the system. ```console $ sudo ninja install ``` -------------------------------- ### Upgrade Installed Packages with APT Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/os/updating.adoc Download and install the latest versions of all installed packages, including kernel and firmware. Use 'full-upgrade' for more robust dependency handling. ```bash $ sudo apt full-upgrade ``` -------------------------------- ### Start Source Camera Recording Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/camera/synchronous_cameras.adoc After starting the sink camera, run this command to start the source camera recording. Ensure `--frames` is set to match the sink or one less for GS cameras. ```bash $ rpicam-vid --frames 300 --qt-preview -o source.h264 ``` -------------------------------- ### Install and configure Fail2ban Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/securing-the-raspberry-pi.adoc Commands to install Fail2ban and prepare the local configuration file. ```console $ sudo apt install fail2ban ``` ```console $ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local ``` ```console $ sudo nano /etc/fail2ban/jail.local ``` -------------------------------- ### Install and Clone Codec Scripts Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/audio/configuration.adoc Commands to install git and download the preconfigured ALSA state scripts. ```console $ git clone https://github.com/raspberrypi/Pi-Codec.git ``` ```console $ sudo apt install git ``` -------------------------------- ### Install Pico C SDK Build Dependencies Source: https://github.com/raspberrypi/documentation/blob/master/CONTRIBUTING.md Install system packages required to build the Doxygen documentation. ```console $ sudo apt install -y cmake gcc-arm-none-eabi doxygen graphviz ``` -------------------------------- ### Build and Serve Documentation Source: https://github.com/raspberrypi/documentation/blob/master/CONTRIBUTING.md Build the documentation site and start a local preview server. ```console $ make serve_html ``` -------------------------------- ### Configure Application via File Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_options_common.adoc Example configuration file content and the command to execute it. ```text timeout=99000 verbose= ``` ```console $ rpicam-hello --config example_configuration.txt ``` -------------------------------- ### Install rpicam-apps dependencies (Qt preview) Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Install additional dependencies required for rpicam-apps to use the Qt preview window. ```bash $ sudo apt install -y qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 ``` -------------------------------- ### Streaming Example Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera_software.adoc Sets up a video stream from the camera. Configure network settings for remote access. ```bash rpicam-apps --stream ``` -------------------------------- ### Device Tree Overlay Diff Example Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/reference.adoc Example diff output showing changes after applying an overlay and parameter. ```diff --- /dev/fd/63 2016-05-16 14:48:26.396024813 +0100 +++ /dev/fd/62 2016-05-16 14:48:26.396024813 +0100 @@ -594,7 +594,7 @@ }; sdhost@7e202000 { - brcm,overclock-50 = <0x0>; + brcm,overclock-50 = <0x3e>; brcm,pio-limit = <0x1>; bus-width = <0x4>; clocks = <0x8>; ``` -------------------------------- ### Install 64-bit Kernel Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Backs up the current kernel and installs the new 64-bit kernel image and Device Tree blobs. ```console $ sudo cp /boot/firmware/$KERNEL.img /boot/firmware/$KERNEL-backup.img $ sudo cp arch/arm64/boot/Image.gz /boot/firmware/$KERNEL.img $ sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/ $ sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/ $ sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/ ``` -------------------------------- ### Install a package Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/os/updating.adoc Installs a specified package. You will be prompted to confirm disk space usage. Add '-y' to automatically confirm. ```console $ sudo apt install ``` ```console $ sudo apt install -y ``` -------------------------------- ### Example config.txt File Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/config_txt/what_is_config_txt.adoc This example demonstrates common settings in a config.txt file, including enabling audio, camera detection, display detection, and the DRM VC4 V3D driver. ```ini # Enable audio (loads snd_bcm2835) dtparam=audio=on # Automatically load overlays for detected cameras camera_auto_detect=1 # Automatically load overlays for detected DSI displays display_auto_detect=1 # Enable DRM VC4 V3D driver dtoverlay=vc4-kms-v3d ``` -------------------------------- ### Install OpenCV and Munkres Dependencies Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/ai-camera/getting-started.adoc Install the necessary Python libraries for OpenCV and Munkres, which are often used in image processing examples. ```console $ sudo apt install python3-opencv python3-munkres ``` -------------------------------- ### Control Passive Motor Speed in C# Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/build-hat/net-motors.adoc This example demonstrates starting a passive motor, incrementing its speed over time, stopping it, and then running it forward and backward. Ensure the motor is started before adjusting speed. ```csharp Console.WriteLine("This will run the motor for 20 seconds incrementing the PWM"); train.SetPowerLimit(1.0); train.Start(); for (int i = 0; i < 100; i++) { train.SetSpeed(i); Thread.Sleep(250); } Console.WriteLine("Stop the train for 2 seconds"); train.Stop(); Thread.Sleep(2000); Console.WriteLine("Full speed backward for 2 seconds"); train.Start(-100); Thread.Sleep(2000); Console.WriteLine("Full speed forward for 2 seconds"); train.Start(100); Thread.Sleep(2000); Console.WriteLine("Stop the train"); train.Stop(); ``` -------------------------------- ### Initial autoboot.txt configuration Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/config_txt/autoboot.adoc Example configuration for setting up A/B booting with tryboot_a_b enabled. ```ini [all] tryboot_a_b=1 boot_partition=2 [tryboot] boot_partition=3 ``` -------------------------------- ### Initialize TFTP directory and service Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-raspberry-pi.adoc Commands to create the TFTP directory and enable the dnsmasq service. ```console $ sudo mkdir /tftpboot $ sudo chmod 777 /tftpboot $ sudo systemctl enable dnsmasq.service $ sudo systemctl restart dnsmasq.service ``` -------------------------------- ### DMA Channel Transfer Setup Source: https://github.com/raspberrypi/documentation/blob/master/scripts/tests/fixtures/expected_adoc.adoc Sets the DMA initial write address for a transfer. The transfer can be triggered to start immediately. ```APIDOC ## POST /dma/channel/write_addr ### Description Sets the DMA initial write address for a transfer. ### Method POST ### Endpoint /dma/channel/write_addr ### Parameters #### Request Body - **channel** (uint) - Required - DMA channel - **write_addr** (void*) - Required - Initial write address of transfer - **trigger** (bool) - Required - True to start the transfer immediately ### Request Example ```json { "channel": 0, "write_addr": "0x10000000", "trigger": true } ``` ### Response #### Success Response (200) - **status** (string) - Indicates success or failure of the operation. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### Configure User Credentials Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/getting-started/setting-up.adoc Create a 'userconf.txt' file on the boot partition with a single line containing your username and an encrypted password for initial setup. ```bash echo ":" > userconf.txt ``` -------------------------------- ### TVHeadend Scan Results Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/tv-hat/about-tv-hat.adoc Example output from the TVHeadend setup wizard after scanning for TV muxes and services. This indicates the number of multiplexes and individual channels found. ```console Found muxes: 8 Found services: 172 ``` -------------------------------- ### Build and Upload Hello Serial Example Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/microcontrollers/debug-probe/uart-connection.adoc Builds the 'hello_serial' example and uploads it to the Raspberry Pi Pico using openocd. This process involves setting up the build environment, compiling the code, and then flashing it to the device. ```console $ cd pico-examples $ mkdir build $ cd build $ export PICO_SDK_PATH=../../pico-sdk $ cmake .. $ cd hello_world/serial $ make -j4 $ sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "adapter speed 5000" -c "program hello_serial.elf verify reset exit" ``` -------------------------------- ### Raspberry Pi Boot Log with IPv6 Activity Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-ipv6.adoc Example boot log showing IPv6 network activity, indicated by lines starting with 'RX6'. This log helps in debugging network boot issues. ```text Boot mode: NETWORK (02) order f GENET: RESET_PHY PHY ID 600d 84a2 NET_BOOT: e4:5f:01:20:24:0b wait for link TFTP6: (null) LINK STATUS: speed: 100 full duplex Link ready GENET START: 64 16 32 GENET: UMAC_START 0xe45f0120 0x240b0000 RX6: 12 IP: 1 MAC: 1 ICMP: 1/1 UDP: 0/0 ICMP_CSUM_ERR: 0 UDP_CSUM_ERR: 0 NET fd49:869:6f93::1000 tftp fd49:869:6f93::1 RX6: 17 IP: 4 MAC: 4 ICMP: 2/2 UDP: 2/2 ICMP_CSUM_ERR: 0 UDP_CSUM_ERR: 0 TFTP_GET: dc:a6:32:6f:73:f4 fd49:869:6f93::1 ab5a4158/start4.elf RX6: 17 IP: 4 MAC: 4 ICMP: 2/2 UDP: 2/2 ICMP_CSUM_ERR: 0 UDP_CSUM_ERR: 0 RX6: 18 IP: 5 MAC: 5 ICMP: 2/2 UDP: 3/3 ICMP_CSUM_ERR: 0 UDP_CSUM_ERR: 0 TFTP_GET: dc:a6:32:6f:73:f4 fd49:869:6f93::1 ab5a4158/config.txt ``` -------------------------------- ### Install 64-bit Kernel and Overlays Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Backup existing kernel and copy the new 64-bit kernel image and device tree files. ```console $ sudo cp mnt/boot/$KERNEL.img mnt/boot/$KERNEL-backup.img $ sudo cp arch/arm64/boot/Image mnt/boot/$KERNEL.img $ sudo cp arch/arm64/boot/dts/broadcom/*.dtb mnt/boot/ $ sudo cp arch/arm64/boot/dts/overlays/*.dtb* mnt/boot/overlays/ $ sudo cp arch/arm64/boot/dts/overlays/README mnt/boot/overlays/ $ sudo umount mnt/boot $ sudo umount mnt/root ``` -------------------------------- ### Install UFW Firewall Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/securing-the-raspberry-pi.adoc Installs the Uncomplicated Firewall (UFW). After installation, UFW is inactive until explicitly enabled. ```bash sudo apt install ufw ``` -------------------------------- ### Set up NFS client root filesystem Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-raspberry-pi.adoc Create a directory for the client's root filesystem, install `rsync`, and then copy the server's root filesystem to the designated directory. Exclude the `/nfs` directory from the copy to prevent infinite recursion. ```bash $ sudo mkdir -p /nfs/client1 $ sudo apt install rsync $ sudo rsync -xa --progress --exclude /nfs / /nfs/client1 ``` -------------------------------- ### Download and Run Pico SDK Setup Script Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/microcontrollers/c_sdk/sdk_setup.adoc Use these commands to download, make executable, and run the pico_setup.sh script on 32-bit Raspberry Pi OS or Raspberry Pi OS Lite. ```bash wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh chmod +x pico_setup.sh ./pico_setup.sh ``` -------------------------------- ### Download EEPROM Settings and Build Binary Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/sense-hat/software.adoc Download the EEPROM settings and build the `.eep` binary using `eepmake`. Ensure you have the necessary files and tools. ```bash $ wget https://github.com/raspberrypi/rpi-sense/raw/master/eeprom/eeprom_settings.txt -O sense_eeprom.txt $ ./eepmake sense_eeprom.txt sense.eep /boot/firmware/overlays/rpi-sense-overlay.dtb ``` -------------------------------- ### Install Raspberry Pi Audio Utilities Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/audio/update-firmware.adoc Installs the necessary tools for flashing the EEPROM firmware. Ensure your system is up-to-date before installation. ```bash $ sudo apt update $ sudo apt install rpi-audio-utils $ sudo rpi-audio-flash ``` -------------------------------- ### Example Video Recording Command Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_options_vid.adoc This command demonstrates setting the bitrate, width, height, and output file for a video recording. ```bash rpicam-vid -b 10000000 --width 1920 --height 1080 -o test.h264 ``` -------------------------------- ### Open cmdline.txt for Editing Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/boot-behaviour.adoc Opens the '/boot/firmware/cmdline.txt' file in the nano text editor with administrator privileges. This file contains kernel boot parameters. ```console $ sudo nano /boot/firmware/cmdline.txt ``` -------------------------------- ### DMA Channel Start Source: https://github.com/raspberrypi/documentation/blob/master/scripts/tests/fixtures/expected_adoc.adoc Starts a specified DMA channel. ```APIDOC ## POST /dma/channel/start ### Description Starts a single DMA channel. ### Method POST ### Endpoint /dma/channel/start ### Parameters #### Request Body - **channel** (uint) - Required - DMA channel to start ### Request Example ```json { "channel": 0 } ``` ### Response #### Success Response (200) - **status** (string) - Indicates success or failure of the operation. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### Example cmdline.txt Entry for Fullscreen Splash Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/boot-behaviour.adoc An example of how to configure kernel parameters in 'cmdline.txt' to enable a fullscreen splash image and disable the flashing cursor. ```text fullscreen_logo_name=logo.tga fullscreen_logo=1 vt.global_cursor_default=0 ``` -------------------------------- ### Pip Install Error: Externally Managed Environment Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/os/using-python.adoc Illustrates the error message received when attempting to install Python packages system-wide using pip on Raspberry Pi OS Bookworm or later. It advises using apt for system-wide installations or creating a virtual environment for pip installations. ```console $ pip install buildhat error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. For more information visit http://rptl.io/venv note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. ``` -------------------------------- ### Create a Hello World source file Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/microcontrollers/c_sdk/quick_start.adoc A minimal C program that initializes the default UART and prints a message. ```c #include #include "pico/stdlib.h" int main() { setup_default_uart(); printf("Hello, world!\n"); return 0; } ``` -------------------------------- ### Install fswebcam dependencies Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/webcams.adoc Install the necessary package to interface with USB webcams. ```console $ sudo apt install fswebcam ``` -------------------------------- ### Install 32-bit Kernel and Overlays Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Backup existing kernel and copy the new 32-bit kernel image and device tree files. ```console $ sudo cp mnt/boot/$KERNEL.img mnt/boot/$KERNEL-backup.img $ sudo cp arch/arm/boot/zImage mnt/boot/$KERNEL.img ``` ```console $ sudo cp arch/arm/boot/dts/*.dtb mnt/boot/ ``` ```console $ sudo cp arch/arm/boot/dts/broadcom/*.dtb mnt/boot/ ``` ```console $ sudo cp arch/arm/boot/dts/overlays/*.dtb* mnt/boot/overlays/ $ sudo cp arch/arm/boot/dts/overlays/README mnt/boot/overlays/ $ sudo umount mnt/boot $ sudo umount mnt/root ``` -------------------------------- ### Install Ruby Dependencies Source: https://github.com/raspberrypi/documentation/blob/master/CONTRIBUTING.md Install the required Ruby gems defined in the project. ```console $ bundle install ``` -------------------------------- ### Install Ruby Bundler Source: https://github.com/raspberrypi/documentation/blob/master/CONTRIBUTING.md Install the Bundler gem to manage Ruby dependencies. ```console $ gem install bundler ``` -------------------------------- ### Building Camera Applications Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera_software.adoc Instructions and commands for building camera applications from source. ```bash make ``` -------------------------------- ### Install Kernel Headers for 32-bit Raspberry Pi OS Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/headers.adoc Use this command to install kernel headers on a 32-bit system. Installation may take several minutes without a progress indicator. ```bash $ sudo apt install linux-headers-rpi-{v6,v7,v7l} ``` -------------------------------- ### Install Kernel Headers for 64-bit Raspberry Pi OS Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/headers.adoc Use this command to install kernel headers on a 64-bit system. Installation may take several minutes without a progress indicator. ```bash $ sudo apt install linux-headers-rpi-v8 ``` -------------------------------- ### Install NFS Server Packages Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/nfs.adoc Install the required packages for running an NFS server. ```console $ sudo apt install rpcbind nfs-kernel-server ``` -------------------------------- ### Example rc.local File Structure Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/audio/configuration.adoc The standard structure of the rc.local file where startup commands are placed. ```bash #!/bin/sh # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # ``` -------------------------------- ### Install Cross-Compilation Dependencies Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Installs necessary build tools and libraries for cross-compiling the kernel. ```console $ sudo apt install bc bison flex libssl-dev make libc6-dev libncurses5-dev ``` ```console $ sudo apt install crossbuild-essential-arm64 ``` ```console $ sudo apt install crossbuild-essential-armhf ``` -------------------------------- ### Install Kernel Modules Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Installs compiled kernel modules onto the boot media. ```console $ sudo make -j6 modules_install ``` -------------------------------- ### Example: Record Video with libav and Custom Audio Settings Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_options_libav.adoc This example demonstrates recording video using the libav codec, saving it as an MP4 file, and specifying the MP2 audio codec with a bitrate of 16384 bits per second. ```bash rpicam-vid --codec libav -o test.mp4 --audio_codec mp2 --audio-bitrate 16384 ``` -------------------------------- ### Install .NET Framework via Script Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/build-hat/net-installing-software.adoc Executes a third-party installation script to set up the .NET toolchain. Requires root privileges. ```console $ wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet5pi/master/install.sh | sudo bash ``` -------------------------------- ### Start Sink Camera Recording Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/accessories/camera/synchronous_cameras.adoc Set the `LIBCAMERA_RPI_CONFIG_FILE` environment variable and then start the sink camera recording using `rpicam-vid`. Run the sink first to avoid missed frames. ```bash $ export LIBCAMERA_RPI_CONFIG_FILE=timeout.yaml $ rpicam-vid --frames 300 --qt-preview -o sink.h264 ``` -------------------------------- ### Mount Boot Media Partitions Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/building.adoc Prepare the SD card or SSD partitions for kernel and module installation. ```console $ mkdir mnt $ mkdir mnt/boot $ mkdir mnt/root $ sudo mount /dev/sdb1 mnt/boot $ sudo mount /dev/sdb2 mnt/root ``` -------------------------------- ### Install rpicam-apps dependencies (libav support) Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Install dependencies for rpicam-vid to support libav. ```bash $ sudo apt install libavcodec-dev libavdevice-dev libavformat-dev libswresample-dev ``` -------------------------------- ### Create Network Configuration File Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/remote-access/network-boot-raspberry-pi.adoc Create the .network file to specify static IP address, DNS server, and gateway. Ensure the Address and DNS values match your network setup. ```console $ sudo nano /etc/systemd/network/11-eth0.network ``` ```ini [Match] Name=eth0 [Network] Address=10.42.0.211/24 DNS=10.42.0.1 [Route] Gateway=10.42.0.1 ``` -------------------------------- ### Install Hailo Tooling Version 4.17 Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/ai/getting-started.adoc Install version 4.17 of Hailo's neural network tooling. After installation, hold the packages to prevent automatic updates. Note that python3-hailort is not explicitly mentioned for this version. ```bash sudo apt install hailo-tappas-core=3.28.2 hailort=4.17.0 hailo-dkms=4.17.0-1 ``` ```bash sudo apt-mark hold hailo-tappas-core hailort hailo-dkms ``` -------------------------------- ### Run rpicam-hello preview Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_hello.adoc Starts the camera preview window. Use Ctrl+C or the window close button to terminate. ```console $ rpicam-hello ``` -------------------------------- ### Install Hailo Tooling Version 4.18 Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/ai/getting-started.adoc Install version 4.18 of Hailo's neural network tooling. After installation, hold the packages to prevent automatic updates. Note that python3-hailort is not explicitly mentioned for this version. ```bash sudo apt install hailo-tappas-core=3.29.1 hailort=4.18.0 hailo-dkms=4.18.0-2 ``` ```bash sudo apt-mark hold hailo-tappas-core hailort hailo-dkms ``` -------------------------------- ### View bootloader status Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/configuration/firmware.adoc Example output showing current and latest bootloader versions. ```text *** UPDATE AVAILABLE *** BOOTLOADER: update available CURRENT: Thu 18 Jan 13:59:23 UTC 2024 (1705586363) LATEST: Mon 22 Jan 10:41:21 UTC 2024 (1705920081) RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2711/latest) Use raspi-config to change the release. VL805_FW: Using bootloader EEPROM VL805: up to date CURRENT: 000138c0 LATEST: 000138c0 ``` -------------------------------- ### Launch menuconfig utility Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/linux_kernel/configuring.adoc Commands to start the kernel configuration interface for different architectures. ```console $ make menuconfig ``` ```console $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig ``` ```console $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig ``` -------------------------------- ### Install Hailo Tooling Version 4.19 Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/ai/getting-started.adoc Install version 4.19 of Hailo's neural network tooling, including core components and Python bindings. After installation, hold the packages to prevent automatic updates. ```bash sudo apt install hailo-tappas-core=3.30.0-1 hailort=4.19.0-3 hailo-dkms=4.19.0-1 python3-hailort=4.19.0-2 ``` ```bash sudo apt-mark hold hailo-tappas-core hailort hailo-dkms python3-hailort ``` -------------------------------- ### Display Help for Keyboard Configuration Tool Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/keyboard-computers/intro.adoc Lists all available commands for the rpi-keyboard-config tool along with brief descriptions. ```bash rpi-keyboard-config help ``` -------------------------------- ### Install devscripts helper package Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/software-sources.adoc Install the devscripts package, which is a helper for building Debian packages. ```console $ sudo apt install devscripts ``` -------------------------------- ### Install build dependencies Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/microcontrollers/c_sdk/quick_start.adoc Install the required CMake and GCC cross-compiler tools on a Linux system. ```console $ sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib ``` -------------------------------- ### Configure EEPROM and Sign Boot Images Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/raspberry-pi/boot-http.adoc Commands to generate the EEPROM binary with a public key and create a digital signature using a private key. ```console $ rpi-eeprom-config -c boot.conf -p mypubkey.pem -o pieeprom.bin --cacertder cert.der pieeprom.original.bin $ rpi-eeprom-digest -k myprivkey.pem -i pieeprom.bin -o pieeprom.sig ``` -------------------------------- ### Initialize Git Submodules Source: https://github.com/raspberrypi/documentation/blob/master/CONTRIBUTING.md Initialize the submodules required for the Pico C SDK documentation section. ```console $ git submodule update --init ``` -------------------------------- ### Install libepoxy Dependencies Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/computers/camera/rpicam_apps_building.adoc Install the necessary development packages for building libepoxy on Debian-based systems. ```bash $ sudo apt install -y libegl1-mesa-dev ``` -------------------------------- ### Show Deployment Response Example Source: https://github.com/raspberrypi/documentation/blob/master/documentation/asciidoc/services/connect/organisations.adoc Example of a successful response when showing a single deployment. The JSON object details the deployment's state, associated device and artefact IDs, and timestamps. ```http HTTP/2 200 Content-Type: application/json; charset=utf-8 { "id": "fdf45c44-2c0e-4f12-9b04-3a6a1c0d3b8d", "state": "succeeded", "state_reason": null, "device_id": "69739b44-ebb2-468e-9e24-08126dec4925", "artefact_id": "ee92e7e6-2c2c-4e7d-9d80-2cce8a6c7e8a", "created_at": "2026-02-25T16:09:52Z", "updated_at": "2026-02-25T16:10:30Z" } ```