[DragonFlyBSD - Bug #3369] installer fails to use entire disk: legacy BIOS, qemu, virtio_blk

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Sun May 26 07:48:05 PDT 2024


Issue #3369 has been updated by mikdusan.


mikdusan wrote in #note-1:
> FreeBSD's @fdisk@ does a better job determining disk geometry in this case.

Comparing outputs for dfly vs. freebsd, both with new 20GB virtio_blk disk @vbd1@:

- on dfly 6.4:
<pre>
# fdisk vbd1 2>&1 | grep ^cyl
cylinders=16383 heads=16 sectors/track=63 (1008 blks/cyl)
cylinders=16383 heads=16 sectors/track=63 (1008 blks/cyl)

</pre>

- on freebsd 14.0:
<pre>
# fdisk vtbd1 2>&1 | grep ^cyl
cylinders=41610 heads=16 sectors/track=63 (1008 blks/cyl)
cylinders=41610 heads=16 sectors/track=63 (1008 blks/cyl)
</pre>

See that freebsd calculated cylinders and the total media space is correct: @20GB == 4160*16*63 * 512@ .

This shell session shows the disk geometry as determined by fdisk both before and after the first format on @vbd1@:
<pre>
# fdisk vbd1 2>&1 | grep ^cyl
cylinders=16383 heads=16 sectors/track=63 (1008 blks/cyl)
cylinders=16383 heads=16 sectors/track=63 (1008 blks/cyl)

# fdisk -I vbd1
******* Working on device /dev/vbd1 *******
fdisk: invalid fdisk partition table found
Warning: ending cylinder wraps, using all 1's

# fdisk vbd1 2>&1 | grep ^cyl
cylinders=2600 heads=256 sectors/track=63 (16128 blks/cyl)
cylinders=2600 heads=256 sectors/track=63 (16128 blks/cyl)
</pre>

See after format operation @fdisk -I ...@ that the reported geometry is effectively correct: @20GB == 2600*256*63 * 512@ and this is what allows the 2nd iteration of installer step to work correctly.

----------------------------------------
Bug #3369: installer fails to use entire disk: legacy BIOS, qemu, virtio_blk 
http://bugs.dragonflybsd.org/issues/3369#change-14546

* Author: mikdusan
* Status: New
* Priority: Normal
* Category: installer
* Target version: 6.6
* Start date: 2024-05-25
----------------------------------------
Install fails to use entire disk and sets size to 8063MB.

For example, create a qemu image of 20GB and install. The resulting system disk is ~8GB in size, underutilizing the full 20GB. This bug manifests when:
1. performing qemu guest install
2. guest configured to use virtio_blk for qemu img that is installation target
3. qemu img is new (all zeros) and has not yet been partitioned
4. dfly installer legacy BIOS is selected

Workaround: repeat the select-disk after formatting for first time
1. select: Install DragonFly BSD
2. select: Legacy BIOS
3. select: vbd0
4. select: Use Entire Disk
5. select: *RETURN TO SELECT DISK* (instead of selecting file system) to repeat steps 1...4

Reduction: use @fdisk@ to summarize the disk; the result must be as follows; specifically there must be no line beginning with @/dev/vbd0@ supplying disk geometry:
<pre>
fdisk -s vbd0
fdisk: invalid fdisk partition table found
fdisk: read_s0: Undefined error: 0
</pre>

Anti-Reduction: bug will *not* manifest if @fdisk@ shows any @/dev/vbd0@ disk geometry as follows:
<pre>
fdisk -s vbd0
...
/dev/vbd1: 41610 cyl 16 hd 63 sec
Part        Start        Size Type Flags
...
</pre>

---Files--------------------------------
fdisk-cyls.patch (872 Bytes)


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account


More information about the Bugs mailing list