Is there an OS or another Linux distribution that matches Debian's performance in this respect, without the complexity of an entire Linux system? Could Debian be stripped down (and then how are updates applied)?
Is there an OS or another Linux distribution that matches Debian's performance in this respect, without the complexity of an entire Linux system? Could Debian be stripped down (and then how are updates applied)?
I don't really know why you would want do that (though, RHEL based would be a reasonable 2nd option)
Performance of the distro isnt really a big deal because the OS has so little to do with the day to day packet shuffling, My switch runs at a load average (crappy metric I know, but to give you a idea) of 0.04.
I apply updates with apt update and apt upgrade, as you would a normal Debian server. Only the kernel is pinned since it is special for the switch, however you can rebuild the kernel deb's when you want, as the driver is in the mainline kernel repo.
This could be done with any Linux. I'm not sure what 'complexity' you are referring to, but the complex open modular nature of the Linux kernel allows us the flexibility to build a custom kernel for this interesting application without unnecessary modules. To be frank all modern operating systems are complex because modern hardware is complex and user expectations are high. Some just do a great job of hiding the complexity from the user. Linux makes an attempt to expose it's complexity, but it's complexity is about the same as iOS, macOS, Windows, etc.
If you wanted to do without Debian or any distribution you could compile your own kernel, your own user space tools, and then install it on the hardware. At this point updates would need to be applied by pulling code from upstream and compiling it yourself. Look into Linux From Scratch to get an idea of how Linux without a distribution works. However, I don't think the juice is worth the squeeze in this situation.
EDIT: My answer to "is there another OS", to which the answer is yeah, probably a dozen. I think a blog post of doing this with openBSD would be interesting because I'm not sure what the exact steps are to install custom drivers on a BSD and openBSD has a very high standard for security. I think the reason it's done on Linux is because there is a lot of expertise about Linux and this type of project is relativity straightforward with Linux.
All you need is a driver for the switch chip that serves it as a set of files you can read and write configuration commands to. With the right driver setup you could then configure the chip using human readable textual commands and use a script and standard cmd line tools to configure the switch. We could PXE boot plan 9 and leave the switch diskless. PXE booting plan 9 networks is brain dead simple and works out of the box.
Familiarity with plan 9 and its kernel along with a solid understanding of c. Plan 9 had its own c library which is close to c90 but much cleaner imo. Networking and threading libs are really nice.
Driver might be in two parts like usb where the kernel driver serves up the usb controller and attached devices while user space file servers open the devices and serves them. e.g. a webcam is served as a video stream file.
> Also, is Plan 9 maintained sufficiently?
A community fork known as 9front is maintained and receives patches almost daily. http://git.9front.org/plan9front/plan9front/HEAD/info.html and http://9front.org/releases/
If you like videos here is a really nice channel of a plan 9 hacker: https://www.youtube.com/channel/UC7qFfPYl0t8Cq7auyblZqxA