mirror of
https://github.com/Klipper3d/klipper.git
synced 2026-02-15 17:09:29 -07:00
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
103 lines
2.5 KiB
Bash
Executable file
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
|