From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from rondra.lf-net.org (rondra.lf-net.org [188.68.36.203]) by mx.groups.io with SMTP id smtpd.web08.4696.1654297244706619314 for ; Fri, 03 Jun 2022 16:00:46 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@lf-net.org header.s=2021 header.b=cRIr0d9F; spf=pass (domain: lf-net.org, ip: 188.68.36.203, mailfrom: littlefox@lf-net.org) Received: from localhost (localhost [127.0.0.1]) by rondra.lf-net.org (Postfix) with ESMTP id 918FC5FDB5 for ; Fri, 3 Jun 2022 23:00:41 +0000 (UTC) Authentication-Results: rondra.lf-net.org (amavisd-new); dkim=pass (2048-bit key) reason="pass (just generated, assumed good)" header.d=lf-net.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lf-net.org; h= user-agent:in-reply-to:content-disposition:content-type :content-type:mime-version:references:message-id:subject:subject :from:from:date:date:received:received; s=2021; t=1654297241; x= 1656111642; bh=QAsJ1SqkYVjbo81LfzJg89WK59/1It5X7fsuaeo3hZU=; b=c RIr0d9F07lxODMuOR41KooEP6C7UG4rUBF5vGXT5R2zO0tfav5jjrvQ4c+Gw6Ge2 BZvmW3IINYNA/85Vd3pdVA5s59k6z3IX3CXtykc0W2Sf0k2vdRpNqgv/ueC5n85v aPJRLfTywq4QD4WRP1Tg1KLWfQ+0OnIjARTIsTUXL3zTRRT67JY3h4qOBt/XnOoO IwlHwEqbPlF6E5zg0oazfQ/87aIxACkt7y9tvbtBSve/yKhe84/Ag80jVP2iNP95 Y+IOAyHMBCRS+wj+udQsWi1XQmcLXaDrryLa88RLR7VSZCtHiAJPELlTGe+z81jG biehwX+qffLu1vIkQkGqA== X-Virus-Scanned: Debian amavisd-new at rondra.lf-net.org Received: from rondra.lf-net.org ([127.0.0.1]) by localhost (rondra.lf-net.org [127.0.0.1]) (amavisd-new, port 10026) with LMTP id yNdygGar3uoU for ; Fri, 3 Jun 2022 23:00:41 +0000 (UTC) Received: from LF-T470 (unknown [IPv6:2001:9e8:118d:4801:529a:4cff:fed3:2f67]) by rondra.lf-net.org (Postfix) with ESMTPSA id 419085FDB2 for ; Fri, 3 Jun 2022 23:00:41 +0000 (UTC) Date: Sat, 4 Jun 2022 01:00:39 +0200 From: "Mara Sophie Grosch" To: devel@edk2.groups.io Subject: Re: [edk2-devel] Running and Testing Modules and Applications Message-ID: References: <42fc9038-82b7-692d-58e6-0b9d293d7bb3@hpe.com> MIME-Version: 1.0 In-Reply-To: <42fc9038-82b7-692d-58e6-0b9d293d7bb3@hpe.com> User-Agent: Mutt/2.2.4 (2022-04-30) X-Groupsio-MsgNum: 90203 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="evBrtQbaNRXfHGt6" Content-Disposition: inline --evBrtQbaNRXfHGt6 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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/fatcre= ate.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=20 >applications. It presents a folder on the host as a VFAT file system=20 >to the guest. It's not the fastest or the most stable disk type (be=20 >careful not to modify files from the host while the guest is running),=20 >but it's really handy. > >Another way to put a file on a UEFI VFAT disk image for qemu is to use=20 >mtools (https://www.gnu.org/software/mtools/), a set of user-mode=20 >programs which can manipulate FAT disk images. You can write some=20 >scripts around them to automate your workflow, similarly to uefi-run.=20 >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 >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=20 >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 > > > > > > > > > > --evBrtQbaNRXfHGt6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE8zQUlcUtuTubUSJDJ2DakP+B/XQFAmKakpAACgkQJ2DakP+B /XSh3BAAjuKtYzaHQHYX2vI/y6WaFiCo3ekkTDsRZbqWgVF6g3xZ/ARL0zr3LXJo TFIF40CHmcCzqMTfYIRzjRwsJh6aQcJWtTOAW+R0+FDuO+dmyJPJqCkTJ+FcOf1v atcEyMnoX+eufbIkaBaFyxGtdLMwVQ/S8qqcwUOyGGdhRtXi6eFRCgNvphxLiHFT V8u6NVaco+wPELwquyVmXCoPIuZ/qZynaNzm2dJLVS/Irb5eGgdoev7g5M9mrrno 2NxvRfF40tS4iVqRIaR1ZRJIbkISxsYDWNYT4hPt/dbbNNneJ2SgwY6T2SRCQGoZ Qjcg+KxKDPJWybxGiwxlQS+fKBYDLc8YxHWO2+aQZ3oRQXFsOWiKX5UgnPJiYPhk zpwpk3JzqraV27Hzf3XdcRicxcxdKTVYMqPvZkdCHX9se9bv5WDFaVLL5OH9Az2O fv5hBPFBIVhqa50xVbH6BzOGLo3Kf1JdiZgcxpBqwQwwY6uogri5k2zxkso9ryoN GfNud81x+Ou4xX+ERY4nDn+DjAzZXq1Et8Aggnnn9GS+8uGZxEzvCta2IeT/+IwN ZpeJYmVGNWfVOKgcXAzSQ/OtC6SfBwsOzHpMkkMrGITxDdLWkstVYU1dRmEKBMOX lwQfUhNCGq7Oax3XGRTPohk+nV7YEoAIayYCHAv0x2g5CZUrIs4= =14SM -----END PGP SIGNATURE----- --evBrtQbaNRXfHGt6--