Skip to content

Instantly share code, notes, and snippets.

@onidzelskyi
Last active September 27, 2024 11:26
Show Gist options
  • Save onidzelskyi/e61359854316c5e4ce68de2f6fb81b87 to your computer and use it in GitHub Desktop.
Save onidzelskyi/e61359854316c5e4ce68de2f6fb81b87 to your computer and use it in GitHub Desktop.
Raspberry pi 5 Ubuntu 24 headless installation

Install Ubuntu 24 LTS on Raspberry Pi 5 in headless mode

TBD

Installation


# Mount boot flash
 1973  sudo mount /dev/sda1 /mnt
 1974  sudo mount /dev/sda2 /media/


# check last boot log
 1961  less /media/var/log/cloud-init-output.log 
 1962  less /media/var/log/cloud-init.log 
 
 # Check user config
 # cloud-init official documentation with examples
 # https://cloudinit.readthedocs.io/en/latest/reference/examples.html#yaml-examples
 #
 # Working example
 # https://askubuntu.com/questions/1302840/ubuntu-setup-user-data-ssh
 1963  grep -v "#" /mnt/user-data 
 1964  less /mnt/user-data 
 1968  sudo vim /mnt/user-data 
 1969  grep -v "#" /mnt/user-data 
 
 # cloud-init
 # Re-run cloud-init for first boot
 1965  ls -lat /media/var/lib/cloud
 1966  sudo rm -rf /media/var/lib/cloud/*
 1967  ls -lat /media/var/lib/cloud

# Save changes
1970  sudo sync
 1971  sudo umount /mnt
 1972  sudo umount /media
 
 1975  cat /media/etc/cloud/cloud.cfg
 1976  less  /media/etc/cloud/cloud.cfg 
 1977  less /media/var/log/cloud-init-output.log 
 1978  tmux 
 1979  sudo mount /dev/sda1 /mnt
 1980  sudo mount /dev/sda2 /media
 1981  less /media/var/log/cloud-init-output.log 
 1982  sudo mount /dev/sda2 /media
 1983  sudo vim /media/etc/passwd
 1984  sudo vim /media/etc/sudoers
 1985  ls -lat /media/etc/sudoers
 1986  sudo chmod a+w /media/etc/sudoers
 1987  ls -lat /media/etc/sudoers
 1988  sudo vim /media/etc/sudoers
 1989  sudo chmod a-w /media/etc/sudoers
 1990  ls -lat /media/etc/sudoers
 1991  sudo sync
 1992  cloud-init -v
 1993  ls -lat /media/home
 1994  ls -lat /media/home/ubuntu/
 1995  ls -lat /media/home/ubuntu/.ssh
 1996  sudo vim /media/home/ubuntu/.ssh/authorized_keys 
 1997  sudo sync
 1998  sudo umount /mnt
 1999  sudo umount /media
 2000  sudo telinit 0
 2001  less /mnt/user-data 
 2002  sudo vim /mnt/user-data 
 2003  sudo rm -rf /media/var/lib/cloud/*
 2004  sudo sync
 2005  sudo rm -rf /media/home/ubuntu/

TODO


  1. Add ubuntu group to /home/ubuntu directory
  2. Add ~/.profile to load user' settings
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: yes
access-points:
"<SSID_name>":
password: "<password>"
users:
- default
- name: ubuntu
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
groups: sudo, users, admin
lock_passwd: true
ssh_pwauth: true
shell: /bin/bash
ssh_authorized_keys:
- ssh-rsa <your id_rsa.pub file content>
hostname: rpi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment