BrianSidebotham/arm-tutorial-rpi

Fedora 33 - Cannot create an SD Card Image

Closed this issue · 3 comments

The sfdisk command in make_card.sh fails with the following message:

>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x857bb0cc.
/tmp/tmp.MOPKz1DYEZ1: No free sectors available.
Failed to add #1 partition: No space left on device
Leaving.

This is due to a bug in sfdisk from util-linux 2.36 which is the current version available in Fedora 33.

A fix for this issue has been committed upstream. Just waiting for the fix to filter down into the Fedora repositories..

https://bugzilla.redhat.com/show_bug.cgi?id=1860461

Apparently it has already filtered down, but as of right now this bug is still present.

According to the util-linux package this should have already been fixed and available, but I'm still having issues on Fedora 33 with SD Card builds.

https://koji.fedoraproject.org/koji/buildinfo?buildID=1601788

$ sudo dnf info util-linux
Last metadata expiration check: 1:50:33 ago on Tue 17 Nov 2020 20:31:35 GMT.
Installed Packages
Name         : util-linux
Version      : 2.36
Release      : 3.fc33
Architecture : x86_64
Size         : 12 M
Source       : util-linux-2.36-3.fc33.src.rpm
Repository   : @System
From repo    : fedora
Summary      : A collection of basic system utilities
URL          : http://en.wikipedia.org/wiki/Util-linux
License      : GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
Description  : The util-linux package contains a large variety of low-level system
             : utilities that are necessary for a Linux system to function. Among
             : others, Util-linux contains the fdisk configuration tool and the login
             : program.

This is the output of the sfdisk session for the SD Card:

Creating the master boot record for a FAT partition on /tmp/tmp.0CP9Cow6uC
Checking that no-one is using this disk right now ... OK

Disk /tmp/tmp.0CP9Cow6uC: 16 MiB, 16777216 bytes, 32768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x880b5656.
/tmp/tmp.0CP9Cow6uC1: No free sectors available.
Failed to add #1 partition: No space left on device
Leaving.

Failed to create the Master Boot Record on /tmp/tmp.0CP9Cow6uC

Turns out this is actually a bug in the card/make_card.sh script as it's attempting to make a partition that's larger than the disk space available. sfdisk < 2.36 don't detect this issue.