mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 23:25:54 +03:00
[PR #1684] [CLOSED] Add Agama installer support for openSUSE Leap 16.0 #3043
Labels
No labels
Hacktoberfest
Hacktoberfest
bootloader
bsd
bug
confirmed
documentation
duplicate
enhancement
enhancement
enhancement
eol
experimental-merged
freebsd
help wanted
invalid
investigate
ipxe
linux
live-os
memdisk
menu
no-issue-activity
no-issue-activity
pull-request
released
todo
upstream
windows
windows
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/netboot.xyz#3043
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/netbootxyz/netboot.xyz/pull/1684
Author: @Copilot
Created: 10/4/2025
Status: ❌ Closed
Base:
development← Head:copilot/fix-6503c0f7-4459-4828-8fe9-0b7f297ed932📝 Commits (2)
2203acdInitial planb9fa0a9Add Agama installer support for openSUSE Leap 16.0📊 Changes
1 file changed (+14 additions, -0 deletions)
View changed files
📝
roles/netbootxyz/templates/menu/opensuse.ipxe.j2(+14 -0)📄 Description
Problem
openSUSE Leap 16.0 fails to boot via netboot.xyz, dropping to an emergency shell with the error:
This occurs because Leap 16.0 has replaced the traditional YaST installer with the new Agama installer, which requires different kernel boot parameters.
Root Cause
The existing iPXE template used the same kernel parameters for all openSUSE versions:
The
install=parameter is YaST-specific and causes initramfs to search for a device by label. This device label doesn't exist in network boot scenarios, causing Agama-based installations to fail.Solution
This PR adds version detection to the openSUSE iPXE template to handle Agama and YaST installers differently:
For openSUSE Leap 16.0 (Agama):
rd.neednet=1- Tells dracut that network is required for bootagama.auto=1- Enables Agama automatic installation modeinstall=parameter that was causing the device label searchFor openSUSE Leap 15.6 and tumbleweed (YaST):
Changes
Modified
roles/netbootxyz/templates/menu/opensuse.ipxe.j2::agama_bootsection with Agama-specific kernel parameters:yast_bootsection preserving traditional YaST behaviorTesting
Impact
Fixes issue where users could not launch openSUSE Leap 16.0 network installations.
Original prompt
This section details on the original issue you should resolve
<issue_title>Cannot launch openSUSE Leap 16.0 Agama-based installer</issue_title>
<issue_description>- [x] This bug persists when memory is increased beyond 8GB.
Describe the bug
netboot.xyz failed to boot a openSUSE Leap 16.0 installer due to the fact that initramfs cannot find squashfs device.
To Reproduce
Steps to reproduce the behavior:
Linux Network Installs (64-bit).openSUSE.openSUSE Leap 16.0.Expected behavior
Wait for a while and initramfs droped us to the emergency shell.
/run/initramfs/rdsosreport.txtreported that initramfs had searched USB drives with openSUSE label, trying to load squashfs, but failed.Screenshots
Additional context
Reproduced at following hosts:
Leap 16.0 has retired YaST in favor of the new Agama-based installer. Many kernel parameters may change.</issue_description>
<agent_instructions>I'll help you find the kernel flags needed to boot openSUSE over iPXE using the Agama installer. Let me search for information about this.Great! I found some relevant information about booting openSUSE with Agama installer using iPXE. Let me search for more specific information about the kernel parameters.Based on the search results I found in GitHub repositories related to openSUSE testing infrastructure, I can provide you with information about kernel flags for booting openSUSE over iPXE using the Agama installer.
From the openSUSE test automation code, here are the key kernel flags used for Agama iPXE installations:
Core Agama Kernel Parameters
Basic Agama parameters:
inst.auto= - Points to the Agama auto-installation profile
inst.finish=stop - Controls installation finishing behavior
inst.install_url= - Override default installation repositories
inst.register_url= - SCC registration URL
Live ISO boot parameters:
root=live:<ISO_URL> - Points to the Agama live ISO
live.password= - Sets the live system password
Console and Logging Parameters
For IPMI/serial console setups:
console=<console_spec> - e.g., console=ttyS1,115200
linuxrc.log=/dev/ - Logging output device
linuxrc.core=/dev/ - Core dump location
linuxrc.debug=4,trace - Debug level and tracing
Additional Parameters
Network and extra parameters:
AGAMA_NETWORK_PARAMS - Network-specific configuration
EXTRA_PXE_CMDLINE - Additional PXE command line options
EXTRABOOTPARAMS - Extra boot parameters
CPU_BOOTPARAMS - CPU-specific parameters (if enabled)
Example iPXE Boot Script Structure
From the test code, a typical Agama iPXE boot script looks like:
Code
#!ipxe
kernel <kernel_url> root=live:<agama_iso_url> live.password= inst.auto=<profile_url> console= linuxrc.debug=4,trace
initrd <initrd_url>
boot
Note: These search results are from openSUSE's automated testing infrastructure and may be incomplete. For the most current and complete documentation, I recommend checking:
The official openSUSE Agama project documentation
openSUSE's installation guide
The Agama installer GitHub repository
You can view more search results on GitHub for additional kernel parameter configurations.
I've found for openSUSE 16.0 these parameters work:
kernel ${opensuse_mirror}/${dir}/${kernel_url}/linux root=live:https://slc-mirror.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-x86_64.install.iso
initrd ${opensuse_mirror}/${dir}/${kernel_url}/initrd
to boot into the installer</agent_instructions>
Comments on the Issue (you are @copilot in this section)
@antonym Yeah, I ran into this when testing yesterday. Doesn't seem to be many docs on it to see if netboot path is still supported. If you track down anything, please notate it here.Probably just need the new incantation of kernel flags for it.</comment_new>
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.