From: "Ayush Singh" <ayushdevel1325@gmail.com>
To: "Brian J. Johnson" <brian.johnson@hpe.com>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>
Subject: Re: [edk2-devel] Running and Testing Modules and Applications
Date: Sun, 5 Jun 2022 01:02:56 +0530 [thread overview]
Message-ID: <CA+Yfj7svQEU8R9ODpHuPhtAh4+AOmn=Cn=E68YP8cnT-Drv1LQ@mail.gmail.com> (raw)
In-Reply-To: <42fc9038-82b7-692d-58e6-0b9d293d7bb3@hpe.com>
Hi Brian, thanks for the tip about vvfat. It's pretty neet for
testing, especially since the whole build output folder can be mounted
that way. I guess I will write a blog post or something so I don't
forget it in the future.
Also, I think it would be a great idea if BaseTools contained a script
to run/test the applications in qemu.
Ayush Singh
On Sat, Jun 4, 2022 at 3:36 AM Brian J. Johnson <brian.johnson@hpe.com> wrote:
>
> Qemu's virtual VFAT (vvfat) disk type is a convenient way to test UEFI
> applications. It presents a folder on the host as a VFAT file system to
> the guest. It's not the fastest or the most stable disk type (be
> careful not to modify files from the host while the guest is running),
> but it's really handy.
>
> Another way to put a file on a UEFI VFAT disk image for qemu is to use
> mtools (https://www.gnu.org/software/mtools/), a set of user-mode
> programs which can manipulate FAT disk images. You can write some
> scripts around them to automate your workflow, similarly to uefi-run.
> I've done that quite a bit in the past.
>
> Good luck,
> Brian J. Johnson
>
> -------- Original Message --------
> From: Ayush Singh [mailto:ayushdevel1325@gmail.com]
> Sent: Friday, June 3, 2022, 11:49 AM
> To: edk2-devel-groups-io <devel@edk2.groups.io>
> Subject: [edk2-devel] Running and Testing Modules and Applications
>
> Hello everyone, I wanted to ask everyone how most modules and
> applications are run/tested in edk2. I will be working on Adding Rust
> support for edk2 during GSoC and thus will probably have to do a lot
> of primitive testing. I did look at the EmulationPkg but didn't really
> understand how to use it. It simply drops me into gdb, although maybe
> that's what it is supposed to do?
>
> There were also some GUI programs (VisualUefi) that can be used in
> windows, but since I am in Linux, they aren't much useful. I also
> found a tutorial to run it in a physical machine
> (https://tait.tech/2021/04/18/uefi-development-environment/
> ), but that
> seems more for the final testing rather than testing during
> development.
>
> I have also tried using qemu for running applications, and I guess I
> was somewhat successful by using the script:
> `https://github.com/Richard-W/uefi-run` to test out uefi applications
> in qemu. However, it builds a FAT filesystem around the EFI
> application, so I was wondering if there was a better and simpler way
> to do it.
>
> Ayush Singh
>
>
>
>
>
prev parent reply other threads:[~2022-06-04 19:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-03 16:49 Running and Testing Modules and Applications Ayush Singh
2022-06-03 22:06 ` [edk2-devel] " Brian J. Johnson
2022-06-03 23:00 ` Mara Sophie Grosch
2022-06-04 19:32 ` Ayush Singh [this message]
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-list 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='CA+Yfj7svQEU8R9ODpHuPhtAh4+AOmn=Cn=E68YP8cnT-Drv1LQ@mail.gmail.com' \
--to=devel@edk2.groups.io \
/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