I get the wired Ethernet working on GalliumOS

A project log for Restoring an Asus Chromebox CN60

Free computer if I can get it working

Ken YapKen Yap 01/18/2020 at 22:510 Comments

One oddity is that the wired Ethernet doesn't work under GalliumOS. ifconfig shows no wired interface, only the wireless one. ChromeOS had the wired Ethernet running so it's not a matter of no driver available. A search found a complaint by somebody who got various Linux distros running with a working wired interface, with the exception of Ubuntu. What is it about Ubuntu, which GalliumOS is derived from?

Most likely the driver is in a package not in the ISO, and this has to be installed separately. lspci shows that the Ethernet chip is a Realtek r8168. apt search r8168 turns up a package called r8168-dkms. DKMS is Dynamic Kernel Module Support. This means the driver contains a binary blob or something which makes it impossible for GPL purists to distribute as a binary package. Instead the driver source files are distributed in a package that recompiles the driver against the current kernel when installed or when the kernel is changed.

Installing the package still didn't get me a driver. There was no driver in the the current kernel modules, but there was something matching in an unrelated directory. There was a message towards the end about failure to recreate the initrd. I looked at the error message left in the install log and it turns out that I need to install libelf-dev. Then I ran dpkg-reconfigure r8168-dkms and this time it created a r8168.ko in the current kernel modules.

Still not out of the woods yet. For some reason the interface doesn't come up on boot, but doing ifconfig r8168 works. I'll have to look at this later.