[GH-ISSUE #964] On Equinix Metal servers installations are freezing due to wrong or missing serial redirection #1794

Closed
opened 2026-03-01 18:36:26 +03:00 by kerem · 6 comments
Owner

Originally created by @thebsdbox on GitHub (Aug 24, 2021).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/964

Describe the bug

Largely described in the reproduce section, but servers are hanging during the installation phase due to wrong or missing serial definitions.

To Reproduce

  1. chose a on-demand c3.small (or other server plan)
  2. chose "custom ipxe" and put the following in the "ipxe script URL"
    http://boot.netboot.xyz
  3. click on "deploy now"
  4. when the netboot is up, chose freebsd or Linux (ubuntu 18.04 bionic beaver)
  5. login to the server via our out of band console, system starts to boot to the chosen OS but will be frozen after a few minutes

Expected behavior
For OSs like FreeBSD the redirect to ttyS1 is missing.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Originally created by @thebsdbox on GitHub (Aug 24, 2021). Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/964 **Describe the bug** Largely described in the reproduce section, but servers are hanging during the installation phase due to wrong or missing serial definitions. **To Reproduce** 1. chose a on-demand c3.small (or other server plan) 2. chose "custom ipxe" and put the following in the "ipxe script URL" http://boot.netboot.xyz 3. click on "deploy now" 4. when the netboot is up, chose freebsd or Linux (ubuntu 18.04 bionic beaver) 5. login to the server via our out of band console, system starts to boot to the chosen OS but will be frozen after a few minutes **Expected behavior** For OSs like FreeBSD the redirect to `ttyS1` is missing. **Screenshots** If applicable, add screenshots to help explain your problem. **Additional context** Add any other context about the problem here.
kerem closed this issue 2026-03-01 18:36:27 +03:00
Author
Owner

@vielmetti commented on GitHub (Aug 24, 2021):

It looks like github.com/netbootxyz/netboot.xyz@df29bd1cc2 has some of the relevant files, but there's no obvious recent commit that I can see to explain this.

<!-- gh-comment-id:904656333 --> @vielmetti commented on GitHub (Aug 24, 2021): It looks like https://github.com/netbootxyz/netboot.xyz/commit/df29bd1cc247265f7bb93603f655a12cfddc0891 has some of the relevant files, but there's no obvious recent commit that I can see to explain this.
Author
Owner

@antonym commented on GitHub (Aug 24, 2021):

I loaded one up and checked ${cmdline} before loading a menu:

iPXE> echo ${cmdline}
console=ttyS1,115200n8
iPXE>

It currently loads up Fedora ok, but It looks like Ubuntu was hanging. I think that recent change put the cmdline variable outside of the dashes and isn't respecting it.

- kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} ${console} -- quiet ${params} initrd=initrd.gz
+ kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} -- quiet ${params} initrd=initrd.gz ${cmdline}

FreeBSD probably won't work in it's existing form since it's using memdisk to load the ISO directly and I don't believe it respects passing any console options to the kernel. I may need to look at seeing if I can just extract the FreeBSD iso and load directly for kernel options.

<!-- gh-comment-id:904688088 --> @antonym commented on GitHub (Aug 24, 2021): I loaded one up and checked ${cmdline} before loading a menu: ``` iPXE> echo ${cmdline} console=ttyS1,115200n8 iPXE> ``` It currently loads up Fedora ok, but It looks like Ubuntu was hanging. I think that recent change put the cmdline variable outside of the dashes and isn't respecting it. ``` - kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} ${console} -- quiet ${params} initrd=initrd.gz + kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} -- quiet ${params} initrd=initrd.gz ${cmdline} ``` FreeBSD probably won't work in it's existing form since it's using memdisk to load the ISO directly and I don't believe it respects passing any console options to the kernel. I may need to look at seeing if I can just extract the FreeBSD iso and load directly for kernel options.
Author
Owner

@antonym commented on GitHub (Aug 24, 2021):

Looks like that fixed Ubuntu and I made the same change to Debian too. I also enabled the Utility menu for EFI builds as that should allow some of those utilities to work as they leverage the kernel console.

<!-- gh-comment-id:904738220 --> @antonym commented on GitHub (Aug 24, 2021): Looks like that fixed Ubuntu and I made the same change to Debian too. I also enabled the Utility menu for EFI builds as that should allow some of those utilities to work as they leverage the kernel console.
Author
Owner

@antonym commented on GitHub (Aug 24, 2021):

Cutting a 2.0.44 release now and that should also enable using the endpoints menu so that development branches can be tested.

<!-- gh-comment-id:904776583 --> @antonym commented on GitHub (Aug 24, 2021): Cutting a 2.0.44 release now and that should also enable using the endpoints menu so that development branches can be tested.
Author
Owner

@thebsdbox commented on GitHub (Aug 24, 2021):

This is excellent! Thanks so much for the incredibly quick turn around !!

<!-- gh-comment-id:904778566 --> @thebsdbox commented on GitHub (Aug 24, 2021): This is excellent! Thanks so much for the incredibly quick turn around !!
Author
Owner

@antonym commented on GitHub (Aug 24, 2021):

It should be released now, I'll probably end up enabling the Utils menu for Legacy mode as well. There should be enough options that will allow serial settings to be passed to kernel to make it usable for some options. Anything that loads an iso or raw hard disk directly with memdisk won't let me pass any kernel options. I'm trying to phase out the memdisk options going forward.

If you see any others that aren't working, feel free to open up another ticket.

<!-- gh-comment-id:904986417 --> @antonym commented on GitHub (Aug 24, 2021): It should be released now, I'll probably end up enabling the Utils menu for Legacy mode as well. There should be enough options that will allow serial settings to be passed to kernel to make it usable for some options. Anything that loads an iso or raw hard disk directly with memdisk won't let me pass any kernel options. I'm trying to phase out the memdisk options going forward. If you see any others that aren't working, feel free to open up another ticket.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/netboot.xyz#1794
No description provided.