You do not need a separate /boot
partition unless you have an LVM setup (used in dm-crypt setups).
Run ubiquity -b
to open the installer with the option of skipping grub installation (since we're using systemd-boot
).
When you get to the screen "Ubuntu has finished installation" choose Continue testing.
Open a Terminal.
Chroot into the new system.
mount /dev/sda5 /mnt # replace /dev/sda5 with wherever it is you installed Ubuntu
mount /dev/sda1 /mnt/boot/efi # this is where Ubuntu mounts the ESP
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
chroot /mnt
This will set systemd-boot
to be our default:
aj@aj-MacbookPro $ sudo -i
root@aj-MacBookPro:~# history
1 cd boot
2 ls
3 cd efi
4 ls
5 cat /etc/fstab # check entries
6 ls
7 cd ..
8 ls
9 cp abi-4.4.0-22-generic efi
10 cp config-4.4.0-22-generic efi
11 cp initrd.img-4.4.0-22-generic efi
12 cp System.map-4.4.0-22-generic efi
13 cp vmlinuz-4.4.0-22-generic efi
14 ls efi
15 cd efi
16 ls
17 bootctl --help
18 cd
19 cd /boot/efi
20 ls
21 mkdir -p loader/entries
22 ls
23 vi loader/loader.conf
24 vi loader/entries/ubuntu.conf
25 tree
26 apt install tree
27 tree
28 bootctl install --path=/boot/efi
29 efibootmgr
30 ls
31 cd /
32 ls
33 cd boo
34 cd boot
35 ls
36 ls -l
37 cp initrd.img-4.4.0-22-generic efi
38 tree efi
39 bootctl install --path=/boot/efi
40 cd efi
41 ls
42 ls EFI
43 ls EFI/systemd/
51 efibootmgr -c -d /dev/sda1 -p 1 -l EFI/systemd/systemd-bootx64.efi -L "Linux Boot Manager"
52 efibootmgr -o 0000
53 ls
54 history
root@aj-MacBookPro:~#
And for setting custom kernel options with systemd-boot, you can use kernelstub.
Example:
sudo kernelstub -a "options here"
For example, to add nvidia modeset, you would use:
sudo kernelstub -a "nvidia-drm.modeset=1"
This has the advantage of keeping everything up to date automatically when your system gets a new kernel.