Installing RPiBuntu
If you want to install RPibuntu, download an image, unzip it and write it to a SD card, e.g., using this command:
wget https://rpibuntu.kicherer.org/images/rpibuntu_16.04.1.img.zip
cat rpibuntu_16.04.1.img.zip | gunzip -d | dd of=/dev/sdX
where /dev/sdX is the device file for your card. Check dmesg to find the right device. Please note that this will erase existing data on the card!
If you are interested, you can also use this script to build and customize your own image with up-to-date packages.
The installed system will automatically configure the Ethernet interface with DHCP
and accept SSH connections, so you don't need to attach a monitor and keyboard.
You can login as user rpibuntu
with the password rpibuntu
.
Afterwards, you might want to:
- recreate the SSH host keys with:
rm /etc/ssh/ssh_host_*; dpkg-reconfigure openssh-server
- increase the size of the root partition to use all available space on your SD card:
- start a partitioning tool, e.g., fdisk, delete the second partition and recreate it with the default values to use the complete available space
- to make BTRFS use the complete space inside the resized partition,
execute:
btrfs filesystem resize max $my_path_to_mounted_root
- if you want to use your RPi2 or 3 with an external network interface, e.g., a
USB wifi stick, you might want to install the package
linux-firmware
, a network manager like connman or network-manager (both have commandline interfaces) and disable the builtin systemd network services (networkd and resolved). For the builtin wifi device of the RPi3, the necessary firmware is already included by default. - create a BTRFS snapshot so you can rollback into the original state later:
- mount the root volume somewhere using:
mount /dev/sdX2 /my_mnt_dir/ -o subvol=/
and go into this directory - execute:
btrfs subvolume snapshot @root $my_snapshot_name
- mount the root volume somewhere using:
- I also wrote
APT::Install-Recommends "0";
into/etc/apt/apt.conf.d/01norecommend
in order to avoid unnecessary packages on this embedded device. Please note that this might cause problems. Only use it if you can find missing dependencies yourself. - setup automatic updates