pyavitz / debian-image-builder

Debian image builder for single board computers
Other
139 stars 33 forks source link
allwinner amlogic bananapi broadcom debian freescale hardkernel linux odroid orangepi pine64 radxa raspberrypi rockchip ubuntu

Boards

```py (*) Work in progress # ALLWINNER BananaPi M2 Zero (*) BananaPi M4 Zero (*) BananaPi P2 Zero (*) Cubietruck (*) NanoPi M1 NanoPi NEO NanoPi NEO Plus2 NanoPi R1 OrangePi 3 (*) OrangePi 3 LTS (*) OrangePi One OrangePi PC OrangePi R1 (*) PineA64+ Tritium # AMLOGIC BananaPi CM4 BananaPi M2 Pro BananaPi M2S BananaPi M5 H96-MAX X3 Le Potato Odroid C1 (*) Odroid C4 Odroid HC4 Odroid N2 Odroid N2L Odroid N2+ Radxa Zero X96-AIR GBIT # FREESCALE Cubox-I (*) FT20 (*) # ROCKCHIP Indiedroid Nova (*) Khadas Edge2 (*) Odroid M1 (*) OrangePi 5 (*) OrangePi 5 Plus (*) Rock 5B (*) # SAMSUNG Odroid XU4 ```

Host dependencies for Debian Bookworm and Ubuntu Jammy Jellyfish / Noble Numbat

Install options:


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 clean      # Clean up image errors
make purge      # Remove sources directory
make purge-all  # Remove sources and output directory

Config Menu


Distribution Distro: # Supported: debian, devuan and ubuntu Release: # Debian: bullseye, bookworm, trixie, testing, unstable and sid

Devuan: chimaera, daedalus (broken: excalibur, testing, unstable and ceres)

        # https://www.devuan.org/os/announce/excalibur-usrmerge-announce-2024-02-20.html
        # Kali: kali-last-snapshot and kali-rolling
        # Ubuntu: focal, jammy and noble

Network Manager # 1 networkmanager | 0 ifupdown

U-Boot and Linux U-Boot: # Supported: v2024.01 Branch: # Supported: 6.1.y / 6.6.y and "maybe" current stable / rc Build: # Kernel build version number Menuconfig: # Run uboot and kernel menuconfig Compiler: # GNU Compiler Collection / Clang Ccache: # Compiler cache

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
```sh
# Boot Partition
ENABLE_VFAT="false"

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

# UEFI Options (WIP)
ENABLE_EFI="false"

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

# Shrink Image
ENABLE_SHRINK="false"

# Petitboot (AML ODROID) (not recommended)
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.

Usage

/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="$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