Become root
If the system hasn't been updated already, please update it now 🙃
Clone the Pwnhyve repo
cd ~
git clone https://github.com/whatotter/pwnhyve && cd pwnhyve
Setup dwc2
for usb gadget mode in /boot/config.txt
echo dtoverlay=dwc2 | sudo tee -a /boot/config.txt
echo dwc2 | sudo tee -a /etc/modules
echo "libcomposite" | sudo tee -a /etc/modules
Enable SPI
echo dtparam=spi=on | sudo tee -a /boot/config.txt
Setup special SPI pins
dtc -I dts -O dtb -o 3spi.dtbo ./core/install/spi-cs-extend.dts
sudo cp 3spi.dtbo /boot/overlays/
echo "dtoverlay=3spi" >> /boot/config.txt
echo "dtoverlay=spi0-2cs,cs0=8,cs1=18" >> /boot/config.txt
Install requirements using pip
sudo pip install -r requirements.txt
Install required tools
apt install bettercap eaphammer golang-go
Build FastIO
cd ./core/pio
go build pio.go
cd ../..
Put the USB gadget script in /bin
cp ./core/install/pwnhyveUSB /bin/
chmod +x /bin/pwnhyveUSB
No need to setup the USB script to run on boot, pwnhyve already runs it when started
Setup pwnhyve's systemctl service
sed -i "s@cwd@$(pwd)@g" ./core/install/pwnhyve.service
cp ./core/install/pwnhyve.service /etc/systemd/system/
Restart systemctl's daemon and enable pwnhyve
systemctl daemon-reload
systemctl enable pwnhyve.service
Pwnhyve should be running as soon as the RPi boots.