Skip to content

offspot/provision-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProvisionOS

Kiwix Hotspot H1 Bootable disk image running provisioner.

CodeFactor License: GPL v3

What's this?

It's goal is to simplify the process of provisioning a Kiwix Hotspot H1. We call provisioning the act of flashing a Kiwix Hotspot OS onto the disk and making some other adjustments.

Most likely you don't need this tool as this is specific to the H1 device and process. It's only useful for those flashing Kiwix Hotspot in a row from a batch of pre-assembled devices.

Feel free to use and customize it though 😊. You're welcome to contribute as well (contributing guidelines).

Usage

The image is built using rpi-image-gen and only works on Linux.

Note

If not building on aarch64, install QEMU first ❯ modprobe binfmt_misc && apt install qemu-user-static

# clone rpi-image-gen repository (or download it)
# git clone https://github.com/raspberrypi/rpi-image-gen.git
wget https://github.com/raspberrypi/rpi-image-gen/archive/refs/heads/master.zip && unzip ./master.zip && rm -f ./master.zip && mv rpi-image-gen-master rpi-image-gen
cd rpi-image-gen

# make sure to install its dependencies
sudo ./install_deps.sh

# add a symlink to our recipe and files
ln -sf ../provisioner ./provisioner

# build the image
./build.sh -c provisioner -D provisioner -o provisioner/provisioner.options

# find the resulting image
ls -l ./work/kiwix-provisioner/deploy/kiwix-provisioner.img

Key Components

  • A copy of debian/bookworm/arm64/base-apt that downloads debian keys and is required if building on non-debian.
  • en_US.UTF-8 locale setup
  • provisioner install with all its dependencies
  • Custom config.txt to enable PCIeGen3
  • Custom cmdline.txt to disable cgroupsv2 (for balena engine)
  • Autologin for getty
  • Custom .bash_profile to automatically start provisioner-script
  • A kiosk service that starts a cage (Wayland) session itself starting a foot terminal.

Using a (lightweight) graphical terminal allows use of 24b colors, full unicode and emojis which is a good quality boost, even for a terminal UI.

About

Bootable disk image running provisioner

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages