Today we will construct a secure, air-gapped device, where we will be able to generate wallets and keys offline.
Prerequisites1. A Raspberry Pi 4B (or any other model). If the model doesn't support WiFi it's even better. But for this tutorial I have used a Raspberry Pi 4B.
2. A keyboard.
3. A micro-SD card.
4. An HDMI cable.
5. A monitor.
6. A computer that connects to the internet.
7. A USB thumb drive.
Flashing Raspberry Pi OS Lite on the SD card1. Download
Balena Etcher.
2. Download Raspberry Pi OS Lite from the
official website.
3. Use Balena Etcher to flash the OS image on the SD card.
Downloading Sparrow Terminal1. Download the Linux (ARM64) Standalone version (
sparrow-server-2.0.0-aarch64.tar.gz) from the
official website.
2. Drag and drop the tar.gz file on a USB drive.
Setting up the Raspberry Pi1. Insert the SD card into the card reader on the Raspberry Pi.
2. Connect the device to the monitor using the HDMI cable.
3. Plug the power supply to the device.
Once the device is turned on, it will prompt you to create a user and set a password.
After that, you will log in and you will be presented with a terminal.
The terminal will be our dearest friend from now on.
Doing some preconfigurationKeep in mind, that since we won't plug in an Ethernet cable and we won't connect to a WiFi network, we will never connect to the internet.
But this is not enough!
Since we want to build an air-gapped device, we must disable networking.
sudo crontab -e
This will open
nano editor and there we will add the following lines:
@reboot sudo ifconfig eth0 down
@reboot sudo ifconfig wlan0 down
Having done that, everytime we reboot the device, networking will be disabled.
Installing Sparrow TerminalWe will now import the USB where Sparrow Terminal is installed.
Then, we need to mount it.
lsblk
This command will produce an output where we will see the USB and the disk partition (normally something like /dev/sda1 or /dev/sdb1 etc.).
Let's say that the USB is on /dev/sda1.
We need to mount it, using the command:
cd /media
sudo mkdir usb
sudo mount /dev/sda1 /media/usb
Now we will move into the folder, and we will extract the tar file onto our home path.
cd /media/usb
mv sparrow-server-2.0.0-aarch64.tar.gz home/
Then we will unmount the usb.
sudo umount /media/usb
Now we install Sparrow:
cd /home/
tar -xvf sparrow-server-2.0.0-aarch64.tar.gz
rm -rf sparrow-server-2.0.0-aarch64.tar.gz
Now, we have a
Sparrow directory in our home.
Let's run it.
cd Sparrow/bin
./Sparrow
Once you run it, you will get something like this:
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fwww.talkimg.com%2Fimages%2F2024%2F10%2F02%2FiFXFJ.png&t=671&c=8sm0kUlZOfKwoA)
Then, press the "Wallets" button.
You will be presented with 2 options:
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fwww.talkimg.com%2Fimages%2F2024%2F10%2F02%2FiFdoC.png&t=671&c=433JS94hmHWaog)
Just choose to "Create Wallet"
Notes:- For simplicity, I haven't written the verification process of the software we have downloaded. But we must always verify the software we install.
EDITS by other members:User
| | Idea / Comment
|
Cricktor
| | To disable wireless internet, we can edit the config.txt file, as follows:
sudo nano /boot/config.txt
then add this line at the end:
dtoverlay=disable-wifi
|