tag:blogger.com,1999:blog-8361942945221983453.post704136834952881828..comments2024-03-24T13:09:14.304+00:00Comments on Pete's Blog: Easily create UEFI applications using Visual Studio 2015Petehttp://www.blogger.com/profile/00656449482260202625noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-8361942945221983453.post-34242529162641408882018-04-17T07:34:22.311+01:002018-04-17T07:34:22.311+01:00@Romek, you may also be interested in this:
https:...@Romek, you may also be interested in this:<br />https://github.com/tianocore/tianocore.github.io/wiki/How-to-debug-OVMF-with-QEMU-using-GDBPetehttps://www.blogger.com/profile/00656449482260202625noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-78423158856116233532018-04-16T14:58:24.598+01:002018-04-16T14:58:24.598+01:00You don't get code debug. The debug option jus...You don't get code debug. The debug option just allows you to run the application. That's all. If you need more, then you'll need to configure QEMU for gdb debugging on your own.Petehttps://www.blogger.com/profile/00656449482260202625noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-3229658174989099342018-04-16T14:07:54.679+01:002018-04-16T14:07:54.679+01:00Hi Pete,
I run the efi project using VS2017. After...Hi Pete,<br />I run the efi project using VS2017. After starting (F5), the QEMU window appears and texts displayed by my program. My problem is that I can not debug the project. All options in the "Tools|Options|Debugging|Just-In-Time" menu are enabled. What else should I check and set?Romekhttps://www.blogger.com/profile/17458355858921709023noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-70017211449773687842017-09-04T12:13:24.688+01:002017-09-04T12:13:24.688+01:00> So the only way to create a blank fresh uefi ...> So the only way to create a blank fresh uefi app starting point is to clone your simple uefi example?<br /><br />No. That's not what's being said at all.<br /><br />> What if I wanted to create one from scratch?<br /><br />Then you could do the same thing as I did, and use Visual Studio and gnu-efi to create your own application from scratch. There's absolutely nothing forcing you to use uefi-simple to create an UEFI application.<br /><br />> What about making a simple driver??<br /><br />If you want to see how one can create an UEFI driver under the Visual Studio environment, you may be interested in efifs, which is a set of read-only UEFI file system drivers, derived from GRUB. It's basically uefi-simple extended to create UEFI drivers. See https://github.com/pbatard/efifs.<br />Petehttps://www.blogger.com/profile/00656449482260202625noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-4375963352826895142017-09-04T04:37:48.914+01:002017-09-04T04:37:48.914+01:00Hi,
So the only way to create a blank fresh uefi a...Hi,<br />So the only way to create a blank fresh uefi app starting point is to clone your simple uefi example? What if I wanted to create one from scratch? How would one do that? What about making a simple driver??<br /><br />Thanksdavidm671https://www.blogger.com/profile/13724049139824702902noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-67768873279827317872017-08-20T08:55:33.386+01:002017-08-20T08:55:33.386+01:00The project is set to use the latest version of Vi...The project is set to use the latest version of Visual Studio. As such, ever since VS2017 has been released, VS2015 is no longer supported.Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-2365783257023908372017-08-19T23:29:37.850+01:002017-08-19T23:29:37.850+01:00Hi Pete,
I have VS 2015 installed and used the gi...Hi Pete,<br /><br />I have VS 2015 installed and used the git console to clone the project but running into a few roadblocks. 1. VS says project out of date. 2. When i try to compile it VS errs and says missing v141 project tools. How can i fix this?<br /><br />Thanksdavidm671https://www.blogger.com/profile/13724049139824702902noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-6181053506972837642016-04-20T11:28:39.320+01:002016-04-20T11:28:39.320+01:00Note that the project has now been fixed with the ...Note that the project has now been fixed with the solution proposed by Armin. Thanks!Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-91638270719951806482016-04-20T08:47:11.635+01:002016-04-20T08:47:11.635+01:00Done. Submitted the issue/solution to your github....Done. Submitted the issue/solution to your github.Anonymoushttps://www.blogger.com/profile/10323342628966402550noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-20639129253020392642016-04-20T08:42:36.447+01:002016-04-20T08:42:36.447+01:00Pete, fur helping future newbies like me, in Proje...Pete, fur helping future newbies like me, in Project Options, under Debugging --> Command Arguments:<br />Change them to:<br />//d .msvc\debug.vbs "$(TargetPath)" "$(PlatformShortName)"<br /><br />Pretty much add quotes around TargetPath and PlatformShortName ... A lot of users have spaces in paths they use...forlders... Like me. This will make their lives easier.Anonymoushttps://www.blogger.com/profile/10323342628966402550noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-22031958463458043082016-04-20T08:33:47.344+01:002016-04-20T08:33:47.344+01:00Please open a github issue at: https://github.com/...Please open a github issue at: https://github.com/pbatard/uefi-simple/issues and I will help you there.Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-74123956407425841212016-04-20T08:15:44.902+01:002016-04-20T08:15:44.902+01:00Hello, I am trying to build this UEFI_Simple in Vi...Hello, I am trying to build this UEFI_Simple in Visual Studio 2015 Enterprise, but it doesn't launch anything. First debug.vbs says "Unsupported debug target: -", which I resolved by manually saying Target = "x64".<br /><br />And now it gives me "Unhandled exception"... The line giving me error is:<br />Call fso.CopyFile(WScript.Arguments(0), "image\efi\boot\" & BOOT_NAME, True)<br /><br />Any help?Anonymoushttps://www.blogger.com/profile/10323342628966402550noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-82167985788845362062016-03-05T23:03:26.063+00:002016-03-05T23:03:26.063+00:00To get this running in VS 2013:
- For both project...To get this running in VS 2013:<br />- For both projects in the Solution Explorer, right-click and choose properties. Under Navigation Properties->General change the value of the option 'Platform Toolset' to Visual Studio 2013 (v120)<br /><br />- For project uefi-simple, right-click and choose properties. Under Linker->Input remove the second and third lib file from the option 'Additional Dependencies'. The names of these files will be slightly different for Release and Debug builds (libucrt.lib/libvcruntime.lib and libucrtd.lib/libvcruntimed.lib respectively).Anonymoushttps://www.blogger.com/profile/01485788692902116575noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-43392319205383272482015-10-19T14:22:58.236+01:002015-10-19T14:22:58.236+01:00Hi Pete, I feel sorry to consult you but I really ...Hi Pete, I feel sorry to consult you but I really wish to compile x64 assembly within UEFI:SIMPLE.<br />I can see two or more .S files in gnu-efi, does it indicate there is a way to compile ATT syntax assembly with vs although there is no support for inline assembly?Anonymoushttps://www.blogger.com/profile/04819894003885038548noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-18698994937058063682015-09-30T15:26:33.616+01:002015-09-30T15:26:33.616+01:00The README from the project also details how you c...The README from the project also details how you can update the files manually. At the very end it says:<br /><br />"In case the download fails, you can download the latest from: http://tianocore.sourceforge.net/wiki/OVMF and extract the OVMF.fd as OVMF_x86_32.fd or OVMF_x86_64.fdin the top directory."Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-77135346053943820312015-09-30T14:13:52.332+01:002015-09-30T14:13:52.332+01:00Very much thanks to your creative works where you ...Very much thanks to your creative works where you save us from edk2.Anonymoushttps://www.blogger.com/profile/04819894003885038548noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-52837232819412223122015-09-30T14:10:18.059+01:002015-09-30T14:10:18.059+01:00after you have download the zip file,
extract the ...after you have download the zip file,<br />extract the .fd file and <br />rename it to<br /> OVMF_x86_32.fd<br />or<br /> OVMF_x86_64.fdAnonymoushttps://www.blogger.com/profile/04819894003885038548noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-91369944991143920162015-09-30T14:00:34.581+01:002015-09-30T14:00:34.581+01:00Sometimes one may want to install OVMF manaully, t...Sometimes one may want to install OVMF manaully, the download URL is<br /><br />ftp://ftp.heanet.ie/pub/download.sourceforge.net/pub/sourceforge/e/ed/edk2/OVMF/OVMF-X64-r15214.zip<br /><br />or<br /><br />ftp://ftp.heanet.ie/pub/download.sourceforge.net/pub/sourceforge/e/ed/edk2/OVMF/OVMF-IA32-r15214.zipAnonymoushttps://www.blogger.com/profile/04819894003885038548noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-70866287792148746992015-09-30T13:41:58.058+01:002015-09-30T13:41:58.058+01:00It doesnt seem that easy to locate a 64bit QEMU bi...It doesnt seem that easy to locate a 64bit QEMU binary copy for Windows.<br /><br />actually we can find some links here<br /><br /><br />http://wiki.qemu.org/Links<br /><br /><br />and for 64 bit, here<br /><br /><br />http://qemu.weilnetz.de/<br /><br /><br />it may take some time for beginners of QEMU to understand what they want is not in the download page.Anonymoushttps://www.blogger.com/profile/04819894003885038548noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-88565931137943845222015-04-23T23:47:55.502+01:002015-04-23T23:47:55.502+01:00Please try to use the github tracker to report iss...Please try to use the github tracker to report issues - it's A LOT easier for everyone, and I only check blog comments on a very infrequent basis.<br /><br />I've re-cloned the project from scratch from github, re-issued git submodule init & git submodule update, and I don't see any issue.<br />Either your installation of Visual Studio 2013 is missing something, or not set with default settings for C compilation, or you modified some settings. Judging from the error, it would look to me like your VS 2013 is set to force C++ compilation always (and I'm not sure how you did that). Please make sure it is set to compile pure C too.Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-18858765716949780772015-04-23T20:24:41.895+01:002015-04-23T20:24:41.895+01:00What I do wrong? I just download project and try c...What I do wrong? I just download project and try compile it. Log:<br />1>------ Build started: Project: uefi-simple, Configuration: Debug x64 ------<br />1> main.c<br />//some warning<br />1>c:\users\артём\desktop\uefi-simple-master\gnu-efi\inc\efipoint.h(70): warning C4091: 'typedef ': ignored on left of '_EFI_ABSOLUTE_POINTER_PROTOCOL' when no variable is declared<br />1>LINK : error LNK2001: unresolved external symbol EfiMain<br />1>libcmtd.lib(init.obj) : error LNK2019: unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT<br />1>libcmtd.lib(init.obj) : error LNK2019: unresolved external symbol _CrtDbgReportW referenced in function _CRT_RTC_INITW<br />1>libcmtd.lib(error.obj) : error LNK2001: unresolved external symbol __C_specific_handler<br />1>libcmtd.lib(pdblkup.obj) : error LNK2019: unresolved external symbol wcscpy_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z)<br />1>libcmtd.lib(pdblkup.obj) : error LNK2019: unresolved external symbol _wmakepath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z)<br />1>libcmtd.lib(pdblkup.obj) : error LNK2019: unresolved external symbol _wsplitpath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z)<br />1>libcmtd.lib(gs_report.obj) : error LNK2019: unresolved external symbol __vcrt_CaptureCurrentContext referenced in function __report_securityfailure<br />1>libcmtd.lib(gs_report.obj) : error LNK2019: unresolved external symbol __vcrt_CapturePreviousContext referenced in function __report_gsfailure<br />1>libcmtd.lib(gs_report.obj) : error LNK2019: unresolved external symbol __vcrt_TerminateProcess referenced in function __raise_securityfailure<br />1>libcmtd.lib(gs_report.obj) : error LNK2019: unresolved external symbol __vcrt_UnhandledException referenced in function __raise_securityfailure<br />1>gnu-efi.lib(print.obj) : error LNK2019: unresolved external symbol _vacopy referenced in function DbgPrint<br />1>C:\Users\Артём\Desktop\uefi-simple-master\x86_64\Debug\uefi-simple.efi : fatal error LNK1120: 12 unresolved externals<br />========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========dj arthttps://www.blogger.com/profile/17258587809794846632noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-41610555752442937252015-02-11T22:05:17.504+00:002015-02-11T22:05:17.504+00:00Please post comments under a relevant topic. It...Please post comments under a relevant topic. It's very rude to use comments from the first blog post you find, regardless of its content, to try to communicate with the author of a site, especially when my e-mail address is easily accessible from both the Rufus application and the Rufus web page...<br /><br />Now, about Google ads, yeah, it seems Google is pretty loose with regards to the kind of ads they serve. But I do filter ad categories as much as I can, to remove the more obnoxious ones (but there again, Google imposes an arbitrary limit, so I can't filter as much as I can, in which case I'd only have the "Technology" category allowed), and I made sure I place the ads in a location (right sidebar), where it should be fairly obvious that they are just ads.<br /><br />So I'm a bit tow minds here: I've done what I could with Google, but it's hard to fight them when they obviously have a vested and very obvious interest in allowing more than site owners would like to serve (and are DELIBERATELY preventing them from filtering them all). And I also have to say that trying to babysit people about deceptive ads is not going to make the world any better: at one stage, everybody on the internet needs to be able to tell what is a deceptive ad and what isn't, which, really, shouldn't be that difficult. Otherwise, they are going to fall prey to many more deceptive practices...Pete Batardhttps://www.blogger.com/profile/09315085625194033420noreply@blogger.comtag:blogger.com,1999:blog-8361942945221983453.post-1988399558274250232015-02-10T17:53:17.876+00:002015-02-10T17:53:17.876+00:00Pete, it appears your site and the rufus download ...Pete, it appears your site and the rufus download page are serving up malicious ads designed to appear as download buttons. You may want to take it up with google asd services.<br /><br />If you can't see it yourself due to your location, I can provide screenshots. Reach out to me via email: DAVID#DCBARRY#COM. (first hashtag @, second "dot")DCBhttps://www.blogger.com/profile/06706089036352895638noreply@blogger.com