#vhd #disk #IoddMINI

Победил загрузку VHD образа для криптодиска

Процесс на память (странно, кстати, что искать в публичных постах, проще чем в локальных заметках):
1. Создаём образ img. Предположу, что простой путь - это сделать себе виртуалку в QEMU/Virtualbox, а потом скорверить в vhd (vpc). Но это не мой путь. Мой путь packer, но Hashicorp - просто корп, поэтому нахуй.

Для сборки образа взял, что нашёл в репах дебиана --- #vmdb2

Создал конфиг d12.vmdb:
```yaml
steps:
- mkimg: "{{ output }}"
size: 4G
- mklabel: msdos
device: "{{ output }}"
- mkpart: primary
device: "{{ output }}"
start: 0%
end: 100%
tag: /
- kpartx: "{{ output }}"
- mkfs: ext4
partition: /
- mount: /
- debootstrap: stable
mirror: deb.debian.org/debian
target: /
- apt: install
packages:
- linux-image-amd64
- htop
- python3-minimal
tag: /
- ansible: /
playbook: foo.yml
- fstab: /
- grub: bios
tag: /
```

Создаём пароль для рута `mkpasswd --method=sha-512` и кладём в плейбук ansible foo.yml:
```yaml
- hosts: image
tasks:

- name: "set /etc/hostname"
shell: |
echo "{{ hostname }}" > /etc/hostname

- name: "set root pass"
ansible.builtin.user:
name: root
password: "$6$Ucmjn8m..."

vars:
hostname: d12
```

Билдим: `sudo vmdb2 d12.vmdb --output d12a.img --verbose`

2. Конвертим полученный образ `qemu-img convert -f raw -O vpc -o subformat=fixed,force_size d12a.img -o size=4G d12a.vhd`

3. Ну и всё, на криптодиске монтируем VHD. Пользуемся, радуемся.

P.S. Очень круто, что с разрабом VMDB2 можно связаться через web-irc webchat.oftc.net/?channels=vmd
Спасибо Lars Wirzenius!