【Ubuntu】docker-composeによる、pxebootからのUbuntu20.04インストール



Ubuntu18.04から20.04になにげなくアップグレードしようとしてやらかしてしまいました。

そう、起動できなくなってしまったのです。。。

普通にusbメモリとか、DVD-RWドライブとか持っていれば良かったのですが、
運の悪いことに、全部ありませんでした。

なので今回はpxebootを使った、ネットワークブートからのインストールをやってみることにしました。
そしてちょっと面倒だなと思ったので、pxeのサーバはdockerで作ることにしました。

注意事項

pxeサーバはDHCPサーバを兼ねるので既存のLAN内で実施することは大変怪しいことになると思いますのでご注意ください。

DNSMASQ

DHCPサーバとtftpサーバ、あとftp、http、nfsなどのiso保存先のサーバが必要です。
今回前者はdnsmasq、後者はnginxで構築しました。

ネットブート

のLiveCDがサーバ版しかない模様

docker-composeはこれ

https://github.com/axtstar/pxeboot_ubuntu_20_04

ビルド&起動

> git clone https://github.com/axtstar/pxeboot_ubuntu_20_04.git

> sudo sh build.sh

envファイル生成

> create_env.sh > .env

isoイメージをダウンロード

> cd ~/Downloads && wget http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/focal-live-server-amd64.iso

mount

> mount focal-live-server-amd64.iso /mnt/cd

起動

> docker-compose up -d

うまくいったっぽい

忘れがち

macから、host名でのログインができませんでした。
> sudo apt-get install avahi-daemon