Steps written for debian-10.7.0-amd64
and 2020-08-20-raspios-buster-arm64-lite
at the time of this writing.
su -
apt-get update && apt-get install -y sudo
usermod -aG sudo robpol86
If running in Hyper-V and you wish to SSH from WSL 2 (make sure address/netmask are within WSL's subnet):
cat >> /etc/network/interfaces <<EOF
allow-hotplug eth1
iface eth1 inet static
address 172.18.202.200
netmask 255.255.240.0
EOF
This is for a Raspberry Pi 4 connected to a NexDock Touch.
sudo raspi-config
# System Options
# Password: Change "pi" password
# Localisation Options
# Locale: en_US.UTF-8 UTF-8 > en_US.UTF-8
# Time Zone: US > Pacific Ocean
# Keyboard Layout: Generic 104-key PC > English (US) > No AltGr/compose key
# WLAN Country: US
# Interfacing Options
# SSH: Yes
# Advanced Options
# Overscan: No
# Packages
sudo apt-get -y update && \
sudo apt-get -y install curl git i2c-tools jq libxml2-utils lsof make moreutils nmap psmisc pv python3-venv \
socat telnet unzip vim xsel zsh dos2unix && \
sudo apt-get -y upgrade && \
sudo apt-get -y autoremove
# Poetry
curl -sSL https://install.python-poetry.org |python3 -
poetry -V
# ffmpeg
wget https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz
sudo tar --wildcards --strip-components=2 -C /usr/local/bin -xf ffmpeg-master-latest-linux64-gpl.tar.xz \
'*/ffmpeg' '*/ffprobe'
rm -v ffmpeg-master-latest-linux64-gpl.tar.xz
ffmpeg -h
# youtube dl (fork)
curl -sSL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp |
sudo install -m0755 /dev/stdin /usr/local/bin/yt-dlp
sudo update-alternatives --set editor /usr/bin/vim.basic
sudo select-editor
select-editor
# Below command prompts for input
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git -C "$ZSH_CUSTOM/plugins" clone https://github.com/zsh-users/zsh-syntax-highlighting.git
git clone https://github.com/so-fancy/diff-so-fancy.git "$HOME/workspace/diff-so-fancy"
git clone https://github.com/Robpol86/dotfiles.git "$HOME/workspace/dotfiles" && cd "$_" && \
install -m0700 -d ~/.ssh && \
ln -s "$PWD/ssh_config" ~/.ssh/config && \
ln -fs "$PWD/vimrc" ~/.vimrc && \
ln -fs "$PWD/themes/robpol86.zsh-theme" "$ZSH/custom/themes/" && \
ln -fs "$PWD/zshrc.sh" ~/.zshrc && \
ln -fs "$PWD/zprofile.sh" ~/.zprofile && \
zsh -lc _robpol86_run_once
version="$(curl -sSL "https://go.dev/VERSION?m=text" |head -1)"
wget "https://dl.google.com/go/$version.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf "$version.linux-amd64.tar.gz" && rm -v "$_"
sudo apt-get update && sudo apt-get install -y ca-certificates curl gnupg
URL="https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key"
curl -fsSL "$URL" |sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
URL="https://deb.nodesource.com/node_$NODE_MAJOR.x"
LINE="deb [signed-by=/etc/apt/keyrings/nodesource.gpg] $URL nodistro main"
sudo tee /etc/apt/sources.list.d/nodesource.list <<< "$LINE"
sudo apt-get update && sudo apt-get install -y nodejs
These instructions are for the PCF8563 chip in the Juice4halt RTC-485 hat. Instructions are based off of https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/set-rtc-time and https://www.raspberrypi.org/forums/viewtopic.php?t=209700.
sudo sed -i "/^#dtparam=i2c_arm=on$/s/#//g" /boot/config.txt
sudo tee -a /boot/config.txt <<< dtoverlay=i2c-rtc,pcf8563
sudo tee /etc/udev/rules.d/85-hwclock.rules <<< \
'KERNEL=="rtc0", RUN+="/sbin/hwclock --rtc=$root/$name --hctosys"'
sudo apt-get -y purge fake-hwclock
sudo reboot
sudo apt-get install python-pip libssl-dev
sudo pip install tox
for v in 3.3.6 3.4.3; do
cd; wget https://www.python.org/ftp/python/$v/Python-$v.tgz
tar -xzf Python-$v.tgz; cd Python-$v
./configure --prefix=/usr/local && make && sudo make altinstall
sudo ln -s /usr/local/bin/python${v::3} /usr/bin/python${v::3}
wget https://bootstrap.pypa.io/get-pip.py -O - |sudo python${v::3}
sudo ln -s /usr/local/bin/pip${v::3} /usr/bin/pip${v::3}
sudo pip${v::3} install virtualenv
done
sudo rm /usr/local/bin/pip
p=pypy3-2.4.0
cd; wget https://bitbucket.org/pypy/pypy/downloads/$p-linux-armhf-raspbian.tar.bz2
sudo mkdir /opt/$p
sudo tar -xjf $p-linux-armhf-raspbian.tar.bz2 -C /opt/$p --strip 1
sudo ln -s /opt/$p/bin/pypy3 /usr/bin/pypy3
Here I'll use terminaltables as an example.
mkdir -p ~/workspace/terminaltables/.git
cd !$ && git init --bare
cat << EOF > hooks/post-receive
#!/bin/bash
while read oldrev newrev ref; do
branch=\$(echo \$ref |cut -d/ -f3)
export GIT_WORK_TREE=../\$branch
[ ! -e \$GIT_WORK_TREE ] && mkdir -p \$GIT_WORK_TREE
git clean -f -d
git checkout -f \$branch
done
EOF
chmod +x hooks/post-receive
Run this command on the "client":
git remote add rpi ssh://pi@raspberrypi/home/pi/workspace/terminaltables/.git
Is this with Jessie or Wheezy? I'm not having any luck installing pypy3 this way on Jessie.