Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.
pyavitzPublic archive

About

Image Builder for the Raspberry Pi

Topics

Resources

Stars

174 stars

Watchers

13 watching

Forks

Latest commit

 

History

1,358 Commits

Folders and files

Repository files navigation

Boards

Raspberry Pi Zero/W/1				bcm2708    ARMEL
Raspberry Pi ZeroW2/2/3				bcm2709    ARMHF
Raspberry Pi ZeroW2/3/4/5			bcm2711    ARM64
Raspberry Pi 4						bcm2711v7  ARMHF
Raspberry Pi 5						bcm2712    ARM64

Supported Hosts: Debian Trixie and Ubuntu Noble Numbat

  • Debian Trixie (recommended)
  • Ubuntu Noble Numbat (recommended)

Install options:

  • Run the ./install.sh script (recommended)
  • Run builder make commands (dependency: make)

Instructions

Install dependencies

make ccompile			# Install x86-64 dependencies
make ncompile			# Install Aarch64 dependencies

Menu interface

make config     		# Create user data file
make menu       		# Open menu interface
make dialogrc   		# Set builder theme (optional)

Command list

make list				# List boards
make all board=xxx		# Kernel > rootfs > image
make kernel board=xxx	# Builds linux kernel package
make commit board=xxx	# Builds linux kernel package
make rootfs board=xxx	# Create rootfs tarball
make image board=xxx	# Make bootable image

Miscellaneous

make clean      		# Clean up rootfs and image errors
make purge      		# Remove source directory
make purge-all  		# Remove source and output directory
make commands   		# List more commands
make check      		# Shows latest revision of selected branch

Config Menu

  • Review the userdata.txt file for further options: locales, timezone, nameserver(s) and extra wireless support
  • 1 active | 0 inactive
Name:					# Your name
Username:				# Your username
Password:				# Your password
Enable root:			# Set root password to `toor`

Linux kernel
Branch:					# Default: 6.12.y
Build:					# Kernel build version number
Menuconfig:				# Kernel menuconfig
Compiler:				# GNU Compiler Collection / Clang
Ccache:					# Compiler cache

Distribution
Distro:					# Supported: debian, devuan and ubuntu
Release:				# Debian: bookworm, trixie, testing, unstable and sid
						# Devuan: daedalus, excalibur, testing, unstable and ceres
						# https://www.devuan.org/os/announce/excalibur-usrmerge-announce-2024-02-20.html
						# Ubuntu: focal, jammy, noble, etc ...
NetworkManager			# 1 networkmanager | 0 ifupdown

Customize
Defconfig:				# User defconfig
Name:					# Name of _defconfig (Must be placed in defconfig dir.)

User options
Verbosity:				# Verbose
Devel Rootfs:			# Developer rootfs tarball
Compress img:			# Auto compress img > img.xz
User scripts:			# Review the README in the files/userscripts directory
User service:			# Create user during first boot (bypass the user information above)

Customize image

  • custom.txt
# Bootstrap: if false use debootstrap
MMDEBSTRAP="true"

# Image Size: 3584MB 4096MB
IMGSIZE="4096MB"

# Root Filesystem Types: ext4 btrfs xfs
FSTYPE="ext4"

# Shrink Image
SHRINK="true"

# Hostname
HOSTNAME="raspberrypi"

# Branding: true false
BRANDING="false"
MOTD="Raspberry Pi"

User defconfig

# Config placement: defconfig/$NAME_defconfig
The config menu will append _defconfig to the end of the name
in the userdata.txt file.

User patches

Patches "-p1" placed in userpatches are applied during compilation.

Preferred commit

# Example
ENABLE_COMMIT="1"
COMMIT="9ed4f05ba2e2bcd9065831674e97b2b1283e866d"

Usage

  • Review the Wiki
  • The boot partition is labelled BOOT

BOOT: useraccount.txt

  • Input your user information
NAME=""					# Your name
USERNAME=""				# Username
PASSWORD=""				# Password

BOOT: credentials.txt

Set to ENABLE="true" and input your wifi information.
ENABLE="false"			# Enable service

SSID=""					# Service set identifier
PASSKEY=""				# Wifi password
COUNTRYCODE=""			# Your country code

# set static ip (ifupdown)
MANUAL="false"			# Set to true to enable a static ip
IPADDR=""				# Static ip address
NETMASK=""				# Your Netmask
GATEWAY=""				# Your Gateway
NAMESERVERS=""			# Your preferred dns

# set static ip (network-manager)
MANUAL="false"			# Set to true to enable a static ip
IPADDR=""				# Static ip address
GATEWAY=""				# Your Gateway
DNS=""					# Your preferred dns

# change hostname
HOSTNAME="raspberrypi"	# Hostname

For headless use: ssh user@ipaddress

System Menu: menu-config

Main Menu


Support

Should you come across any bugs, feel free to either open an issue on GitHub or talk with us directly by joining our channel on Libera; #arm-img-builder or Discord

About

Image Builder for the Raspberry Pi

Topics

Resources

Stars

174 stars

Watchers

13 watching

Forks

Sponsor this project

Contributors

Languages