15c0de15dSLoGin# DragonStub 25c0de15dSLoGin 35c0de15dSLoGinA generic standalone EFI stub for DragonOS kernel, which based on the Linux EFI stub. 45c0de15dSLoGin 55c0de15dSLoGin## Requirements 65c0de15dSLoGin 75c0de15dSLoGinTo build the stub, you need to have the following packages installed: 85c0de15dSLoGin 95c0de15dSLoGin```bash 105c0de15dSLoGinsudo apt install -y gcc-riscv64-linux-gnu 115c0de15dSLoGin``` 125c0de15dSLoGin 135c0de15dSLoGin## Building 145c0de15dSLoGin 155c0de15dSLoGin```bash 165c0de15dSLoGinARCH=riscv64 make -j $(nproc) 175c0de15dSLoGin``` 185c0de15dSLoGin 19*fe0ee6eaSLoGinbuild with payload: 205c0de15dSLoGin 215c0de15dSLoGin```bash 22*fe0ee6eaSLoGinARCH=riscv64 PAYLOAD_ELF=path/to/payload.elf make -j $(nproc) 23*fe0ee6eaSLoGin``` 24*fe0ee6eaSLoGin 25*fe0ee6eaSLoGin## Run 26*fe0ee6eaSLoGin 27*fe0ee6eaSLoGinDry run: 28*fe0ee6eaSLoGin 29*fe0ee6eaSLoGin```bash 30*fe0ee6eaSLoGinARCH=riscv64 make run 31*fe0ee6eaSLoGin``` 32*fe0ee6eaSLoGin 33*fe0ee6eaSLoGinRun with payload: 34*fe0ee6eaSLoGin 35*fe0ee6eaSLoGin```bash 36*fe0ee6eaSLoGinARCH=riscv64 PAYLOAD_ELF=path/to/payload.elf make run 375c0de15dSLoGin``` 385c0de15dSLoGin 395c0de15dSLoGin## Maintainer 405c0de15dSLoGin 415c0de15dSLoGin- longjin <longjin@dragonos.org> 425c0de15dSLoGin 435c0de15dSLoGin## License 445c0de15dSLoGin 455c0de15dSLoGinDragonStub is licensed under the GPLv2 License. See [LICENSE](LICENSE) for details. 465c0de15dSLoGin 475c0de15dSLoGin## References 485c0de15dSLoGin 495c0de15dSLoGin- GNU-EFI: DragonStub built with gnu-efi 50*fe0ee6eaSLoGin- Linux-EFIStub: In Linux kernel source tree: drivers/firmware/efi/libstub 51