[PATCH] test: use virt-make-fs to build image
AKASHI Takahiro
takahiro.akashi at linaro.org
Tue Jul 14 01:02:07 CEST 2020
Heinrich,
On Tue, Jul 14, 2020 at 12:15:34AM +0200, Heinrich Schuchardt wrote:
> Avoid sudo for test/py/tests/test_efi_secboot by using virt-make-fs.
Have you read this?
https://lists.denx.de/pipermail/u-boot/2020-July/419345.html
-Takahiro Akashi
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> test/py/tests/test_efi_secboot/conftest.py | 27 ++++------------------
> test/py/tests/test_efi_secboot/defs.py | 7 ------
> 2 files changed, 4 insertions(+), 30 deletions(-)
>
> diff --git a/test/py/tests/test_efi_secboot/conftest.py b/test/py/tests/test_efi_secboot/conftest.py
> index 71ef723e59..c6709700a8 100644
> --- a/test/py/tests/test_efi_secboot/conftest.py
> +++ b/test/py/tests/test_efi_secboot/conftest.py
> @@ -38,34 +38,15 @@ def efi_boot_env(request, u_boot_config):
>
> image_path = u_boot_config.persistent_data_dir
> image_path = image_path + '/' + EFI_SECBOOT_IMAGE_NAME
> - image_size = EFI_SECBOOT_IMAGE_SIZE
> - part_size = EFI_SECBOOT_PART_SIZE
> - fs_type = EFI_SECBOOT_FS_TYPE
>
> if HELLO_PATH == '':
> HELLO_PATH = u_boot_config.build_dir + '/lib/efi_loader/helloworld.efi'
>
> try:
> - mnt_point = u_boot_config.persistent_data_dir + '/mnt_efisecure'
> + mnt_point = u_boot_config.build_dir + '/mnt_efisecure'
> + check_call('rm -rf {}'.format(mnt_point), shell=True)
> check_call('mkdir -p {}'.format(mnt_point), shell=True)
>
> - # create a disk/partition
> - check_call('dd if=/dev/zero of=%s bs=1MiB count=%d'
> - % (image_path, image_size), shell=True)
> - check_call('sgdisk %s -n 1:0:+%dMiB'
> - % (image_path, part_size), shell=True)
> - # create a file system
> - check_call('dd if=/dev/zero of=%s.tmp bs=1MiB count=%d'
> - % (image_path, part_size), shell=True)
> - check_call('mkfs -t %s %s.tmp' % (fs_type, image_path), shell=True)
> - check_call('dd if=%s.tmp of=%s bs=1MiB seek=1 count=%d conv=notrunc'
> - % (image_path, image_path, 1), shell=True)
> - check_call('rm %s.tmp' % image_path, shell=True)
> - loop_dev = check_output('sudo losetup -o 1MiB --sizelimit %dMiB --show -f %s | tr -d "\n"'
> - % (part_size, image_path), shell=True).decode()
> - check_output('sudo mount -t %s -o umask=000 %s %s'
> - % (fs_type, loop_dev, mnt_point), shell=True)
> -
> # suffix
> # *.key: RSA private key in PEM
> # *.crt: X509 certificate (self-signed) in PEM
> @@ -145,8 +126,8 @@ def efi_boot_env(request, u_boot_config):
> % (mnt_point, EFITOOLS_PATH),
> shell=True)
>
> - check_call('sudo umount %s' % loop_dev, shell=True)
> - check_call('sudo losetup -d %s' % loop_dev, shell=True)
> + check_call('virt-make-fs --partition=gpt --size=+1M --type=vfat {} {}'.format(mnt_point, image_path), shell=True)
> + check_call('rm -rf {}'.format(mnt_point), shell=True)
>
> except CalledProcessError as exception:
> pytest.skip('Setup failed: %s' % exception.cmd)
> diff --git a/test/py/tests/test_efi_secboot/defs.py b/test/py/tests/test_efi_secboot/defs.py
> index 099f453979..ba6b9f391e 100644
> --- a/test/py/tests/test_efi_secboot/defs.py
> +++ b/test/py/tests/test_efi_secboot/defs.py
> @@ -3,13 +3,6 @@
> # Disk image name
> EFI_SECBOOT_IMAGE_NAME = 'test_efi_secboot.img'
>
> -# Size in MiB
> -EFI_SECBOOT_IMAGE_SIZE = 16
> -EFI_SECBOOT_PART_SIZE = 8
> -
> -# Partition file system type
> -EFI_SECBOOT_FS_TYPE = 'vfat'
> -
> # Owner guid
> GUID = '11111111-2222-3333-4444-123456789abc'
>
> --
> 2.27.0
>
More information about the U-Boot
mailing list