From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [PATCH] test: use virt-make-fs to build image
Date: Wed, 15 Jul 2020 13:19:20 +0900 [thread overview]
Message-ID: <20200715041920.GA24274@laputa> (raw)
In-Reply-To: <5928AFC6-B02C-49C1-BF1A-0DF38C46C06A@gmx.de>
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
> >>
>
next prev parent reply other threads:[~2020-07-15 4:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-13 22:15 [PATCH] test: use virt-make-fs to build image Heinrich Schuchardt
2020-07-13 23:02 ` AKASHI Takahiro
2020-07-13 23:18 ` Heinrich Schuchardt
2020-07-15 4:19 ` AKASHI Takahiro [this message]
2020-07-15 12:55 ` Tom Rini
2020-07-16 0:45 ` AKASHI Takahiro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200715041920.GA24274@laputa \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox