それマグで!

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

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

仮想マシンをシリアルコンソールでインストールする。

仮想マシンをシリアルコンソールで起動する

Linuxへシリアルコンソールでターミナルを使って接続するには

いくつかのポイントで使ってるオプションが違う

ブート時点で動いてるモノが違うので、それぞれにシリアルコンソールの設定が必要

インストール前にインストーラーを起動するとき

インストール後には

ということで。

大まかな流れ

  • シリアルコンソールで「grub起動する」
  • シリアルを有効にして起動する
  • シリアルコンソールを有効にして 「カーネル」を起動する
  • カーネルを起動。
  • grubからカーネルを起動する場合
  • カーネル直接起動の場合

grub からカーネルオプションを指定

インストール時

インストール後

Linux起動後

  • シリアルコンソールをagettyを待ち受け

シリアルコンソールのインストールのパターン

以上を踏まえると、

インストールから起動までをすべてシリアルコンソールで行う。つまりSSH経由でホストに仮想ゲストを作る方法は

という3つのインストールパターンがるが、

最初から最後までシリアルコンソールでやるには、次の2つが選択肢

これらは、--location を指定して、 extra-ages を指定する。

debian をシリアルコンソールでインストール

いろいろと、やり方はあるが、サクッとインストールできるのは次やりかた

virt-install\
 --connect=qemu:///system \
 --initrd-inject=/home/takuya/preseed.cfg  \
 --name d03  \
 --ram 8192  \
 --disk path=/var/lib/libvirt/images/d03.qcow2  \
 --vcpus 8 \
 --virt-type kvm  \
 --os-type linux  \
 --os-variant debian10  \
 --graphics none  \
 --location http://ftp.kddilabs.jp/pub/Linux/distributions/Debian/debian/dists/buster/main/installer-amd64/  \
 --extra-args="console=ttyS0"

ただし、preseedは任意

ubuntu をシリアルコンソールでインストール

netinstall でやるより、ISOのほうがダウンロードができるんで確実

curl https:// ... /ubuntu-20.04.3-live-server-amd64.iso

virt-install\
 --connect=qemu:///system  \
 --name u05 \
 --ram 8192  \
 --disk path=/var/lib/libvirt/images/u05.qcow2  \
 --location /var/lib/libvirt/images/ubuntu-20.04.3-live-server-amd64.iso,kernel=casper/hwe-vmlinuz,initrd=casper/hwe-initrd \
 --vcpus 8  \
 --virt-type kvm  \
 --os-type linux  \
 --os-variant ubuntu20.04  \
 --graphics none \
 --extra-args "console=tty0 console=ttyS0,115200n8" \

22.04 では試してないので、動くかはわからない、ubuntuカーネルイメージのファイル名が変わってなかったら動くと思う。