Skip to content

Additional payloads supported by Slim Bootloader

License

Notifications You must be signed in to change notification settings

slimbootloader/payloads

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slim Bootloader Payloads

Welcome to the Slim Bootloader payloads project!

This repo contains several additional payloads porting for Slim Bootloader.

Steps to Build a Payload Module

  • Clone latest SBL tree and prepare the build environment following this link.
    git clone https://github.com/slimbootloader/slimbootloader.git SlimBoot

  • Clone payloads repo into SBL tree
    cd SlimBoot
    git clone https://github.com/slimbootloader/payloads.git PayloadModPkg
    cd PayloadModPkg
    git submodule update --init
    cd ..

  • Run preprocessing if required
    For example, for MicroPython it is required to generate build header files
       python PayloadModPkg\MicroPython\Tools\prep.py

  • Build payload module binary
    For example, to build MicroPython payload module, run
       python BuildLoader.py build_dsc -p PayloadModPkg\PayloadModPkg.dsc -d MICRO_PYTHON

  • Copy generated binary to payload binary directory For example, to copy MicroPython binary, run
       mkdir PayloadPkg\PayloadBins
       copy Build\PayloadModPkg\DEBUG_VS2017\IA32\MicroPython.efi PayloadPkg\PayloadBins /y

Steps to Integrate MicroPython

  • Ensure MicroPython.efi is located in PayloadPkg\PayloadBins directory
    If not, please build MicroPython payload module as mentioned above.

  • Enable QEMU SBL Setup feature
    Set self.ENABLE_SBL_SETUP value to 1 in file:
    Platform\QemuBoardPkg\BoardConfig.py

  • Build SBL as normal
    python BuildLoader.py build qemu -k

  • Boot QEMU and enable MicroPython setup payload module launching
    qemu-system-x86_64 -m 256M -cpu max -machine q35 -drive if=pflash,format=raw,file=Outputs\qemu\SlimBootloader.bin -serial telnet:127.0.0.1:8888,server -boot order=a

  • Start a telnet console using Putty telnet 127.0.0.1 port 8888 to connect to QEMU
    Make sure the console screen is set to 100 x 30 with Linux keypad for terminal keyboard.

About

Additional payloads supported by Slim Bootloader

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published