kisslinux / repo

KISS Linux - Official Repositories
https://kisslinux.github.io
MIT License
400 stars 100 forks source link

Busybox ifupdown refuses to work because it "doesn't have all variables" #389

Closed LoganDark closed 2 years ago

LoganDark commented 2 years ago

How am I supposed to set up the network when BusyBox ifupdown is refusing to work for absolutely no reason?

/home/ld # cat /etc/network/interfaces
iface eth0 inet dhcp
/home/ld # ifup eth0
ifup: don't have all variables for eth0/inet

The KISS documentation has nothing, not even a footnote, for network setup. I don't know what I'm supposed to use.

Even the most basic of configuration files won't work, because of this stupid error. Even more annoyingly, this error happens when someone misspells address, so of course that's all of the results when searching Google.

Considering Busybox is completely useless and doesn't implement literally anything, there must be some other solution people on KISS are using. What is that? I have zero idea how to proceed.

I have an eth0 interface as shown by ifconfig -a but I have no way to enable it. ifconfig eth0 up kinda works but I don't get any DHCP or anything, even with dhcpcd installed. (Come to think of it, wtf does "installed" mean? KISS barely has any init at all. This isn't documented either!!)

ioraff commented 2 years ago

You need to have dhcpcd running. The most straightforward way to do this is to enable the runit service:

# ln -s /etc/sv/dhcpcd /var/service

This should be sufficient for ethernet. For Wi-Fi, there's eiwd (which can do its own DHCP) and wpa_supplicant (which dhcpcd has a hook for) in extra. eiwd has some basic usage documentation that can be read with kiss h eiwd. The help page for wpa_supplicant is more lacking, but its usage is no different than with any other distro.

LoganDark commented 2 years ago

You need to have dhcpcd running. The most straightforward way to do this is to enable the runit service:

Well isn't that nice, completely undocumented, but nice.

(Come to think of it, a few other services in there also look useful - acpid, crond, ntpd, syslogd. Maybe mdev as well. Why is this nowhere in the guide??)

Is there a way to get the runit service to start without having to reboot? (I assume runit is the "busybox init" that the website refers to?)

Found the wiki page: https://kisslinux.org/wiki/service-management

I guess I should really just read the entire wiki.

And yeah, I'm familiar with iwd, I always use it on Arch and Alpine. After ethernet, I'll likely go with regular iwd (not eiwd) since I'm going to be installing dbus for pulseaudio and notifications anyway (and I want iwctl for initial setup) :)

LoganDark commented 2 years ago

Thank you, that worked :)

(ifup still complains but apparently dhcpcd knows how to bring up eth0 all on its own)