This utility generates a netboot directory tree from an Ubuntu Server Live ISO image, an image based on the subiquity installer.
Project description
ubuntu-server-netboot
This utility generates a netboot directory tree from an Ubuntu Server Live ISO image, an image based on the subiquity installer. The tree contents are similar to the contents of the netboot.tar.gz file that debian-installer builds provide. Example:
$ ./ubuntu-server-netboot --url http://releases.ubuntu.com/focal/ubuntu-20.04.2-live-server-amd64.iso
INFO: Downloading http://releases.ubuntu.com/focal/ubuntu-20.04.2-live-server-amd64.iso
INFO: Attempting to download http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/uefi/grub2-amd64/current/grubx64.efi.signed
INFO: Netboot generation complete: /tmp/tmpo54145m2/ubuntu-installer
The --url parameter is used for 2 reasons:
ubuntu-server-netbootwill download the image at runtime to extract the necessary files from it.- Subiquity-based installs need to download an image at install-time.
ubuntu-server-netbootwill generate configuration files that point the installer to this URL.
If you have a local copy of the ISO, you can point to it with the --iso parameter to avoid having ubuntu-server-netboot download an extra copy. Just be sure that --iso and --url point to the same version of the ISO.
Optionally, you can place --autoinstall-url to tell the netbooting process to enable subiquity automation. See our autoinstall example and [the autoinstall and Automated Server Installs
Introduction of Ubuntu Server guide](Automated Server Installs Introduction) for more details.
You can also add additional kernel command line arguments (e.g. "console=ttyS0") to the generated configuration files using the --extra-args parameter.
Usage of the Generated Files
Copy the files generated under the interim folder /tmp/tmpxxx/ubuntu-installer/
to your tftp root folder for netboot, for example /srv/tftp or /var/lib/tftpboot.
You may check your tftpd configuration of the root directory, for instance, tftpd-hpa is /etc/default/tftpd-hpa. Let's copy:
$ sudo cp -r /tmp/tmpxxx/ubuntu-installer/* /srv/tftp
Then your netboot server is ready to go if the corresponding DHCP is set up.
Troubleshooting
For more details on setting up a PXE environment for x86 systems using a legacy BIOS, see this discourse post.
For more details on setting up a PXE environment for UEFI-based systems, see this discourse post.
Dependencies
Today ubuntu-server-netboot needs to run on Ubuntu or another Debian derivative with the following packages installed:
- genisoimage
- mtools
- python3-distro-info
- pxelinux (x86-only)
- syslinux-common (x86-only)
This script is tested with Ubuntu 18.04 ("bionic beaver") and above.
Contribution and Development
Please report bugs to this github issue tracker. The github templates including "Issue" and "Pull requests" are originally forked from this "cookiecutter" templates for python.
Place pytest to cover the basic test sets.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ubuntu-server-netboot-0.1.1.tar.gz.
File metadata
- Download URL: ubuntu-server-netboot-0.1.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-73-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3adf17ceba0f8a051dbf2d78c81c5a375df9d4cf53747ca480b34e3312a5dbec
|
|
| MD5 |
bb21a7949ac8e4d6eccb357bf2304399
|
|
| BLAKE2b-256 |
08b561dd6913eef3ac41864264056e3c5cc7bd4233b6c815a442c882a44daa94
|
File details
Details for the file ubuntu_server_netboot-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ubuntu_server_netboot-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-73-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba1a3c7e2a1f6d23d66b28d98fa326758f4ee8813d76ab7d5724b86747fa4bfa
|
|
| MD5 |
83c0e73c95e772b07f335d5d397ed487
|
|
| BLAKE2b-256 |
1fe9ce510b599ba4c52d3bc9b3034bedb6f8dd0d6ddd3964234738edd9e2da6a
|