Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/targetdisk/targetdisk-efi
EFI runtime for USB targetdisk
https://github.com/targetdisk/targetdisk-efi
Last synced: about 1 month ago
JSON representation
EFI runtime for USB targetdisk
- Host: GitHub
- URL: https://github.com/targetdisk/targetdisk-efi
- Owner: targetdisk
- License: agpl-3.0
- Created: 2023-11-02T23:40:13.000Z (about 1 year ago)
- Default Branch: td-efi
- Last Pushed: 2023-12-15T01:08:57.000Z (about 1 year ago)
- Last Synced: 2024-10-25T08:07:01.510Z (3 months ago)
- Language: C
- Size: 26.4 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EFI-based USB Target Disk Mode
![A bouncing trident.](https://github.com/targetdisk/targetdisk-linuxfb/raw/mane/epic_bounce.gif)This repository contains the EFI runtime component of my UEFI-based USB target
disk mode solution.You will need a GNU/Linux machine that supports building ELF objects for your
target system (which POSIX-UEFI's toolchain converts into PE executables for
us).## Getting build dependencies
### POSIX-UEFI
Clone our upstream submodules:
```
git submodule update --init --recursive
```Build POSIX-UEFI:
```
make -j$(nproc) -Cposix-uefi uefi
```## Building
```
make
```## Running with Qemu
If you have a GNU/Linux system with KVM enabled, you can run a demo like so:
```
./qemu_test.sh .
```The above will put you at Tianocore's EFI shell. Simply type the following (and
press enter) to run the application:
```
FS0:\targetdisk.efi
```## Running on real hardware
You can also run the `.efi` on any UEFI-compliant machine that matches the
architecture that you just compiled for. It's easiest if you do it from the
UEFI shell. If your machine doesn't have a Tianocore shell, you can use
something like the Arch Linux install ISO to get one.> If you're an absolute madperson you can also add the `.efi` file to your EFI
> boot vars!## Further reading
- [https://wiki.osdev.org/POSIX-UEFI](https://wiki.osdev.org/POSIX-UEFI)
- [https://uefi.org/specifications](https://uefi.org/specifications)