Installing 64-bit HypriotOS on a Raspberry Pi

In this tutorial, I will be showing how to install the 64-bit debian based HypriotOS on a Raspberry Pi 3b+/4b+. By the end of this tutorial you will have a fully functional aarch64/arm64 OS running on Raspberry Pi hardware.

Requirements

  • A Raspberry Pi 3b+ or 4b+
  • An SD card
  • A Linux host for installing the aarch64/arm64 kernel
  • An internet connection

Download and Write the OS to the SD card

We will be using DieterReuter's 64-bit version of HypriotOS which is based on Debian Stretch. The image can be downloaded from the GitHub release page.

Click Here for Windows Instructions
  1. Download the Custom HypriotOS image and checksum from the GitHub releases page
  2. Download and install balenaEtcher
  3. Unzip the HypriotOS image downloaded in step 1
  4. Flash HypriotOS image to SD Card using balenaEtcher
    balena-etcher-flash-hypriotos-01
    balena-etcher-flash-hypriotos-02
Click Here for Linux Instructions

Install prerequisite packages

# Install hdparm, file, and pv
sudo sh -c "apt update && apt install -y hdparm file pv"

Download the Custom HypriotOS image and checksum from the GitHub releases page

# Download Image from GitHub Releases page
wget https://github.com/DieterReuter/image-builder-rpi64/releases/download/v20190720-125849/hypriotos-rpi64-v20190720-125849.img.zip

# Download sha256 Checksum from GitHub Releases page
wget https://github.com/DieterReuter/image-builder-rpi64/releases/download/v20190720-125849/hypriotos-rpi64-v20190720-125849.img.zip.sha256

# Verify image checksum
sha256sum -c hypriotos-rpi64-v20190720-125849.img.zip.sha256

# Unzip image
unzip hypriotos-rpi64-v20190720-125849.img.zip

Download the flash tool from the Hypriot Github releases page

# Download and add execute permissions
curl -LO https://github.com/hypriot/flash/releases/download/2.3.0/flash
chmod +x flash

Write the 64-bit HypriotOS Using the flash tool

!!! WARNING !!! irreparable damage can be done by specifying the wrong block device with the -d option.
Please make sure to substitute the correct block device as the flash utility will destroy all data on the designated device.
Be sure to substitute the hostname after option -n.

# Flash /dev/sda and set hostname to k3spi4-master01
./flash -d /dev/sda -n k3spi4-master01 hypriotos-rpi64-v20190720-125849.img

Install the 64-bit Kernel from sakaki-'s Raspberry Pi 4b+ Kernel GitHub Releases Page

If windows was used to flash Hypriotos to the the SD Card, please insert the SD card to a linux system at this time.

# Install xz-utils to decompress kernel image
sudo apt install -y xz-utils

# Mount the freshly flashed SD card to /mnt/piroot
sudo mkdir /mnt/piroot
sudo mount /dev/sda2 /mnt/piroot
sudo mount /dev/sda1 /mnt/piroot/boot

# Download and extract compiled kernel tarball to /mnt/piroot
curl -L -s https://github.com/sakaki-/bcm2711-kernel-bis/releases/download/4.19.73.20190924/bcm2711-kernel-bis-4.19.73.20190924.tar.xz | sudo tar -xvJf - -C /mnt/piroot/

# Add necessary options to boot to custom 64-bit kernel
cat | sudo tee -a /mnt/piroot/boot/config.txt <<EOF
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
arm_64bit=1
# differentiate from Pi3 64-bit kernels
kernel=kernel8-p4.img
EOF

# Unmount SD card
sudo umount /mnt/piroot{boot,}

Insert freshly flashed card and boot

Insert the freshly flashed SD card and boot your Raspberry Pi 3b+/4b+. Once the system is booted, log in with the username pirate and the password hypriot.

Show Comments