Ubuntu RAM-Linux その1:Ubuntuの実装をまずは下調べ

※この件で、最も手間のかからない実装は、最下行でも紹介したURLにありますので、そちらを参照下さい。なお、2014年 kernel3.18にマージされoverlayfsがメジャーになりつつある一方、aufsはフェードアウトしそうです。overlayfsを使う場合は、その4を参照下さい。

電源ブチ切りUbuntuGrubエントリを作りたい。

電源ブチ切りだけでなく、
●ちょっと怪しいサイトを見てみたい時
●身代金ウイルスとかに感染しても電源ブチ切りで元に戻したい時
LinuxノートPCを素人に貸すけど壊されたくない時
などでも使える。もちろん、root取られてHDDをrwリマウントされたら終わりだが、操作中のWebアクセスで、そこまでやられることは、まず無かろう。

ターゲット:Ubuntu Studio 16.10
Stateless CentOSでの調整とは異なり、初期RAMDISKで調整する方法をとる。また、aufs等は使わず、オーソドックスにRAMDISKを新規作成し、ユーザランドとしての必要物をコピーする方法をとる。
やがて、Ubuntu17.04へのアップデート通知が来るだろうが、そのアップデートでどうなるかも、見ておきたい。そのまま使える汎用性のある実装にしたい。

/sbin/initを確認:
initrd.imgを分解しなくても、/usr/share/initramfs-tools以下を見れば良い。
initにて「readonly=y」 がデフォルトで定義されているので、HDDはrwではマウントされない。また、grub.cfgのエントリでもroが指定されている。従って、ここでのブチ切りケアは不要。
maybe_breakはデバッグコード。break=topとかを与えれば、そこで停止する。

調整スクリプト設置先:
/etc/initramfs-tools/scripts/init-bottomに、調整スクリプトを置いて、下記コマンドを実行すれば、initrd.imgに反映される。これらのコマンドは長くはないスクリプトなので、中を見れば何をやっているか分かる。

# /boot下にあるinitrd.imgを更新する場合
update-initramufs -u

# 新規作成する場合の例
mkinitramfs -o initramfs_ramlinux.img

RAMDISK起動エントリ追加場所を確認:
/etc/grub.d/40_custom または/boot/grub/custom.confを編集すれば良さそう。ただ、もっと汎用性を持たせるため、/etc/grub.d/10_linuxをコピーして活用したい。

参考:
この分野の勉強は、主に下記サイトでさせていただきました。感謝します。
http://wikiwiki.jp/disklessfun/?onecddebian

Ubuntuの下記サイトも参考になりました。。。というか、やってみました。
まぁ、手間かからず、これで良い気もします。
https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash