From 93f57df9ccd184732fe18ff02359785964dcf13f Mon Sep 17 00:00:00 2001 From: Ox Date: Mon, 12 Oct 2020 14:11:52 +0200 Subject: [PATCH] Feat: README.md - Adding PXE instructions Adding PXE instructions to boot MLL over network, based on iPXE chainload. --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index e37a05a69..8f64ab6c7 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,33 @@ docker import mll_image.tgz minimal-linux-live:latest docker run -it minimal-linux-live /bin/sh ``` +It is also possible to start MLL over network, using PXE mechanism (often called PXE diskless boot). To achieve that, before building MLL, edit src/.config and set ``OVERLAY_LOCATION`` to ``rootfs`` instead of default ``iso``. Then follow build process, which will build the minimal_linux_live.iso. Extract kernel and rootfs from this iso, and assuming webserver is using ``/var/www/html/`` folder as index, copy files here: + +``` +mount minimal_linux_live.iso +cp -a /mnt/boot/kernel.xz /var/www/html/ +cp -a /mnt/boot/rootfs.xz /var/www/html/ +``` + +Note: on RHEL systems, remember to restore SELinux contexts using ``restorecon -Rv /var/www/html/``. + +Then assuming you are using iPXE as a PXE rom, and that your webserver ip is 10.0.0.1, create file ``/var/www/html/MLL.ipxe`` with the following content: + +``` +#!ipxe +echo Booting MLL +kernel http://10.0.0.1/kernel.xz initrd=rootfs.xz +initrd http://10.0.0.1/rootfs.xz +imgstat +echo All files downloaded, booting in 2s... +sleep 2 +boot +``` + +Note: append your console parameter on the kernel line if using a remote IPMI console. + +And chainload your mail iPXE to this file. + ### Publications Case studies, research papers, publications, presentations, etc. regarding [Minimal Linux Live](https://github.com/ivandavidov/minimal) and [Minimal Linux Script](https://github.com/ivandavidov/minimal-linux-script).