The general idea for an Raspberry Pi based portable development setup is not new.
But honestly, I was really intrigued by intrigued by a more recent video on the YouTube channel Tech Craft (@tech_crafted on the bird site) titled My Favourite iPad Pro Accessory: The Raspberry Pi 4 .
And this time, I really pulled the plug to go ALL IN!
Until now I clearly never was an Tablet/ iPad person. Consequently, the initial setup I was aiming for, was centered around my main driver of recent years: a Linux-based laptop of some kind.
For this endeavour, I invisioned the Raspberry Pi as a side-car to my ultra-portable MacBook 12".
So it started—fast forward April this year: I'm a (part-time) iPad user of an iPad Air (5. Generation).
So, now the initial vision was slightly altered: the Raspberry Pi as a side-car for my iPad—pretty close to the inspiring TechCraft video.
Also, great timing: there are now numerous accompaning TechCraft videos with tones and tones of details on this setup—highly recommended!!
Disclaimer: this write up is still a WORK IN PROGRESS as I'm documenting along the how-to and setup of it's evolving experience…
So, without furher ado, here are the incredients of my particular setup—so far:
- Raspberry Pi 4 Model B, the 8GB RAM model
- Cooler Master's Pi Case 40 (I backed the intial Kickstarter Campaign)
- ˜˜SanDisk Ultra microSDXC UHS-I SD-Card 512 GB˜˜
- Samsung T7 Touch 500GB
First things first: install Raspberry Pi OS Lite, 64-bit, these days simply by using the great Imager software; also levereaging the Advanced Options for setting hostname (
pipad), enabling SSH only allowing public-key authentication (of course!), configuring Wifi, applying locale settings.
As we want to boot the Raspberry Pi OS right from the SSD, attached via USB 3.0 port, we need to (re-)configure the Raspberry Pi's bootloader according to the official documentation.
Install PIXEL Desktop:
sudo apt install raspberrypi-ui-mods
- Install VNC Server
sudo apt install realvnc-vnc-server sudo raspi-config
- Install Pi Tool, the all-in-one Software Utility for Cooler Master's Pi Case 40
The utility allows users access to a basic set of overclocking profiles, tested and validated based on the thermal performance of Cooler Master's Pi Case 40 enclosure, monitoring of system metrics, and assignment of multiple functions to the built-in button.
# Install currently missing dependencies of Raspberry Pi OS (Lite) 64-bit image: sudo apt install -y libdbusmenu-glib4 libdbusmenu-gtk4 libfontconfig1 wget http.us.debian.org/debian/pool/main/libi/libindicator/libindicator7_0.5.0-4_arm64.deb sudo dpkg -i libindicator7_0.5.0-4_arm64.deb wget http.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator1_0.4.92-7_arm64.deb sudo dpkg -i libappindicator1_0.4.92-7_arm64.deb # Install Pi Tool curl https://raw.githubusercontent.com/CoolerMasterTechnology/pi-tool/master/install.sh -o pi-tool-install.sh chmod +x pi-tool-install.sh ./pi-tool-install.sh
Configure the Raspberry Pi as a USB-C Gadget following the simple steps in this well done guide.
Install Samba (SMB/CIFS), Server and Client
sudo apt install samba samba-common-bin smbclient cifs-utils sudo smbpasswd -a matthias # sudo vi /etc/samba/smb.conf [Shared] path = /home/matthias/Shared read only = no public = yes writable = yes [Code] path = /home/matthias/Code read only = no public = no writable = yes sudo systemctl restart smbd
- Install Webmin
Doc ref: webmin.com, Installing on Debian
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.984_all.deb sudo dpkg -i webmin_1.984_all.deb; sudo apt install -f # https://piside:10000/
- Install Docker, Docker Compose
- Docker —› follow along docs.docker.com, Install Docker Engine on Debian and docs.docker.com, Post-installation steps for Linux.
- Docker Compose —› follow along doc.docker.com, Install Docker Compose — Alternative install options (via
sudo apt install libffi-dev libssl-dev sudo apt install -y python3 python3-dev python3-pip sudo pip3 install docker-compose
- Install Chromium (64-bit)
…w/ out WidevineCDM library and therefore, it is not possible to play streaming media such as Netflix or Disney+. But who cares anyway 🤷️
sudo apt install chromium-browser:arm64
To be continued…
- Upgrade 32GB SD-Card to SanDisk Ultra microSDXC UHS-I SD-Card 512 GB and use Raspberry Pi OS Full (instead of Lite)—also, while at it, let's go full disk encryption an re-base on Kali Linux (Doc refs: kali.org Kali on ARM, Raspberry Pi 4, kali.org: Rpi Disk Encryption) 🤔️
- Setup internet/ network sharing from host, via USB
- Create Ansible playbook for setup
- Eval OpenVSCode Server
- Eval use of Regolith Linux/ Desktop 2.0