Skip to content

Commit

Permalink
Add pictures to README
Browse files Browse the repository at this point in the history
  • Loading branch information
Manawyrm authored Oct 31, 2023
1 parent 24ed88e commit dd6a1a0
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# NVMe INT13h Option ROM
Boot legacy PCs from NVMe storage
Boot legacy PCs from NVMe storage:

![Screenshot of VM talking to NVMe storage](https://screenshot.tbspace.de/qskumcgfvtx.png)
![T43 showing the NVME BIOS init message](https://screenshot.tbspace.de/bsqzafghutv.jpg)
![T43 Boot Menu showing a NVMe option](https://screenshot.tbspace.de/rdmgtabvhpl.jpg)

This project allows old x86 computers using a classic BIOS to boot from modern NVMe storage attached via PCI(e).
It's a heavily modified version of [iPXE](https://ipxe.org/start) (which usually allows for booting from the network), but
Expand All @@ -25,12 +26,13 @@ Very little fault tolerance and testing on different devices.
- Option ROM, USB flash drive, SD card, CD-ROM, chainloading (e.g. from grub) booting supported

## Limitations
- Write support is currently disabled. The code is present, but it's additional danger for no benefit (for my usecase).
- 64bit BARs are probably not handled correctly (untested!).
- Write support is currently disabled. The code is present, but it's additional danger for no benefit (for my usecase)
- Only 1 NVMe drive (with 1 namespace) is properly handled at the moment
- 64bit BARs are probably not handled correctly (untested!)

## Similar projects / Alternatives
There are 2 other Option ROMs publicly available:
- Samsung 950 Pro (exposed by the PCIe device, device-specific)
- community modded VMWare NVMe ROM (didn't work on my hardware, did work in QEMU)

This project is GPL-licensed, can be freely redistributed (both as binaries and source) and can be instrumented/debugged easily (as it's written in C).
This project is GPL-licensed, can be freely redistributed (both as binaries and source) and can be instrumented/debugged easily (as it's written in C).

0 comments on commit dd6a1a0

Please sign in to comment.