In addition to mtools, I wrote a tool to package a set of files into a
fresh VFAT image - kinda like tar, but fat32 as output format. I'm using
it in my hobby OS project. It's a single C file but seems to work great,
albeit only tested in my workflow so far. Called it `fatcreate`, it's
available on my Gitlab [1] or on GitHub[2].

Best, Mara
[1] https://praios.lf-net.org/littlefox/lf-os_amd64/-/blob/main/util/fatcreate.c
[2] https://github.com/LittleFox94/lf-os_amd64/blob/main/util/fatcreate.c


Am Fri, Jun 03, 2022 at 05:06:50PM -0500 schrieb Brian J. Johnson:
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:ayushdevel1...@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












-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#90203): https://edk2.groups.io/g/devel/message/90203
Mute This Topic: https://groups.io/mt/91525281/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Attachment: signature.asc
Description: PGP signature

Reply via email to