mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 01:44:34 +00:00
test/py: Correct sizing of created disks
At present the disks end up being 1MB shorter than they should be, since dd truncates by default. Move the code into a function and update it to avoid truncation. This resolves various warnings when running sandbox tests, of the form: mmc_bread() MMC: block number 0x9801 exceeds max(0x9800) caused by the FAT partition being scanning. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
b23f0a42c3
commit
0b9e517aaf
1 changed files with 14 additions and 3 deletions
|
@ -57,6 +57,17 @@ def setup_image(ubman, devnum, part_type, img_size=20, second_part=False,
|
|||
stdin=spec.encode('utf-8'))
|
||||
return fname, mnt
|
||||
|
||||
def copy_partition(ubman, fsfile, outname):
|
||||
"""Copy a partition into a disk iamge
|
||||
|
||||
Args:
|
||||
ubman (ConsoleBase): U-Boot fixture
|
||||
fsfile (str): Name of partition file
|
||||
outname (str): Name of full-disk file to update
|
||||
"""
|
||||
utils.run_and_log(ubman,
|
||||
f'dd if={fsfile} of={outname} bs=1M seek=1 conv=notrunc')
|
||||
|
||||
def setup_bootmenu_image(ubman):
|
||||
"""Create a 20MB disk image with a single ext4 partition
|
||||
|
||||
|
@ -172,7 +183,7 @@ booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
|
|||
fsfile = 'ext18M.img'
|
||||
utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
|
||||
utils.run_and_log(ubman, f'mkfs.ext4 {fsfile} -d {mnt}')
|
||||
utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
|
||||
copy_partition(ubman, fsfile, fname)
|
||||
utils.run_and_log(ubman, f'rm -rf {mnt}')
|
||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
||||
|
||||
|
@ -224,7 +235,7 @@ label Fedora-Workstation-armhfp-31-1.9 (5.3.7-301.fc31.armv7hl)
|
|||
utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
|
||||
utils.run_and_log(ubman, f'mkfs.vfat {fsfile}')
|
||||
utils.run_and_log(ubman, ['sh', '-c', f'mcopy -i {fsfile} {mnt}/* ::/'])
|
||||
utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
|
||||
copy_partition(ubman, fsfile, fname)
|
||||
utils.run_and_log(ubman, f'rm -rf {mnt}')
|
||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
||||
|
||||
|
@ -562,7 +573,7 @@ def setup_efi_image(ubman):
|
|||
utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
|
||||
utils.run_and_log(ubman, f'mkfs.vfat {fsfile}')
|
||||
utils.run_and_log(ubman, ['sh', '-c', f'mcopy -vs -i {fsfile} {mnt}/* ::/'])
|
||||
utils.run_and_log(ubman, f'dd if={fsfile} of={fname} bs=1M seek=1')
|
||||
copy_partition(ubman, fsfile, fname)
|
||||
utils.run_and_log(ubman, f'rm -rf {mnt}')
|
||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue