azurelinux
azurelinux copied to clipboard
[mic][iso] generate PXE-bootable ISO images.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
- [x] The toolchain has been rebuilt successfully (or no changes were made to it)
- [x] The toolchain/worker package manifests are up-to-date
- [x] Any updated packages successfully build (or no packages were changed)
- [x] Packages depending on static components modified in this PR (Golang,
*-staticsubpackages, etc.) have had theirReleasetag incremented. - [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
- [x] All package sources are available
- [x] cgmanifest files are up-to-date and sorted (
./cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json) - [x] LICENSE-MAP files are up-to-date (
./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON) - [x] All source files have up-to-date hashes in the
*.signatures.jsonfiles - [x]
sudo make go-tidy-allandsudo make go-test-coveragepass - [x] Documentation has been updated to match any changes to the build system
- [x] Ready to merge
Summary
This changes updates the Azures Linux Image Customizer to emit iso images that are PXE-ready. The changes include:
- interface:
- configuration: new configuration to specify the download url for the iso.
- command-line: new parameter to export the iso image contents into a folder for easier deployment unto a pxe server.
- implementation:
- implemented the above interface changes.
- extended the set of parameters that must be saved between runs to include the new pxe parameters.
- updated the code to emit a pxe grub.cfg and a pxe dracut config.
- update the dracut package to include an additional download script that will be triggered in the pxe scenario.
Change Log
Does this affect the toolchain?
NO
Associated issues
- #9293
Links to CVEs
- n/a
Test Methodology
- Deploy a PXE server on the network.
- Create an iso and specify the new
--output-pxe-artifacts-dir - Deploy the iso to the pxe server and boot a PXE client.
- Deploy the artifacts folder contents to a the pxe server and boot a PXE client.
- Tested iso-to-iso customization and ensured kernel parameters are augmented.