Skip to content

Conversation

@norio-nomura
Copy link
Contributor

@norio-nomura norio-nomura commented Nov 10, 2025

Depends on lima-vm/go-qcow2reader#61

  • Add LIMA_VZ_ASIF environment variable to use ASIF on creating diffdisk
  • pkg/imgutil: Add ImageDiskManager.ConvertToASIF()
Hide obsolete description

How to setup ASIF as diffdisk:

  1. Create an instance for test, then stop it.
$ limactl start template:ubuntu --name=asif-test --tty=false --log-level=fatal; limactl stop asif-test --log-level=fatal
  1. Convert diffdisk with ASIF image. (original will be renamed to diffdisk.raw)
$ hack/convert-diffdisk-to-asif.sh asif-test
+ instance=asif-test
++ limactl list asif-test --format '{{.Dir}}'
+ instance_dir=/Users/norio/.lima/asif-test
++ head -c 4 /Users/norio/.lima/asif-test/diffdisk
+ head4bytes=
+ case "${head4bytes}" in
++ limactl list asif-test --format '{{.Status}}'
+ instance_state=Stopped
+ [[ Stopped == \S\t\o\p\p\e\d ]]
+ diskutil image create blank --fs none --format ASIF --size 100GiB /Users/norio/.lima/asif-test/diffdisk.asif

/Users/norio/.lima/asif-test/diffdisk.asif created
++ diskutil image attach -n /Users/norio/.lima/asif-test/diffdisk.asif
+ attached_device=/dev/disk5
+ dd if=/Users/norio/.lima/asif-test/diffdisk of=/dev/disk5 status=progress conv=sparse
  107152496640 bytes (107 GB, 100 GiB) transferred 115.003s, 932 MB/s
209715200+0 records in
209715200+0 records out
107374182400 bytes transferred in 115.228413 secs (931837727 bytes/sec)
+ hdiutil detach /dev/disk5
"disk5" ejected.
+ mv /Users/norio/.lima/asif-test/diffdisk /Users/norio/.lima/asif-test/diffdisk.raw
+ mv /Users/norio/.lima/asif-test/diffdisk.asif /Users/norio/.lima/asif-test/diffdisk
+ echo 'Converted diffdisk to ASIF format successfully'
Converted diffdisk to ASIF format successfully
  1. Start the instance
$ limactl start asif-test

Depends on lima-vm/go-qcow2reader#61

How to setup ASIF as diffdisk:
1. Create an instance for test, then stop it.
```console
$ limactl start template:ubuntu --name=asif-test --tty=false --log-level=fatal; limactl stop asif-test --log-level=fatal
```
2. Convert `diffdisk` with ASIF image. (original will be renamed to `diffdisk.raw`)
```console
$ hack/convert-diffdisk-to-asif.sh asif-test
+ instance=asif-test
++ limactl list asif-test --format '{{.Dir}}'
+ instance_dir=/Users/norio/.lima/asif-test
++ head -c 4 /Users/norio/.lima/asif-test/diffdisk
+ head4bytes=
+ case "${head4bytes}" in
++ limactl list asif-test --format '{{.Status}}'
+ instance_state=Stopped
+ [[ Stopped == \S\t\o\p\p\e\d ]]
+ diskutil image create blank --fs none --format ASIF --size 100GiB /Users/norio/.lima/asif-test/diffdisk.asif

/Users/norio/.lima/asif-test/diffdisk.asif created
++ diskutil image attach -n /Users/norio/.lima/asif-test/diffdisk.asif
+ attached_device=/dev/disk5
+ dd if=/Users/norio/.lima/asif-test/diffdisk of=/dev/disk5 status=progress conv=sparse
  107152496640 bytes (107 GB, 100 GiB) transferred 115.003s, 932 MB/s
209715200+0 records in
209715200+0 records out
107374182400 bytes transferred in 115.228413 secs (931837727 bytes/sec)
+ hdiutil detach /dev/disk5
"disk5" ejected.
+ mv /Users/norio/.lima/asif-test/diffdisk /Users/norio/.lima/asif-test/diffdisk.raw
+ mv /Users/norio/.lima/asif-test/diffdisk.asif /Users/norio/.lima/asif-test/diffdisk
+ echo 'Converted diffdisk to ASIF format successfully'
Converted diffdisk to ASIF format successfully
```
3. Start the instance
```console
$ limactl start asif-test
```

Signed-off-by: Norio Nomura <norio.nomura@gmail.com>
@norio-nomura norio-nomura force-pushed the vz-support-asif-as-diffdisk branch from 6e6c8b1 to a86f7f8 Compare November 10, 2025 12:27
- hack/convert-diffdisk-to-asif.sh: Add description of script.
- pkg/driver/vz: Refine error text on detecting unexpected image type.

Signed-off-by: Norio Nomura <norio.nomura@gmail.com>
Signed-off-by: Norio Nomura <norio.nomura@gmail.com>
@norio-nomura norio-nomura force-pushed the vz-support-asif-as-diffdisk branch from 4845910 to b78a98d Compare November 11, 2025 10:33
@norio-nomura
Copy link
Contributor Author

Implemented conversion to ASIF

@norio-nomura norio-nomura force-pushed the vz-support-asif-as-diffdisk branch from b78a98d to 566d590 Compare November 11, 2025 10:37
- Add `LIMA_VZ_ASIF` environment variable to use ASIF on creating diffdisk
- pkg/imgutil: Add `ImageDiskManager.ConvertToASIF()`
- Remove `hack/convert-diffdisk-to-asif.sh`

Signed-off-by: Norio Nomura <norio.nomura@gmail.com>
@norio-nomura norio-nomura force-pushed the vz-support-asif-as-diffdisk branch from 566d590 to a88474b Compare November 11, 2025 10:59
@norio-nomura
Copy link
Contributor Author

Expecting CI failures will be fixed by #4336 and #4341.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants