Ubuntu Server 20.04
rootユーザにパスワードを設定
sudo passwd root
ログアウト
exit
初期ユーザを削除
userdel -r ubuntu
シリアルコンソールを有効化
参考:https://qiita.com/wataash/items/b291cc0643d952d986d8
GRUB_TIMEOUT=2 # 変更
GRUB_TERMINAL="console serial" # 追加
GRUB_SERIAL_COMMAND="serial --speed=115200" # 追加
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200" # 変更
update-grub
cloud-initを無効化
touch /etc/cloud/cloud-init.disabled
rootユーザでsshを許可
PermitRootLogin yes
qemu-guest-agentをインストール
apt install qemu-guest-agent
systemctl enable qemu-guest-agent
ファイルシステム拡張用スクリプト配置
#!/bin/sh
growpart /dev/sda 3 &&\
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv &&\
resize2fs /dev/ubuntu-vg/ubuntu-lv
シャットダウン
shutdown now
virt-sysprep -a vmdisk.qcow2 \
--operations defaults,-ssh-hostkeys \
--firstboot-command '/bin/rm -v /etc/ssh/ssh_host_* && /usr/bin/ssh-keygen -A -v && systemctl restart ssh' \
--firstboot-command '/bin/sh /usr/local/bin/_growpart_fs.sh'
スパース化されたディスクがvmdisk_spars.qcow2として保存される
virt-sparsify vmdisk.qcow2 vmdisk_spars.qcow2