私はUbuntu 15.04イメージを使ってRaspberry Piをハックしました。暗号化された起動設定があるため、プレーンテキストの起動デバイスであるファイルinitramfs.gz
システムの最初のパーティションにイメージを作成する必要があります。
Ubuntuはinitramfsイメージを自動的に生成します/boot/initrd.img-$(uname -r)
。最新のビルドイメージを自動的にコピーできるようにスクリプトでキャッチできるフックはありますか/boot/firmware/initramfs.gz
?
答え1
読むinitramfs - ツールマニュアルそしてフックスクリプトを書いてください。/usr/share/initramfs-tools/hooks/
参考のためにシステムが提供するスクリプトを表示できます。独自のスクリプトをに入れる必要があります/etc/initramfs-tools/hooks/
。 2つのフォルダのスクリプトはを介してマージされ実行されますmkinitramfs
。
一時フォルダからinitramfsを作成し、その内容を確認できます。
mkinitramfs -o initramfs.gz
zcat initramfs.gz | cpio -id initramfs.gz
準備が整ったと思われる場合は、/boot
システムinitramfsを更新してくださいupdate-initramfs -u
。
編集する:私はあなたの質問を誤解しました。
/etc/kernel
各カーネルパッケージのpostinst / postrm / preinst / prermスクリプトが呼び出すフックスクリプトディレクトリを表示できます。後で呼び出される他のスクリプトを追加できるようにupdate-initramfs
呼び出されます。/etc/kernel/postinst.d/initramfs-tools
initramfs-tools
答え2
わかりました、これは古い質問ですが、同じ質問に対する答えを探していましたが、ここにあります:
スクリプトの使用/etc/initramfs/post-update.d/
Ubuntuには素晴らしい文書はありませんが、Debianで動作しますで述べたようにこの問題。スクリプトupdate-initramfs
はディレクトリが存在することを確認し、initramfsを作成してからそのディレクトリからスクリプトを実行します。
まずディレクトリを作成します。
mkdir -p /etc/initramfs/post-update.d
あなたの場合、スクリプトは次のとおりです。
/etc/initramfs/post-update.d/zz-copy-to-firmware
#!/bin/sh
cp /boot/initrd.img-$(uname -r) /boot/firmware/initramfs.gz
実行可能にします。
chmod +x /etc/initramfs/post-update.d/zz-copy-to-firmware
注:Ubuntuは最新のinitramfsへのシンボリックリンクを生成する/boot/initrd.img
のでuname -r
。