klipper/scripts/install-octopi.sh
Srujan S 91dea6d10d
Update install-octopi.sh
fixing this issue 

###### Installing packages...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'libusb-1.0-0-dev' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-doc' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-0' for regex 'libusb-1.0'
Package python-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python-dev-is-python3
2024-05-13 19:16:31 -05:00

103 lines
2.5 KiB
Bash
Executable file

#!/bin/bash
# This script installs Klipper on a Raspberry Pi machine running the
# OctoPi distribution.
PYTHONDIR="${HOME}/klippy-env"
# Step 1: Install system packages
install_packages()
{
# Packages for python cffi
PKGLIST="virtualenv python-dev-is-python3 libffi-dev build-essential"
# kconfig requirements
PKGLIST="${PKGLIST} libncurses-dev"
# hub-ctrl
PKGLIST="${PKGLIST} libusb-dev"
# AVR chip installation and building
PKGLIST="${PKGLIST} avrdude gcc-avr binutils-avr avr-libc"
# ARM chip installation and building
PKGLIST="${PKGLIST} stm32flash dfu-util libnewlib-arm-none-eabi"
PKGLIST="${PKGLIST} gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0"
# Update system package info
report_status "Running apt-get update..."
sudo apt-get update
# Install desired packages
report_status "Installing packages..."
sudo apt-get install --yes ${PKGLIST}
}
# Step 2: Create python virtual environment
create_virtualenv()
{
report_status "Updating python virtual environment..."
# Create virtualenv if it doesn't already exist
[ ! -d ${PYTHONDIR} ] && virtualenv -p python2 ${PYTHONDIR}
# Install/update dependencies
${PYTHONDIR}/bin/pip install -r ${SRCDIR}/scripts/klippy-requirements.txt
}
# Step 3: Install startup script
install_script()
{
report_status "Installing system start script..."
sudo cp "${SRCDIR}/scripts/klipper-start.sh" /etc/init.d/klipper
sudo update-rc.d klipper defaults
}
# Step 4: Install startup script config
install_config()
{
DEFAULTS_FILE=/etc/default/klipper
[ -f $DEFAULTS_FILE ] && return
report_status "Installing system start configuration..."
sudo /bin/sh -c "cat > $DEFAULTS_FILE" <<EOF
# Configuration for /etc/init.d/klipper
KLIPPY_USER=$USER
KLIPPY_EXEC=${PYTHONDIR}/bin/python
KLIPPY_ARGS="${SRCDIR}/klippy/klippy.py ${HOME}/printer.cfg -l /tmp/klippy.log"
EOF
}
# Step 5: Start host software
start_software()
{
report_status "Launching Klipper host software..."
sudo /etc/init.d/klipper restart
}
# Helper functions
report_status()
{
echo -e "\n\n###### $1"
}
verify_ready()
{
if [ "$EUID" -eq 0 ]; then
echo "This script must not run as root"
exit -1
fi
}
# Force script to exit if an error occurs
set -e
# Find SRCDIR from the pathname of this script
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
# Run installation steps defined above
verify_ready
install_packages
create_virtualenv
install_script
install_config
start_software