Gentoo Systemd Boot
                    目录
                    
                
                
            前言
为啥要systemd boot,前一段时间在搞secure boot的时候发现grub带的字体啥的没办法被签名没办法正常去搞secure boot,看了一下其他的bootloader发现systemd已经支持直接引导了。 这篇就记录一下systemd boot的注意点。
分区
分区 主要分为两个一个是esp分区 一个是/ 用luks加密:
mkfs.fat -F32 /dev/nvme0n1p1 
cryptsetup luksFormat /dev/nvme0n1p2
cryptsetup luksOpen /dev/nvme0n1p2 system
mkfs.ext4 -i 8192 /dev/mapper/system 挂载分区:
mkdir -pv /mnt/gentoo 
mount /dev/mapper/system /mnt/gentoo/
mkdir -pv /mnt/gentoo/boot
mount /dev/nvme0n1p1 /mnt/gentoo/boot/用gdisk去修改esp分区的值
gdisk /dev/nvme0n1需要将esp分区的值改为ef00。
systemd use
systemd 的use:
sys-apps/systemd boot重新构建systemd
emerge --oneshot systemdsystemd boot 配置
安装systemd boot
bootctl install用genkernel生成带有ssh支持的initramfs
mkdir -pv /etc/dropbear 
vi /etc/dropbear/authorized_keys # 加入自己的ssh公钥生成initramfs:
genkernel  --luks --ssh initramfs配置具体的引导信息:
/boot/loader/entries/gentoo.conf内容如下:
# Boot Loader Specification type#1 entry
# File created by /usr/lib/kernel/install.d/90-loaderentry.install (systemd 254)
title      Gentoo Linux
options    crypt_root=UUID=e6346fc6-2eb9-4cf2-a327-012b38a5a28b root=/dev/mapper/root rw root_trim=yes  ip=dhcp dosshd gk.sshd.port=2222
linux      /linux
initrd     /initramfs- crypt_root后续跟着的是luks所在的分区UUID,注意不是解锁之后的UUID
- dosshd在initramfs中启动一个sshd守护进程
- root解锁之后root所在的位置
- ip这里使用dhcp分配对应的ip
- gk.sshd.port=2222sshd守护进程的端口
入口的配置
/boot/loader/loader.conf内容如下:
default gentoo
console-mode max到这里就算是配置完成了,重启之后就可以看到会自动分配ip和等待解锁luks,可以用远程ssh进行解锁也可以直接输入密码进行解锁。
如下图所示:

TODO
- 和Secure Boot结合起来能够让其直接自动签名更新之后的内核
如果你觉得这篇文章对你有所帮助,欢迎赞赏~
赞赏