[GH-ISSUE #810] [Gentoo] Boot fails due to not being able to bootstrap networking #1764

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

Originally created by @samip5 on GitHub (Dec 31, 2020).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/810

Describe the bug
Gentoo fails init networking, and thus booting fails and it drops to a rescueshell without rootfs.

To Reproduce
Steps to reproduce the behavior:

  1. Boot up netboot.xyz, using the EFI image.
  2. Go to Linux network installers
  3. Scroll to Gentoo
  4. Click autobuilds and the latest autobuild
  5. Watch it try to boot and fail.

Expected behavior
I would be dropped to a normal live environment shell.

Screenshots
image

Additional context
Proxmox VM, using qemu and tried with both virtio network and Intel E1000.

Originally created by @samip5 on GitHub (Dec 31, 2020). Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/810 **Describe the bug** Gentoo fails init networking, and thus booting fails and it drops to a rescueshell without rootfs. **To Reproduce** Steps to reproduce the behavior: 1. Boot up netboot.xyz, using the EFI image. 2. Go to Linux network installers 3. Scroll to Gentoo 4. Click autobuilds and the latest autobuild 5. Watch it try to boot and fail. **Expected behavior** I would be dropped to a normal live environment shell. **Screenshots** ![image](https://user-images.githubusercontent.com/1703002/103388077-d4b29c80-4b0f-11eb-8702-707abb1033b1.png) **Additional context** Proxmox VM, using qemu and tried with both virtio network and Intel E1000.
kerem 2026-03-01 18:36:10 +03:00
Author
Owner

@antonym commented on GitHub (Dec 31, 2020):

Confirmed, tried this on promox too and got the same result. ip addr isn't showing any networking devices.

<!-- gh-comment-id:753050567 --> @antonym commented on GitHub (Dec 31, 2020): Confirmed, tried this on promox too and got the same result. ip addr isn't showing any networking devices.
Author
Owner

@thelamer commented on GitHub (Dec 31, 2020):

I would guess the full init I pulled last year is out of date:
https://github.com/netbootxyz/asset-mirror/blob/gentoo/root/modlayer/init
I modded in the curl command section: (If I recall correctly)
https://github.com/netbootxyz/asset-mirror/blob/gentoo/root/modlayer/init#L1018

<!-- gh-comment-id:753119445 --> @thelamer commented on GitHub (Dec 31, 2020): I would guess the full init I pulled last year is out of date: https://github.com/netbootxyz/asset-mirror/blob/gentoo/root/modlayer/init I modded in the curl command section: (If I recall correctly) https://github.com/netbootxyz/asset-mirror/blob/gentoo/root/modlayer/init#L1018
Author
Owner

@thelamer commented on GitHub (Dec 31, 2020):

@samip5 Test out this build, I re-patched the current init:
https://s3.amazonaws.com/dev.boot.netboot.xyz/170cdf8b1a64558d292b25c0f1921dffa9c035c3/index.html
It is working in virtualbox:
gentoo

<!-- gh-comment-id:753196123 --> @thelamer commented on GitHub (Dec 31, 2020): @samip5 Test out this build, I re-patched the current init: https://s3.amazonaws.com/dev.boot.netboot.xyz/170cdf8b1a64558d292b25c0f1921dffa9c035c3/index.html It is working in virtualbox: ![gentoo](https://user-images.githubusercontent.com/1852688/103426248-eb3b1100-4b6c-11eb-85c9-f3188362109c.png)
Author
Owner

@samip5 commented on GitHub (Dec 31, 2020):

@samip5 Test out this build, I re-patched the current init:
https://s3.amazonaws.com/dev.boot.netboot.xyz/170cdf8b1a64558d292b25c0f1921dffa9c035c3/index.html
It is working in virtualbox:
gentoo

Should that work just from booting the menu and switching endpoint to dev and then trying to launch it?
If so, it does not work.

Network adapter is set to virtio.

<!-- gh-comment-id:753214313 --> @samip5 commented on GitHub (Dec 31, 2020): > @samip5 Test out this build, I re-patched the current init: > https://s3.amazonaws.com/dev.boot.netboot.xyz/170cdf8b1a64558d292b25c0f1921dffa9c035c3/index.html > It is working in virtualbox: > ![gentoo](https://user-images.githubusercontent.com/1852688/103426248-eb3b1100-4b6c-11eb-85c9-f3188362109c.png) Should that work just from booting the menu and switching endpoint to dev and then trying to launch it? If so, it does not work. Network adapter is set to virtio.
Author
Owner

@thelamer commented on GitHub (Dec 31, 2020):

Not sure about pulling in the menus, but the start network stuff is referenced outside of this init file.
If it is not working it is likely auto networking does not work at all for you.(you can test this by booting the ISO)
In general the gentoo livecd is not super special afaik, you should be able to follow their guide from almost any live distro.
I'm not super comfortable with maintaining patches past this to make their pre init network stuff more robust.
It works for me on bare metal and virtualbox.
In all likelyhood it is something simple like your device names not being ethX and this simple bash pre-init logic cannot handle that.

<!-- gh-comment-id:753218853 --> @thelamer commented on GitHub (Dec 31, 2020): Not sure about pulling in the menus, but the start network stuff is referenced outside of this init file. If it is not working it is likely auto networking does not work at all for you.(you can test this by booting the ISO) In general the gentoo livecd is not super special afaik, you should be able to follow their guide from almost any live distro. I'm not super comfortable with maintaining patches past this to make their pre init network stuff more robust. It works for me on bare metal and virtualbox. In all likelyhood it is something simple like your device names not being ethX and this simple bash pre-init logic cannot handle that.
Author
Owner

@samip5 commented on GitHub (Dec 31, 2020):

Not sure about pulling in the menus, but the start network stuff is referenced outside of this init file.
If it is not working it is likely auto networking does not work at all for you.(you can test this by booting the ISO)
In general the gentoo livecd is not super special afaik, you should be able to follow their guide from almost any live distro.
I'm not super comfortable with maintaining patches past this to make their pre init network stuff more robust.
It works for me on bare metal and virtualbox.
In all likelyhood it is something simple like your device names not being ethX and this simple bash pre-init logic cannot handle that.

The issue is that there is NO ethernet device detected, which is why it fails and yes Gentoo .ISO directly works fine with virtio.

<!-- gh-comment-id:753219030 --> @samip5 commented on GitHub (Dec 31, 2020): > Not sure about pulling in the menus, but the start network stuff is referenced outside of this init file. > If it is not working it is likely auto networking does not work at all for you.(you can test this by booting the ISO) > In general the gentoo livecd is not super special afaik, you should be able to follow their guide from almost any live distro. > I'm not super comfortable with maintaining patches past this to make their pre init network stuff more robust. > It works for me on bare metal and virtualbox. > In all likelyhood it is something simple like your device names not being ethX and this simple bash pre-init logic cannot handle that. The issue is that there is NO ethernet device detected, which is why it fails and yes Gentoo .ISO directly works fine with virtio.
Author
Owner

@thelamer commented on GitHub (Dec 31, 2020):

I am picking up what you are throwing down, just trying to explain to you that it is upstream. I can't make device detection or naming conventions more robust in these pre init scripts. This is their recomended methodology https://wiki.gentoo.org/wiki/Installation_alternatives#Through_HTTP.2FFTP .

<!-- gh-comment-id:753219744 --> @thelamer commented on GitHub (Dec 31, 2020): I am picking up what you are throwing down, just trying to explain to you that it is upstream. I can't make device detection or naming conventions more robust in these pre init scripts. This is their recomended methodology https://wiki.gentoo.org/wiki/Installation_alternatives#Through_HTTP.2FFTP .
Author
Owner

@antonym commented on GitHub (Dec 31, 2020):

Thanks @thelamer, the dev endpoint build is finding the networking now via Proxmox (KVM). I had a feeling it was the init, just wasn't sure what the diffs you had made previously were. Will close this one out. Thanks for raising the issue @samip5!

<!-- gh-comment-id:753222073 --> @antonym commented on GitHub (Dec 31, 2020): Thanks @thelamer, the dev endpoint build is finding the networking now via Proxmox (KVM). I had a feeling it was the init, just wasn't sure what the diffs you had made previously were. Will close this one out. Thanks for raising the issue @samip5!
Author
Owner

@samip5 commented on GitHub (Jan 10, 2021):

@thelamer Verified that the dev endpoint init works with the X570 AM4 board too.

<!-- gh-comment-id:757515908 --> @samip5 commented on GitHub (Jan 10, 2021): @thelamer Verified that the dev endpoint init works with the X570 AM4 board too.
Author
Owner

@thelamer commented on GitHub (Jan 10, 2021):

I mean that just means the kernel lacks drivers for the non functioning board/vm solutions. They are likely modules in the squashfs check for stuff in /lib/modules by unsquashing.
Again, these are upstream things, I am not comfortable expanding the functionality of the embedded initrd outside of putting a stand alone curl bin in there and the simple init patch.
Upstream projects are generally resistent to these types of changes as they are corner case, and given gentoo's general policy of document customizations and rarely commit code I would say this may never happen.
Again I also want to emphasize the process of installing Gentoo is extremely manual, afaik most any live distro will do. The meat and potatoes of the process all involves imaging the stage 3 tarball and installing a bootloader.

<!-- gh-comment-id:757556352 --> @thelamer commented on GitHub (Jan 10, 2021): I mean that just means the kernel lacks drivers for the non functioning board/vm solutions. They are likely modules in the squashfs check for stuff in /lib/modules by unsquashing. Again, these are upstream things, I am not comfortable expanding the functionality of the embedded initrd outside of putting a stand alone curl bin in there and the simple init patch. Upstream projects are generally resistent to these types of changes as they are corner case, and given gentoo's general policy of document customizations and rarely commit code I would say this may never happen. Again I also want to emphasize the process of installing Gentoo is extremely manual, afaik most any live distro will do. The meat and potatoes of the process all involves imaging the stage 3 tarball and installing a bootloader.
Author
Owner

@samip5 commented on GitHub (Jan 10, 2021):

I did say that it works fine with the dev endpoint currently.

<!-- gh-comment-id:757557385 --> @samip5 commented on GitHub (Jan 10, 2021): I did say that it works fine with the dev endpoint currently.
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#1764
No description provided.