トップ «前の日(11-29) 最新 次の日(12-01)»

2019-11-30 (Sa)

_ tdiary update

tdiary をアップデートした。昨日リリースされたやつ。

amazon の plugin が変わってたので、対応した。 でも、過去の日記を捨ててしまったので、テストできない... ま、またそのうち何か買うやろ。

あと、amazon はアクセス頻度に制限かけたのね。 売上にならん奴はたくさんアクセスするな、ってか。 むー。

その他は特に問題なく。

_ pacman の設定

以前(IPv6 が普通に使えてた時)はどう動いてたのか知らないけど…

teredo 経由にしたいな、と。

teredo relay としてドイツのを使ってるみたい ^^; なので、 pacman にはドイツのサーバからダウンロードして欲しい。

ミラーを設定して、ドイツのサーバにつながるようにはなったけど、何故か IPv4…

おかしいなぁ。gai.conf をいじって IPv6 で大丈夫なようにしてあるんだけどな。

pacman.conf のマニュアルを見ても、そんな設定はない。

でも、ダウンロードの方法は設定できるみたい。 built-in を使うとか外部のコマンドを使うとか。wget や curl の例があったので、 wget の例に -6 を追加した。 これで IPv6 にはなったけど、IPv6 のみになってしまって、IPv6 アドレスを持たない サーバにつながらなくなったので、代わりに --prefer-family=IPv6 を付けた。

おぉ、ちゃんと IPv6 でダウンロードしてくれてる。

ところで、

--prefer-family=none/IPv4/IPv6
    When given a choice of several addresses, connect to the addresses
    with specified address family first.  The address order returned by
    DNS is used without change by default.
    (以下略)

それはおかしくない? DNS が返した順じゃなくて、getaddrinfo() が返した順に すべきだろう。


2020-11-30 (Mo)

_ waybar の不具合

私が使っていたのは 0.9.4 のリリース版なんだけど、 なんと昨日レポートした不具合は既に修正されていた。

どの commit で修正されたのかについても突き止めた。

レポートに対して返事も何もないけど、 "I'm sorry" と、どの commit で修正されていたのかについて、 書いておいた。

ま、これでいいか。git の最新版を使っておこう。

_ bash のネスト変数展開

すごいものを見つけた。

% bash
[masm@luna ~]$ b=a
[masm@luna ~]$ c=b
[masm@luna ~]$ echo $c
b
[masm@luna ~]$ echo $b
a
[masm@luna ~]$ echo ${!c}
a
[masm@luna ~]$ 

変数が多段展開できる!

https://stackoverflow.com/questions/917260/can-var-parameter-expansion-expressions-be-nested-in-bash

_ そして

環境変数 LANG が設定されない問題再発… (--#


2022-11-30 (We)

_ 原神

アフマルの秘密が終わった。砂漠書? 3/4 くらいか。

だらだらと長いわー

しまった、明日 12/1 じゃんか。


2023-11-30 (Th)

_ サイズ比較

サイズ比較

でかっ。2回りくらい大きい。


2024-11-30 (Sa)

_ Amazon Black Friday

買った買った。いろいろ、¥23kくらい買った。

浸漬式ドリッパー。興味はあったんだよね。せっかく半額近いので、この機会に使ってみようかな、と。

_ 原神 - 部族秘蔵所から持ち出し

紫曜石の輪と赤曜石の輪ができたので、各部族秘蔵所からもらってきた。 紫は、試練 (丸い鏡みたいなのに触れて発生するやつ) のクリアでもらえた。

あと、巨大なラクガキと話して、色のないエリアでギミック解いて、 アチーブの画龍点睛?を達成。あれ?「目青」なんだな…

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1253312227

うーーーん、原神のゲーム画面にはどうやって表示してるんだろう…???? 外字かなぁ・・・にしては綺麗に表示されてるけど… bitmap じゃなくて vector データを作ったってことかなぁ... いろいろ考えるとかなり手間だと思うんだけど、 日本語だけのためにそこまでするかしら? うーん…

宝箱のアチーブまであと十数個。どこにあるんだよそんなに…

ところで、ストーリー中の選択肢が選択しやすくなってるんよね。 最近、ストーリーを進めるのに、マウスクリックじゃなくてスペースを押してるんだけど、 時々ある選択肢を選択するにはマウスで選択する必要があった。 けど、w/s で上下に移動して f で選択できるようになった。 素晴らしい!

あ、そうだ。 もうすぐ瞳の共鳴石を作れるようになるから、 それで瞳を探しながら宝箱も探すことにしよう。


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 動いたー。

寝よ。


追記 パスワード変更