0n3man / debian-image-builder

Debian image builder for single board computers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Notice

Boards

Allwinner:      # NanoPi M1/NEO/Plus2/R1, OrangePi One/PC/R1 and Tritium
Amlogic:        # BananaPi CM4IO, Le Potato, Odroid C4/HC4/N2/N2L/N2+ and Radxa Zero
Broadcom:       # Raspberry Pi 0W/2B/3B+/4B
Rockchip:       # NanoPC-T4, Odroid M1, Renegade, ROCK64, ROCKPro64 and Tinkerboard
Samsung:        # Odroid XU4

WIP:		# Cubietruck, Cubox-i, BananaPi M2/M5/P2 Zero, Khadas Edge2
		# NanoPi R4S/R4SE/R5S/R5C, Odroid C1, OrangePi 5, Pinebook Pro
		# Indiedroid Nova, and Radxa E25/Rock5b

Host dependencies for Debian Bullseye / Bookworm and Ubuntu Jammy Jellyfish

  • Debian Bullseye (recommended)
  • Debian Bookworm (testing)
  • Ubuntu Jammy Jellyfish (recommended)

Install options:

  • Run the ./install.sh script (recommended)
  • Run builder make commands (dependency: make)
  • Review package list and install manually

Instructions

Install dependencies

make ccompile   # x86_64
make ncompile   # aarch64

Menu interface

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

Miscellaneous

make cleanup    # Clean up image errors
make purge      # Remove sources directory
make purge-all  # Remove sources and output directory

Config Menu


  • Review the userdata.txt file for further options: locales, timezone and nameserver(s)
  • 1 active | 0 inactive
Name:			# Your name
Username:		# Your username
Password:		# Your password
Hostname:		# Set custom system hostname

Distribution
Distro:			# Supported: debian, devuan and ubuntu
Release:		# Debian: bullseye, bookworm, testing, unstable and sid
			# Devuan: chimaera, daedalus, testing, unstable and ceres
			# Ubuntu: focal and jammy
Network Manager		# 1 networkmanager | 0 ifupdown

U-Boot and Linux
U-Boot:			# Supported: v2023.01
Branch:			# Supported: 5.15 / 6.1 and "maybe" current stable
Build:			# Kernel build version number
Menuconfig:		# Run uboot and kernel menuconfig
Compiler:		# GNU Compiler Collection
Caching on:		# Ccache

Extra wireless support
RTL88XXAU:		# Realtek 8812AU/21AU wireless support
RTL88X2BU:		# Realtek 88X2BU wireless support
RTL88XXCU:		# Realtek 8811CU/21CU wireless support
RTL8188EU:		# Realtek 8188EU wireless support

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

User options
Logging:		# Logging > output/logs/$board-*.log (Menu interface only)
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
# Boot Partition: true false
ENABLE_VFAT="false"

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

# UEFI Options: true false
ENABLE_EFI="false"

# Shrink Image (EXT4 Only): true false
ENABLE_SHRINK="true"

# Petitboot (ODROID): true false
ENABLE_PETITBOOT="false"

# Compression Types: xz zst
IMG_COMPRESSION="xz"

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 patches/userpatches are applied during compilation.

Aircrack (rtl88XXau)

# change from 0 to 1
AIRCRACK=0

Amlogic eMMC boot (u-boot only)

# change from 0 to 1
EMMC=0

Usage

/boot/useraccount.txt

  • Headless: ENABLE="true" and fill in the variables (recommended)
  • Headful: ENABLE="false" and get prompted to create a user account
ENABLE="false"			# Enable service
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
CHANGE="false"			# Set to true to change hostname
HOSTNAME="$CURRENT"		# Hostname

For headless use: ssh user@ipaddress

System settings (menu-config)

Menu Interface: System Settings


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

Debian image builder for single board computers

License:Other


Languages

Language:Shell 97.2%Language:Makefile 1.5%Language:Batchfile 1.3%