2025-12-03 (We) [長年日記]
_ 加湿器が届いた
最近エアコンで部屋を暖めてるので、加湿器を買ってみた。加熱式。
タンクを満タンにしておくと、7時間くらいもつ。 ただ、水がなくなった時の焼けるにおいがあんまり良くない… もう少し早く切れてくれるといいのになぁ。
ずっとぐつぐつ鍋みたいな音がしてるw
2025-11-30 (Su) [長年日記]
_ grub に署名する
grub-install --disable-shim-lock
--sbat=/usr/share/grub/sbat.csv
--efi-directory=/efi
--modules='tpm all_video bli efi_gop efi_uga fat gettext gfxmenu gfxterm gzio part_gpt part_msdos png video_bochs video_cirrus'
openssl pkcs12 -export -out luna.p12 -inkey Mosby/luna/MosbyKey.pem -in Mosby/luna/MosbyKey.crt
Enter pass phrase for Mosby/luna/MosbyKey.pem:
Enter Export Password:
Verifying - Enter Export Password:
↑パスワードは全部空。luna.p12 (pkcs#12) を作る。
sudo mkdir /etc/pki/pesign_luna
sudo certutil -N -d /etc/pki/pesign_luna --empty-password
↑pesign_luna を初期化。
sudo pk12util -d /etc/pki/pesign_luna -i luna.p12
Enter password for PKCS12 file:
pk12util: no nickname for cert in PKCS12 file.
pk12util: using nickname: MosbyKey [2025.11.13]
pk12util: PKCS12 IMPORT SUCCESSFUL
↑import。パスワードは空。
sudo certutil -L -d /etc/pki/pesign_luna
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
MosbyKey [2025.11.13] u,u,u
↑確認。MosbyKey [2025.11.13] が nickname。
sudo pesign --in /efi/EFI/arch/grubx64.efi \
--out /efi/EFI/arch/grubx64signed.efi \
--certificate 'MosbyKey [2025.11.13]' \
-n '/etc/pki/pesign_luna' \
--sign
↑grubx64.efi に署名。
sudo efibootmgr --unicode -b 0002 --disk /dev/nvme0n1 --part 1 --create --label GRUB --loader /EFI/arch/grubx64signed.efi
ここからは、闇の中。暗中模索。
結局どうしたかと言うと、kernel image を unified kernel image (uki: 各カーネルイメージに initramfs もくっついてる) にして、それに署名するようにした。
/etc/mkinitcpio.d/linux-lts.preset から抜粋:
#default_config="/etc/mkinitcpio.conf"
#default_image="/boot/initramfs-linux-lts.img"
default_uki="/efi/EFI/Linux/arch-linux-lts.efi"
default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"
これが uki を作る設定。作る時に /etc/kernel/cmdline が読まれる。
/etc/kernel/cmdline:
root=ZFS=zroot/root rw
肝心の署名は、
/etc/initcpio/post/uki-pesign:
#!/usr/bin/env bash
# https://wiki.archlinux.jp/index.php/%E3%83%A6%E3%83%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%89%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8
uki="$3"
[[ -n "$uki" ]] || exit 0
pesign --in "$uki" --out "$uki".signed \
--certificate 'MosbyKey [2025.11.13]' \
-n /etc/pki/pesign_luna \
--sign && mv -f "$uki".signed "$uki"
↑これは適当にでっち上げた。
元は sbctl 用だけど、あのツール、使い方がよく解らなかったので、 理解できた pesign でやった。
sudo mkinitcpio -p linux-lts
これで、/efi/EFI/Linux/arch-linux-lts.efi ができる。 概ね、vmlinuz + initramfs くらいのサイズ。
これを efibootmgr で起動できるように設定した。
結局 grub には署名してない。署名対象は uki。
あー、つまり grub を使わなくして、dual boot の選択は BIOS の機能を使う、ってことなんだけど、 今まで grub で前回の boot OS を覚えておいて、何も操作しなかったらそれを起動する、って設定に してたんだけど、それができなくなったな。 わりと便利だったんだけど、まいいか。
_ grub も使う
なんのことはない、上のエントリで grub まで署名してあるので、 grub.cfg で chainload するようにするだけだった。 あとは efibootmgr で grubx64signed.efi を起動。
grub.cfg はお手製になるわけだけど。
署名付き grub 動いたー。
寝よ。
2025-11-28 (Fr) [長年日記]
_ secure boot
grub に署名して secure boot できないかな、と思ったんだけど、 よく考えたら grub.cfg で insmod しまくってるな…
2025-11-27 (Th) [長年日記]
_ zzz - 福福育成
福福のスキルは、上半分 F、下半分は5つ全部 11 になった。 あとは、ディスクが2箇所 A なので、これらを S にしたら、おしまい。 しかしそのためには調律チューナーだっけ、が欲しいんよな… 今バージョンだと、イベントで1つ、エリーファンドで1つか…