
Heinrich,
On Tue, Jul 14, 2020 at 01:18:04AM +0200, Heinrich Schuchardt wrote:
Am 14. Juli 2020 01:02:07 MESZ schrieb AKASHI Takahiro takahiro.akashi@linaro.org:
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
Just put chmod 644 /boot/vmlinu* into your update-initramfs hook directory /etc/initramfs-tools and complain to Ubuntu maintainers about them breaking their own packages.
If this solves all the issues, that's fine. But if you require this extra step to run the test, you should describe it explicitly somewhere. Otherwise, people can get confused.
I believe that it would be still useful to have a fall-back method of "sudo" version.
Hook scripts are described here: http://manpages.ubuntu.com/manpages/xenial/man8/initramfs-tools.8.html
Signed-off-by: Heinrich Schuchardt xypron.glpk@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'
Please use persistent_data_dir here as a work directory. 'build_dir' is for U-Boot build.
-Takahiro Akashi
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