連休最終日… 起きたら 21 時だったよ…
今年の GW はいろいろやろうと思ったけど達成したのはネットワーク再構築と gentoo-build くらいでした。うーん Docker 環境 (Kubernetes 環境) の整理とかもしようと思ったんだけどなあ…。
あとはまあちょっと外に出たり同人誌即売会行ったりとかってのもあったりしたから、こんなもんなのかも。
gentoo-build
https://github.com/sorah/gentoo-build
設定された内容に沿って stage3 展開して最低限のパッケージ、カーネルビルド、grub2-install をしてくれるシェルスクリプト郡を作った。
packer に無駄に対応した結果当初の目的を忘れたけど AWS AMI や Vagrant box (virtualbox) ができたので良しとした。検証しやすくなったかなあ…
もともと自分でセットアップ用のめちゃくちゃ長いシェルスクリプト (秘伝のタレ) があったので、それを整理して systemd や packer, cloud-init, vagrant に対応させつつみたいな感じでつくった。今後の gentoo 環境セットアップでは自分はこれを使うつもり。
おまけ: Packer の amazon-ebs で 0 から AMI を作成する
Packer の amazon-* 系 builder は空っぽのファイルシステムからの構築に対応してない。
というわけでいろいろと考えた結果、適当な source_ami を作業用として起動、cloud-config を user_data に突っ込んでおく。cloud-config 内 bootcfg により /sbin/init
起動前に rootfs を tmpfs にコピー・switch_root ・ root EBS をアンマウントした後に /sbin/init
を起動する、というのを仕込んで一度インスタンスを再起動させる。あとは 2 回目に起動してきたインスタンスは root EBS をマウントしていないので、その状態で /dev/xvda とかに対して mkfs とかいろいろやってやれば良い、という事に気付いたのでそんな感じでやっています。
詳細: Building AMI from scratch using packer amazon-ebs builder - blog.sorah