I got an Alexa device and I’m using an esp8266 to get request from the echo dot. I can wake on lan my Pc but it’s not enough. I have windows and Linux on my Pc so I thought “I need some code to run before boot so I can communicate with my esp8266 to know witch os should be booted”. So I started searching everywhere to find a solution and I think I’m really close to it. What I did was to put the efi-shell as main boot, let it execute the startup.nsh. In this startup.nsh I want to start my efi application who can communicate with the esp8266. Is this the right way to do this thing? Should I do something else? The problem is that I can’t code this app. I can’t understand how to use protocols and which protocols are the solutions. The application should send a simple character to the esp to let it know that the computer is ready to get boot instruction. The esp should reply “1” for windows or “2” for Linux. Can someone give me some advices for this task? Is it the right way or am I doing a lot of useless stuff? Maybe exists a better way
Writing my first EFI application with gnu-efi
960 Views Asked by Raffaele Bertani At
1
There are 1 best solutions below
Related Questions in UEFI
- Direct boot from USB without changing BIOS setting or selecting from boot manager
- Passing 'unsigned short[8]' to parameter of type 'CHAR16 *' (aka 'short *') converts between pointers to integer types with different sign
- UEFI Event Logs
- Patching UEFI Pei module problems with addresses
- Can DUET be run on a computer already has UEFI?
- Syslinux EFI 64bit: start_image() returned Load Error
- Calculate time taken by program to run in uefi
- Creating LVM Partitions for Web App, Database, Unused Space, and Swap on Almalinux 9.3
- UEFI Application for pci link test
- UEFI how to add user
- Is it possible to automate/script MOK (Machine Owner Key) enrollment in RHEL 8 VMware machine?
- How do I get a Unique Partition GUID from a device path in gnu-efi?
- Why is load image returning EFI_NOT_FOUND?
- Is it possible for kernel mode driver to interact with user at system boot?
- Why won't my hello world EFI program build correctly?
Related Questions in GNU-EFI
- How do I get a Unique Partition GUID from a device path in gnu-efi?
- How to I build gnu-efi, for mingw-w64
- GnuUEFI sprintf causes corrupted control flow
- Strange Invalid Parameter error returned in UEFI LocateProtocol and HandleProtocol
- GNU-EFI: How to do callbacks properly (calling convention incompatibilities)?
- Calling own function results in an crash
- How do I return a value and print it out?
- How to modify the Handle order in the UEFI Handle Database?
- How to access efi executable present in another partition using gnu-efi?
- [gnu-efi]: How to call InitializeGlobalIoDevice funtion when I wanna call CMOS Read/Write?
- Odd (possibly) gnu-efi specific data type `UINTN`
- Casting a ELF entry addr into a function in GNU EFI
- Font not recognized by custom kernel
- Return value from efi application to efi shell
- Writing my first EFI application with gnu-efi
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Here is a sample how to load and start an UEFI application with EDK2, porting it to gnu-efi should be an easy task, wrap all gBS-> calls with the uefi_call_wrapper.
Based on the response from the esp8266 you have to start the Linux or Windows loader application.
I posted an UDP sample as answer to your first question.