Skip to content

feat(images): add marketplace-gen1 image - #18468

Open
binujp wants to merge 1 commit into
4.0from
bphilip/add-marketplace-gen1
Open

feat(images): add marketplace-gen1 image#18468
binujp wants to merge 1 commit into
4.0from
bphilip/add-marketplace-gen1

Conversation

@binujp

@binujp binujp commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the Azure Linux 4.0 Marketplace Gen1 BIOS image
  • use systemd-networkd without netplan or post-install config.sh customization
  • include Azure provisioning and temporary cloud-init, chrony/PTP, and Hyper-V guest configuration

Testing

  • built with azldev image build marketplace-gen1 --arch x86_64
  • deployed as a Generation 1 Azure VM
  • verified provisioning, networking, guest agent, sshd, and SSH access

AB#18608

Add the AZL4 1P Marketplace Gen1 (BIOS) image, ported from the azl3.0 marketplace-gen1 image config. Package selection preserves the azl3.0 grouping (core-packages-image, core-packages-base-image, core-packages-container, marketplace-tools, azurevm, hyperv); packages missing in AZL4 are mapped to their closest AZL4 equivalent or dropped.

Legacy BIOS boot is provided via a GPT hybrid (eficsm) disk, matching the azl3.0 GPT + bios_grub layout. Azure guest configuration for cloud-init, chrony/PTP, and Hyper-V udev remains injected as loose image files. There is no config.sh because post-install customization is not needed.

These loose guest customizations are temporary. Follow up by creating appropriate subpackages that own the configuration files, installing those subpackages in the image, and deleting the corresponding KIWI file injections once the subpackages are available.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 727c4c35-afde-4eb0-82bf-b307f6550d58
@binujp
binujp requested a review from a team as a code owner August 17, 2026 15:53
Copilot AI balanced review requested due to automatic review settings August 17, 2026 15:53
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

<package name="azurelinux-repos" />

<!-- Azure marketplace guest configuration -->
<!-- TODO: Move these customizations and files into subpackages, then delete these file entries. -->

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue(blocking): Agreed with the TODO here -- we've worked hard to keep config files out of the image definitions, so placing them in packages/sub-packages is the right call.

@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question(blocking): Did you look at whether we could avoid a completely separate definition and instead find a way for gen1 to be a profile / derivative of vm-base?

@ddstreetmicrosoft Dan Streetman (ddstreetmicrosoft) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue(blocking):

in addition to reubeno's review about reusing/extending our current image definition and placing config files into packages instead of image definitions:

  1. I don't think we want to completely replace the cloud-init or chrony config files.
  2. The udev rule isn't needed, as it's already provided in current rules.
  3. For the systemd drop-in, that might be ok if moved into a package (though I'd like to think more about its potential impact)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants