Skip to content

pritunl/pritunl-boot

Repository files navigation

pritunl-boot

github twitter medium forum

Pritunl Boot is an interactive iPXE boot installation tool. This tool allows for an iPXE Linux installation without knowledge of the system resources such as disk layout and network adapters. The Linux Kickstart installation script will send the resource layout to the boot tool web server. Then the web app will prompt for selecting disks and configuring the network adapters. The Kickstart script will poll the web server waiting for the configuration, and once the selections are made from the web app, the configuration will be applied to the installation.

pritunl

Debugging

During installation use Alt+F2 to access the console then check the log files in /tmp/<ks-log>.

After installation the post install script log is available at /root/ks-post.log and the network configuration log at journalctl -u network-migration.service.

iPXE

An iPXE build is available with HTTPS support for EFI systems.

wget https://pxe.pritunl.com/ipxe.iso
echo "65c60cffe1f578ffa7ce909e3e1ac57fe7eae241cf274194b45d19c89f7391de  ipxe.iso" | sha256sum -c -

Building

sudo dnf -y install git-core npm
git clone https://github.com/pritunl/pritunl-boot.git
cd pritunl-boot
npm install
npx wrangler
npm run dev
rpm run deploy

Building iPXE

sudo dnf -y install git-core gcc binutils make perl xz-devel mtools syslinux xorriso
git clone https://github.com/pritunl/pritunl-boot.git
git clone https://github.com/ipxe/ipxe.git
cd ipxe/src
tee config/local/general.h << 'EOF'
#ifndef CONFIG_LOCAL_GENERAL_H
#define CONFIG_LOCAL_GENERAL_H

/** @file
 *
 * Local general configuration
 *
 */

 /*
 * Banner timeout configuration
 *
 */
#undef BANNER_TIMEOUT
#define BANNER_TIMEOUT          100

/*
 * Download protocols
 *
 */
#define DOWNLOAD_PROTO_HTTPS    /* Secure Hypertext Transfer Protocol */

/*
 * Image types
 *
 * Etherboot supports various image formats.  Select whichever ones
 * you want to use.
 *
 */
#define IMAGE_SCRIPT            /* iPXE script image support */
#define IMAGE_LKRN              /* Linux kernel image support */
#define IMAGE_ZLIB              /* ZLIB image support */
#define IMAGE_GZIP              /* GZIP image support */

/*
 * Command-line commands to include
 *
 */
#define DIGEST_CMD              /* Image crypto digest commands */
#define VLAN_CMD                /* VLAN commands */
#define REBOOT_CMD              /* Reboot command */
#define IMAGE_TRUST_CMD         /* Image trust management commands */
#define PING_CMD                /* Ping command */
#define CERT_CMD                /* Certificate management commands */

#endif /* CONFIG_LOCAL_GENERAL_H */
EOF

make bin-x86_64-efi/ipxe.iso
sha256sum bin-x86_64-efi/ipxe.iso
s3c cp bin-x86_64-efi/ipxe.iso r2-pxe:/ipxe.iso

About

Interactive Linux iPXE Boot Generator

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published