Skip to content

Instantly share code, notes, and snippets.

@lpenz
Created August 27, 2023 13:09
Show Gist options
  • Save lpenz/ef21bb38a7aa12ebde17fa719a8546b5 to your computer and use it in GitHub Desktop.
Save lpenz/ef21bb38a7aa12ebde17fa719a8546b5 to your computer and use it in GitHub Desktop.
custom.toml example for Raspberry Pi OS
# Raspberry PI OS config.toml
# This file is used for the initial setup of the system on the first boot, if
# it's s present in the boot partition of the installation.
#
# This file is loaded by firstboot, parsed by init_config and ends up
# as several calls to imager_custom.
# The example below has all current fields.
#
# References:
# - https://github.com/RPi-Distro/raspberrypi-sys-mods/blob/master/usr/lib/raspberrypi-sys-mods/firstboot
# - https://github.com/RPi-Distro/raspberrypi-sys-mods/blob/master/usr/lib/raspberrypi-sys-mods/init_config
# - https://github.com/RPi-Distro/raspberrypi-sys-mods/blob/master/usr/lib/raspberrypi-sys-mods/imager_custom
# Required:
config_version = 1
[system]
hostname = "raspberrypi"
[user]
# If present, the default "rpi" user gets renamed to this "name"
name = "rpi"
# The password can be encrypted or plain. To encrypt, we can use "openssl passwd -5 raspberry"
password = "$5$pN7oRnie.WDOHoJY$aWEYmKUytN/S/bxMza5ksBiurbSJmcvcysBKHSmYa45"
password_encrypted = true
[ssh]
# ssh_import_id = "gh:user" # import public keys from github
enabled = true
password_authentication = false
# We can also seed the ssh public keys configured for the default user:
# authorized_keys = [ "ssh-rsa ... user@host", ... ]
[wlan]
ssid = "mywifi"
password = "$5$pN7oRnie.WDOHoJY$aWEYmKUytN/S/bxMza5ksBiurbSJmcvcysBKHSmYa45"
password_encrypted = true
hidden = false
# The country is written to /etc/default/crda
# Reference: https://wireless.wiki.kernel.org/en/developers/Regulatory
country = "IE"
[locale]
keymap = "gb"
timezone = "Europe/London"
@abcd567a
Copy link

abcd567a commented Sep 15, 2024

I want to add static ip address for wired and wireless netwok. How to do that using custom.toml? Following info to be set by custom.toml for eth0 and wlan0:

method (manual / static)
ipv4 address (like 192.168.12.42/24)
ipv4 gateway (like 192.168.12.1)
ipv4 dns (like 192.168.12.1,8.8.8.8)

Thank you very much. This is great. I tested it on RaspberryPi OS Bookworm. created the file custom.toml in boot partition while microSD card was in card reader, and when RPi was booted, it successfully applied all cutomization.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment