https://github.com/zabot/php-multiboot
A PHP script that generates iPXE boot menus from the contents of a served directory
https://github.com/zabot/php-multiboot
Last synced: 2 months ago
JSON representation
A PHP script that generates iPXE boot menus from the contents of a served directory
- Host: GitHub
- URL: https://github.com/zabot/php-multiboot
- Owner: Zabot
- Created: 2019-05-14T07:25:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T03:34:21.000Z (over 4 years ago)
- Last Synced: 2025-01-25T09:42:18.236Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PXE Dynamic Multiboot
Dynamically generates an ipxe menu script from the contents of a directory.## Config
`config.ini` specifies the root directory for the menu## Supported Files
* .iso: `sanboot http://$host/path/to/iso`
* .pxe: `chain --autofree http://$host/path/to/pxe`
* .txt: Command used is contents of txt file# Building iPXE
The generated script should be booted from iPXE. You can embed a script into
an iPXE rom using the `EMBED=myscript.ipxe` flag during the inital build.# Booting a kernel+ramdisk
Extract vmlinuz and initrd into a served directory. Create a file called `config.ini`.
A simple config file is shown:
```
[Alpine Vanilla]
kernel = vmlinuz-vanilla
initrd = initramfs-vanilla
bootargs = 'nomodeset modloop=${hostpath}/modloop-vanilla'
```
The section name will be displayed on the menu. Multiple sections can be used
to indicate multiple boot configurations. Directories containing a `config.ini`
will not be traversed for other bootable files.The string `${hostpath}` can be used in bootargs to indicate the network
path of the directory containing config.ini.