.. _RasberryPiImages: Installing LinuxCNC and LitexCNC on a RaspberryPi Installing LinuxCNC and LitexCNC on a RaspberryPi ================================================= This sections describes the steps required to prepare your Raspberry-Pi for running LinuxCNC with the LitexCNC. There are several options for creating images: - LinuxCNC 2.9.2 running on Debian Bookworm with the PREEMPT kernel; - LinuxCNC 2.9.2 running on Raspbian Bookworm with the RTAI kernel; - LinuxCNC 2.8.4 running on Buster (legacy). .. note:: This section is currently under development. Not all images are therefore described yet. LinuxCNC 2.9.2 running on Debian Bookworm with the PREEMPT kernel ----------------------------------------------------------------- This version is fastest to install, as the image has largely already been created by the team of LinuxCNC. You can download the image containing LinuxCNC from their `downloads `_ page. The version to use depends on the type of Raspberry Pi: - `LinuxCNC 2.9.2 Raspberry Pi 4 `_ OS based on Debian Bookworm Raspberry Pi 4 Uspace compatible with Mesa Ethernet and SPI interface boards. - `LinuxCNC 2.9.2 Raspberry Pi 5 `_ OS based on Debian Bookworm Raspberry Pi 5 Uspace compatible with Mesa Ethernet and SPI interface boards. These .xz files are directly readable by the `Raspberry Pi imager `_ application, although the settings from the Raspberry Pi imager, such as WiFi and enabling SSH are not set while flashing. Headless install is therefore not possible and a keyboard and monitor are required for configuration. For both of these images: - User name: cnc - Password: cnc Please run the following from the commandline to configure WiFi, timezones and other data: .. code-block:: bash sudo menu-config After configuring the RaspberryPi, LinuxCNC can be installed with the following commands: .. code-block:: bash sudo apt-get update && sudo apt-get -y upgrade sudo apt-get install python3-pip python3-wheel python3-venv python3 -m venv ~/.local --system-site-packages echo -e "" >> ~/.bashrc echo -e "# set PATH so it includes user's private bin if it exists" >> ~/.bashrc echo -e "if [ -d \"$HOME/.local/bin\" ] ; then" >> ~/.bashrc echo -e " PATH=\"$HOME/.local/bin:$PATH\"" >> ~/.bashrc echo -e "fi" >> ~/.bashrc . ~/.bashrc pip install litexcnc litexcnc install_toolchain --user -a arm64 sudo env "PATH=$PATH" litexcnc install_driver . ~/.bashrc