LMDEのpxeほげほげで遭遇した罠

LMDE(Linux Mint Debian Edition)インストーラーをpxe起動 #UEFIも大丈夫だよ!の続きです。

  • UEFIでネットワークブートする環境が…
  • dnsmasqのTFTPサーバー遅っ
  • chefでパッケージインストールすると謎のエラー
  • recipeのdirectory、なんでcreate_if_missing無いの?

そもそも何でこんなことやってるのか

LMDEをpxeでインストールできればいいなーと思ったのが1つ(学校で使うかもしれないので)。

あとは某@hanachin_先輩にchefchef煽られていたのでそろそろchefを真面目に使ってみようかと思ったので。

レシピ試す環境

Linux Mint上でkitchen(でdocker(lxc)) → MacVagrant(virtualbox)とやってました。

kitchenでdockerやってるほうがdestroy/create楽だ(速い)もん。ただしnfs-kernel-serverの動作検証とかISOファイルのマウントとかやろうとするとコケるので途中からVirtualboxでの検証をしてました。

UEFIでネットワークブートするのを試す環境

環境作ったのはいいけどUEFIでネットワークブートする環境な無ければどうしようもない(学校いけば実機あるけど…)のでどうしようかと思ったんです。

で、よく見てみると普段仮想環境に使っているVMWare FusionUEFI/Network対応という…うーん…

できればVirtualBoxで完結してほしかったんだけどVirtualBoxUEFIは対応しているもののUEFI下でのネットワークブートに対応していない…

ほんでもって、VagrantVMWareプラグインは有償…

なのでネットワークブートサーバーはVirtualBox、クライアントはVMWare Fusionという謎構成。

dnsmasqのTFTPサーバーが遅い…

最初のvmlinuzとinitrd.imgはtftpで転送するのですが…遅い…

もっともtftpというプロトコル自体そんなに高速なプロトコルではないんでしょうが、vmlinuzはともかく、initrd.img(20MBくらい)を転送するのに3分くらいかかって動いているので死んでるのかよくわからない状態に。

というわでtftpd-hpaにしてブロックサイズを指定することで2分弱くらいで転送できるようになりました。それでも遅い気がするけど。

chefでパッケージインストールすると謎のエラー

これ。もう一回vagrant provisionすりゃ通るんだけど、意味がわからない。recipeの問題でないっぽい。chefを最新版にしても直らない。recipeの最初にchefのバージョンをアップしても直らない。意味わからないけど今のところどうしようもないし、vagrant provisionすりゃ直るのでスルー。

recipeのdirectory、なんでcreate_if_missing無いの?

微妙に困るんだけど。