One of the problems facing any developer working on their own operating system is that of hardware support. With many thousands of peripherals and components that can be found in a modern computer, keeping up requires either the commercial resources of Microsoft or the huge community of Linux.
For a small project such as SerenityOS this becomes a difficult task, and for that reason the primary way to run that OS has always been in an emulator. [Sdomi] however has other ideas, and has put a lot of effort to getting the OS to run on some real hardware. The path to that final picture of a laptop with a SerenityOS desktop is long, but it makes for a fascinating read.
The hardware in question is an Intel powered Dell Chromebook. An odd choice you might think, but they’re cheap and readily available, and they have some useful debugging abilities built in. We’re treated to an exploration of the hardware and finding those debug ports, and since the USB debugging doesn’t work, a Pi Pico clone is squeezed into the case. We like that it’s wired up to the flash chip as well as serial.
Getting access to the serial port from the software turned out to be something of a pain, because the emulated UART wasn’t on the port you’d expect. Though it’s an Intel machine it’s not a PC clone, so it has no need. Some epic hackery involving rerouting serial to the PC debug port ensued, enabling work to start on an MMC driver for the platform. The eventual result is a very exclusive laptop, maybe the only one running SerenityOS on hardware.
We like this OS, and we hope this work will lead to it becoming usable on more platforms. We took a look at it back in 2023, and it’s good to hear that it’s moving forward.
I want one. All in all, I don’t see a problem with it being one piece of equipment.
I’ve been advocating for years that Linux should do that too. Picked one hardware, e.g. old IBM laptops (no chines) and optimize and reduce the size of the kernel. Today HaikuOS or Serenity are much faster than linux.
In the beginning of the 80’s I used to recompile the kernel for our Sun 1 machine to remove the support for hardware that it did not have.
This to in crease the available memory to run programs.
Pretty common back then, all the way to the early 00’s, but module loading makes it pretty irrelevant for most cases on modern (even embedded) hardware.
They are not faster, lighter? Sure, depending on configuration, modern Linux can be stripped down quite far while still retaining functionality. I like Haiku (and actually used BeOS back then) but you have an odd bias.
Also, “picking one architecture”? You realize that Linux runs the Internet and that’s mostly not x86 right? You think dropping ARM support would make it more successful?
They’re mostly not x86/64? I assumed the vast majority of servers today used that architecture. What would they be using? Most SPARC machines were surely put out of service long ago. And to my knowledge, ARM for general purpose computing is a comparatively new thing that probably hasn’t reached deep situation, but admittedly I don’t know for certain.
Okay, stopped being lazy and did some searching. x64 is indeed the dominant architecture for servers on the internet currently, though ARM making some strides forward in recent years.
I am still curious what you were thinking it though?
Having compiled kernels without support for missing hardware, you only get a bit more RAM. The performance benefit is unmeasurable on modern hardware. Afaik Haiku doesn’t have spectre/meltdown mitigation for example, disable that on Linux and see how fast it can be (and forget about using your browser for anything important).
The main noticeable difference in speed comes from the lack of “popular” JavaScript-ridden Electron “apps” and heavy GUI frameworks.
The original developer had SerenityOS running on an old laptop a couple of years ago, 32 bit back then. And there was st least one other dev who had it running on a 64bit machine too, some time after that ..