mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 23:25:54 +03:00
[GH-ISSUE #810] [Gentoo] Boot fails due to not being able to bootstrap networking #1764
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#1764
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?
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:
Expected behavior
I would be dropped to a normal live environment shell.
Screenshots

Additional context
Proxmox VM, using qemu and tried with both virtio network and Intel E1000.
@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.
@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
@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:
@samip5 commented on GitHub (Dec 31, 2020):
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.
@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.
@samip5 commented on GitHub (Dec 31, 2020):
The issue is that there is NO ethernet device detected, which is why it fails and yes Gentoo .ISO directly works fine with virtio.
@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 .
@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!
@samip5 commented on GitHub (Jan 10, 2021):
@thelamer Verified that the dev endpoint init works with the X570 AM4 board too.
@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.
@samip5 commented on GitHub (Jan 10, 2021):
I did say that it works fine with the dev endpoint currently.