gentoo / releng

[MIRROR] Content related to production of releases
https://gitweb.gentoo.org/proj/releng.git
16 stars 16 forks source link

Add NetworkManager support to the livecd #21

Closed immolo closed 1 week ago

immolo commented 2 months ago

A common user complaint is how bad the minimal cd handles WIFI so this change finally fixes that by switching to NetworkManager and in turn allowing users to have access to nmtui for easy network setup.

For now I've only added it to the amd64 livecd but once it's a had run across a good number of users then I'll add it to all live images and finally get the handbook team to update the outdated networking page we have.

NiKiZe commented 2 months ago

This might break a good number of current uses of the minimal cd.

Please do not break existing network. If anyone wants to use network manager, have them manually start it.

If you still decide to have this on by default, make sure there is a a nonm or similar cmdline option to have it off.

immolo commented 2 months ago

Can you list some examples of how it can break so I can test that please?

NiKiZe commented 2 months ago

Scenario I'm worried about is network boot https://github.com/NiKiZe/Gentoo-iPXE or https://github.com/numberly/gentoo-pxe-builder

And scenarios where there is scripts in place to deal with networking for these kind of automations.

To put it differently, why does nm have to be started by default? For those needing it, why can't they start it when/it needed, they still will need to provide WiFi authentication anyway? (Or as I said, make sure there is an easy way to not have it start by default, similar to nodhcp, some might not even want any network at all, and enabling nm by default breaks that as well)

immolo commented 2 months ago

Thanks, I'll discuss this will Gentoo and see how they what to handle it while testing your setup in the meantime.

benkohler commented 2 months ago

Scenario I'm worried about is network boot https://github.com/NiKiZe/Gentoo-iPXE or https://github.com/numberly/gentoo-pxe-builder

And scenarios where there is scripts in place to deal with networking for these kind of automations.

To put it differently, why does nm have to be started by default? For those needing it, why can't they start it when/it needed, they still will need to provide WiFi authentication anyway? (Or as I said, make sure there is an easy way to not have it start by default, similar to nodhcp, some might not even want any network at all, and enabling nm by default breaks that as well)

So you are relying on the current behavior of livecd-tools autoconfig script starting dhcpcd? I'm not entirely sure how this is "ok" but having NetworkManager script start NM is not.

To put it differently, why does dhcpcd have to be started by default? For those needing it, why can't they start it if/when needed?

benkohler commented 2 months ago

If you're just relying on NM not being started, are you sure it's actually a problem to have it running but not used?

NiKiZe commented 2 months ago

If you're just relying on NM not being started, are you sure it's actually a problem to have it running but not used?

nodhcp option is available This PR adds that, assumingly to not cause issues for NM. So yes, I do assume that NM by default will try to control network configuration, even tho options such as nodhcp was given on kernel cmdline. If it is enabled by default, there should be a nonm option available, just as it is for DHCP. (Based on the other changes in this PR)

Any of these are fine, I'm even fine with NM being default as long as there is a way to disable it. However what I'm saying, and warning for, is that this change might give unexpected behaviour for users. Again this is fine, however it would be nice to not cause issues, or at least warn/inform about such change, and have the option to change this.

For me, if it hits the fan, we will just roll our own patching scripts again, just as we did before squashfs in initrd worked.

Adding NM to the livecd is great! Changing the existing behavior to something that users is not expecting, could be less great, consider separating these 2 things to get more feedback from the community.

immolo commented 2 months ago

Removing the nodhcp bootarg isn't an issue I just did it as it seemed cleaner however you free to discuss this in IRC with me and we can check together what we both need and make sure you are ready for any other future upcoming changing so we don't run into last minute concerns again.

I'm back on Tuesday so either find me in #gentoo-releng on libera.chat or leave a place best to talk to you if not.

NiKiZe commented 2 months ago

Removing the nodhcp bootarg isn't an issue I just did it as it seemed cleaner however you free to discuss this in IRC with me and we can check together what we both need and make sure you are ready for any other future upcoming changing so we don't run into last minute concerns again.

I'm back on Tuesday so either find me in #gentoo-releng on libera.chat or leave a place best to talk to you if not.

Then I just might missunderstand, it does seem like you are adding nodhcp to the default boot options in the PR. If there is something that tries to configure network, and no way to tell it not to, it might become an issue. (Especially since we are used to be able to ask it to not do so.)

I would love to see an NM included minimal cd which could make this easier to test, before making it active by default. And I'm thankful for you answering and being available.

But it might very well be that I'm wrong, and even if I'm not maybe the few that does get issues just have to do the hacks. I'll see what I can do, if not please ignore my concerns and move on.

chinh4thepro commented 2 months ago

I have tested immolo's minimal LiveISO with NetworkManager support and connecting to WiFi works fine. I have tested it on my 2017 MBP A1708, and my desktop with a MSI PRO B650-P WiFi (replaced the onboard WiFi card with an intel one).

immolo commented 1 week ago

I'm going to rebase this in a new design so closing for now.