Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000Add the following chunk to your existing ISC dhcpd.conf file.
if exists user-class and ( option user-class = "iPXE" ) {
filename "http://boot.smidsrod.lan/boot.ipxe";
}
else {
filename "undionly.kpxe";
}
(or see https://gist.github.com/4008017 for a more elaborate setup
Install convmv if you don't have it
sudo apt-get install convmv
Convert all files in a directory from NFD to NFC:
convmv -r -f utf8 -t utf8 --nfc --notest .
Locate the section for your github remote in the .git/config file. It looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:joyent/node.git
Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:
In this guide I’ve tested a number of different commands and configurations using Docker to run a container with dhcpd (+macvlan driver) to serve my clients in my home network. In the end i’ll migrate from my Windows 2012 R2 Server running DHCP to a much more lightweight Docker container (7.42 MB in total). Wow.
| #!ipxe | |
| set sysrcd-version 4.7.1 | |
| echo Booting SystemRescueCD ${sysrcd-version} x86 for ${initiator-iqn} | |
| # Kernel command-line options are documented here: | |
| # http://www.system-rescue-cd.org/Sysresccd-manual-en_Booting_the_CD-ROM#Network_boot_using_PXE | |
| set base-url sysrcd-${sysrcd-version}-x86/ | |
| kernel ${base-url}isolinux/altker${archs} setkmap=no net.ifnames=0 backstore=off | |
| initrd ${base-url}isolinux/initram.igz | |
| initrd ${base-url}sysrcd.dat /sysrcd.dat | |
| # Load the ramdisk again as a file inside the ramdisk, so our custom init script |
| #!/bin/bash | |
| # inspired by https://gist.github.com/lisawolderiksen/8c6026ef55f04e4f5d6a288b5e53214b | |
| # Apache 2.0 License | |
| usage() { | |
| cat << EOF | |
| This script detects TLS secrets which refer to certificates that don't exist (anymore). | |
| This is the case when error "unable to fetch certificate that owns the secret" occurs in cert-manager (cainjector) logs. |
| # Run a PCI/SMBios/net inventory scan and upload the results. This gives us a | |
| # way of tracking nodes to some extent, leaving us less blind than usual. | |
| # | |
| # We use the iPXE pciscan command to enumerate the PCI bus. For each device, we | |
| # check the 'header type' register at offset 0x0e. If it's type 0 (endpoint), | |
| # we can read the subsystem vendor and device registers too. Unfortunately, if | |
| # the 7th bit of the header type field is set (0x80), it indicates a | |
| # multi-function device. So to check the type, this bit should be masked out. | |
| # Masking is not possible with iPXE commands, so we have to duplicate some of | |
| # the iseq tests. |
| next-server 10.0.3.2; | |
| if ( substring(option vendor-class-identifier, 0, 9) = "AAPLBSDPC" | |
| and substring(option vendor-class-identifier, 10, 4) = "i386" ) { | |
| # This needs to be there to tell the client we're an Apple boot server | |
| option vendor-class-identifier "AAPLBSDPC"; | |
| # Normally the client asks for a list, we respond, they tell us what we want, | |
| # then we send a select back with the information of that image. | |
| # This skips all that and forces the select down to the client. | |
| option vendor-encapsulated-options 01:01:02; | |
| # Use ipxe.efi for native drivers, or snponly.efi for underlying UNDI |
| # Known working dnsmasq version 2.85 config for iPXE proxydhcp usage | |
| # things to replace: | |
| # * 10.1.1.0 - your subnet | |
| # * eth0 - interface to listen on, or switch to bind-dynamic | |
| # * 10.1.1.2 - your tftp server ip | |
| # * http://gentoo.ipxe.se/boot.ipxe - script to run once inside iPXE | |
| # Debug logging | |
| log-debug |