それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ubuntuをシリアルコンソールとssh でインストールする

ubuntu のインストールをもっと簡単に

ubuntu server のインストールはシリアルコンソールだけで行えれば、もっと気軽に仮想マシンを使えるんだろうと思ってやってみた。

仮想マシンの設定例

仮想マシンに、シリアルコンソールを追加してディスプレイは全部外した。

この状態で起動してあげる。

シリアルコンソールからブート選択

表示をシリアルコンソールにしてしばらく待っていると、ブート選択画面が現れる

ブート選択で起動オプションを編集

この画面で e を押す

起動設定にシリアルコンソールを書く

この部分を編集する

vmlinuz quiet
vmlinuz  console=ttyS0,115200n8 text

これを編集する

編集した

ctrl-X を押して起動

編集したら、Ctr-Xを押して起動する。

ブート画面からログが流れてくる

serial と書いた画面がでる

シリアルコンソールで起動してるけど、このままインストールをすすめるか訊かれる。

このままインストール開始しても問題ないのですが、SSH経由が楽そうなのでSSHを選ぶ

ssh でログイン情報を見る

ssh installer@192.168.1.111

ユーザー名は installer で固定のようだ

ssh でログインすると

うわ、ヤバ。普通に見れるじゃん

SSHで通常のテキストベースなインストール画面が出る。

インストール終わるまで待つ。

インストール終了後は再起動

再起動したら、シリアルコンソールが有効な状態で起動する。

update-grub は必要なかった。楽ちんです。

まとめ

SSH経由でインストールが出来るので、仮想マシンにディスプレイを繋げなくてもぱぱっとインストールができて嬉しい。

今回は、実験のためにGUIからやった。

この感じだとvirsh の console からでも出来るし、virt-install仮想マシンを作れる。

いちいち画面を起動しなくていいので、便利になると思う。

こういうのは随分昔からできたと思うのですが、ついつい仮想マシン・マネージャーを使ってGUIでやっちゃうので、自動化できてなかったりするので一気に自動化出来る。

完全にコマンドからインストールする場合

過去にやってるけど、あまりちゃんとやってなかったと思う。

virt-install \
--name ubuntuLTS \
--ram 30029 \
--disk path=/var/lib/libvirt/images/ubuntu-1910.qcow2 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \
--extra-args "console=tty0 console=ttyS0,115200n8"

参考資料

libvirt + qemue の kvm 仮想マシンで画面を持たないコンソールのVMをぱぱっと作成して コンテナみたいに使う - それマグで!

Install Ubuntu server 18.04 via USB disk and serial console · GitHub