mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 10:24:49 +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'))
|
stdin=spec.encode('utf-8'))
|
||||||
return fname, mnt
|
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):
|
def setup_bootmenu_image(ubman):
|
||||||
"""Create a 20MB disk image with a single ext4 partition
|
"""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'
|
fsfile = 'ext18M.img'
|
||||||
utils.run_and_log(ubman, f'fallocate -l 18M {fsfile}')
|
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'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 -rf {mnt}')
|
||||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
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'fallocate -l 18M {fsfile}')
|
||||||
utils.run_and_log(ubman, f'mkfs.vfat {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, ['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 -rf {mnt}')
|
||||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
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'fallocate -l 18M {fsfile}')
|
||||||
utils.run_and_log(ubman, f'mkfs.vfat {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, ['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 -rf {mnt}')
|
||||||
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
utils.run_and_log(ubman, f'rm -f {fsfile}')
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue