OS News Archive

Banan-OS: a hobby operating system in C++

This is my hobby operating system written in C++. Currently supports x86_64 and i686 architectures. ↫ Banan-OS git page A hobby operating system as a learning experience, but for once not written in Rust, which in and of itself makes it more unique than you’d think. Despite being mostly a one-person hobby project, it’s ticked quite a few boxes already: SMP, network stack, copy-on-write memory, ELF loading, NVME and ATA support, PS/2 and USB peripheral support, a basic GUI, and a lot more. Contributions are welcomed, too.

VEKOS: the Verified Experimental Kernel Operating System

VEKOS is an experimental operating system written in Rust that focuses on verification and security at its core. This is the first alpha release (v0.0.1) that demonstrates the basic architecture and key features of the system. ↫ VEKOS GitHub page Hobby and experimental operating systems written in Rust are not exactly a novel concept, but that doesn’t mean each new one that comes up isn’t cool. This one is still in its very early stages, but focuses on something quite interesting: every filesystem and memory operation is cryptographically verified using a proof system. It’s already got basic file system operations, signal handling and a scheduler, a shell, and more. Contributions are welcomed.

The OSNews extra special discount bonanza extravaganza Black Friday super coverage

Today is “Black Friday”, which is the day where a lot of retailers, both online and offline, pretend to have massive discounts on things they either raised the prices for a few weeks ago, or for useless garbage they bought in bulk that’ll end up in a landfill within a year. Technology media happily partakes in this event, going full-mask off posting an endless stream of “stories” promoting these discounts. They’re writing ads for fake discounts, often for products from the very companies they’re supposed to report on, and dress them up as normal articles. It’s sad and revealing, highlighting just how much of the technology media landscape is owned by giant media conglomerates. OSNews does not partake. We’re independent, answer to nobody, and are mostly funded directly by you, our readers. If you want to keep it this way, and keep OSNews free from the tripe you see on every other technology site around this time, consider supporting us through Patreon, making a one-time donation through Ko-Fi, or buying some merch. That’s it. That’s our extra special discount bonanza extravaganza Black Friday super coverage.

Managing third-party packages in 9front

Every now and then, news from the club I’m too cool to join, the plan9/9front community, pierces the veil of coolness and enters our normal world. This time, someone accidentally made a package manager for 9front. I’ve been growing tired of manually handling random software, so I decided to find a simple way to automate the process and ended up making a sort of “package manager” for 9front¹. It’s really just a set of shell scripts that act as a frontend for git and keep a simple database of package names and URLs. Running the pkginit script will ask for a location to store the source files for installed packages (/sys/pkg by default) which will then be created if non-existent. And that’s it! No, really. Now you can provide a URL for a git repository to pkg/add. ↫ Kelly “bubstance” Glenn As I somehow expected from 9front, it’s quite a simple and elegant system. I’m not sure how well it would handle more complex package operations, but I doubt many 9front systems are complex to begin with, so this may just be enough to take some of the tedium out of managing software on 9front, as the author originally intended. One day I will be cool enough to use 9front. I just have to stay cool.

OpenVMS V9.2-3 released

VMS Software, the company migrating OpenVMS to x86 (well, virtualised x86, at least) has announced the release of OpenVMS 9.2-3, which brings with a number of new features and changes. It won’t surprise you to hear that many of the changes are about virtualisation and enterprise networking stuff, like adding passthrough support for fibre channel when running OpenVMS in VMware, a new VGA/keyboard-based guest console, automatic configuration of TCP/IP and OpenSSH during installation, improved performance for virtualised network interfaces on VMware and KVM, and much more. Gaining access to OpenVMS requires requesting a community license, after which OpenVMs will be delivered in the form of a preinstalled virtual disk image, complete with a number of development tools.

OSNews fundraising goal reached in less than a week

It’s been less than a week, and late Friday night we reached the fundraiser goal of €2500 (it sat at 102% when I closed it) on Ko-Fi! I’m incredibly grateful for each and every donation, big or small, and every new Patreon that joined our ranks. It’s incredible how many of you are willing to support OSNews to keep it going, and it means the absolute world to me. Hopefully we’ll eventually reach a point where monthly Patreon income is high enough so we can turn off ads for everyone, and be fully free from any outside dependencies. Of course, it’s not just those that choose to support us financially – every reader matters, and I’m very thankful for each and every one of you, donor/Patreon or not. The weekend’s almost over, so back to regular posting business tomorrow. I wish y’all an awesome Sunday evening.

The OSNews 2024 fundraiser: support OSNews to keep it alive

Do you want OSNews to continue to exist? Do you like the selection of news items I manage to scrounge up almost every day? Do you want OSNews free from corporate influence, “AI”-generated nonsense, and the kind of SEO-optimised blogspam we all despise? Consider supporting OSNews financially, so I can keep running the site as an independent entity, free from the forces that make the web shittier every day. There are several ways you can support OSNews. First, you can become a Patreon. Being an OSNews Patreon means no more ads on OSNews, access to the OSNews Matrix room, and some fancy flair on your comments. The goal is to eventually have enough Patreons supporting us to make us independent even from regular ads, which means we’ll need to hit at least €1500-€2000 a month. Once we achieve that, we will turn off ads for everyone. OSNews is my job, and thus my only source of income, so we can only turn off ads once community support is high enough to do so. This is obviously a long-term goal. To help us all get there, I’ve added a brand new, even higher Patreon tier. If being a Platinum Patreon isn’t enough for you, you can now move on up and become an Antimatter Patreon for €50/month. You’ll get all the same benefits as the Platinum tier, but on top of that, you can opt to have your name permanently displayed on the frontpage in our sidebar. This tier is really specifically designed for the most hardcore supporters of OSNews, and can even be used as a bit of a marketing tool for yourself. By the way, I do not know where to go after antimatter. What’s rarer and more expensive than antimatter? Second, you can make an individual donation to OSNews through Ko-Fi. Recently, my wife, two kids, and I were all hit with, in order, bronchitis, flu, and then a minor cold. With all of us down and out, unable to work, our finances obviously took a bit of a hit. My wife works in home care for the elderly, which isn’t exactly a job with a fair wage, so any time we can’t work it hits us hard. Individual Ko-Fi donations have proven to be lifesavers. As such, I’ve set up a Ko-Fo donation target of €2500, so my wife, kids, and I can build up a bit of a buffer for emergencies. Creating such a buffer will be a huge load off our backs. Third, we have official OSNews merch! Our merch store is filled with a ton of fun products for the operating system connoisseurs among us, from the basic OSNews T-shirt and mug, to the old-school ASCII-art OSNews T-shirt and sweatshirt, and finally three unique terminal T-shirts showing the terminal of MS-DOS, BeOS, and Mac OS X. Each of the terminal shirts sport the correct colour schemes, text, and fonts. The pricing has been set up in such a way that for each product sold, we receive about $8. OSNews has always been a passion project for everyone involved, and I’d like to continue that. By making sure we’re independent, free from the forces that are destroying websites left, right, and centre, OSNews can keep doing what it’s always done: report on things nobody else covers, without the pressure to post 45 items about every new iPhone, stupid SEO blogspam nonsense about how to plug in a USB cable or whatever, or “AI”-generated drudgery. The people making that possible are all of our Patreons, Ko-Fi donors, and merch customers. You have no idea how thankful I am for each and every one of you.

Samsung is porting Tizen to RISC-V

In case you missed it at the 2024 Samsung Developer Conference today, our partners at Samsung Visual Display discussed the work they have been doing to port the Tizen operating system to RISC-V. Tizen is an open-source operating system (OS) that is used in many Samsung smart T.V.s and it makes sense that they would look to the fast growing, global open-standard RISC-V to develop future systems. The presentation showed the results of efforts at both companies to expand the capabilities of the already robust Tizen approach. At the event they also demonstrated a T.V. running on RISC-V and using a SiFive Performance P470 based core. ↫ John Ronco The announcement is sparse on details, and there isn’t much more to add than this, but the reality is that of course Samsung was going to port Tizen to RISC-V. The growing architecture is bound to compete with the industry standard ARM in a variety of market segments, and it makes perfect sense to have your TV and other (what we used to call) embedded operating systems ready to go.

Notice

Just want to let y’all know that my family and I have been hit hard with bronchitis these past two weeks, and especially my recovery is going quite slowly (our kids are healthy again, and my wife is recovering quite well!). As such, I haven’t been able to do much OSNews work. I hope things will finally clear up a bit over the weekend so that I can resume normal service come Monday. Enjoy your weekend, y’all!

MenuetOS gets basic X server

There’s been a few new releases since the last time we talked about MenuetOS, back in March of this year when version 1.50.00 was released, so I figured it was time to take a look at what the project’s been up to. And just in case you don’t remember – MenuetOS is 64 bit operating system written in assembly that fits on a single 1.44 MB floppy disk. There’s also a 32 bit version that’s no longer being developed – I think. Weirdly enough, the 1.50.00 released is no longer listed, but recent changes include Mplayer being part of the disk image, further updates to the included X-Window Server, the usual bugfixes, and a few more things. The X server is quite cool – with it, you can run, say, Firefox on your Linux installation, but have the MenuetOS X server render the UI. In addition, thanks to MenuetOS now including a basic POSIX layer, it’s possible to create basic applications that run unmodified on both MenuetOS and a Linux distribution like Ubuntu. Neat.

SpecOS: an x86_64 OS kernel from scratch

It’s been busy in the world of hobby and teaching/learning operating systems these past few months, and today we’ve got another one – SpecOS. SpecOS is a 64 bit operating system kernel for x86-64 processors, still in quite early stages, written in (questionable quality) C. It is (not very) powerful. This used to be 32 bit, but has been transferred to a 64 bit operating system. It uses a monolithic kernel, because I like having everything in one place. This may take some inspiration from other operating systems, but it is not UNIX based. ↫ SpecOS GitHub page It’s got the basics covered with PS/2 keyboard and VGA support, a real-time clock driver, a basic hard disk driver, and physical and virtual memory management, among other things. We’re clearly looking at a hobby project, and the author is very clear about that. A virtual machine is highly advised, as running it on real hardware is… Well, you’re on your own, basically.

Limine: a modern, advanced, portable, multiprotocol bootloader and boot manager

Limine is an advanced, portable, multiprotocol bootloader that supports Linux, multiboot1 and 2, the native Limine boot protocol, and more. Limine is lightweight, elegant, fast, and the reference implementation of the Limine boot protocol. The Limine boot protocol’s main target audience is operating system and kernel developers that want to use a boot protocol which supports modern features in an elegant manner, that GRUB’s aging multiboot protocols do not (or do not properly). ↫ Limine website I wish trying out different bootloaders was an easier thing to do. Personally, since my systems only run Fedora Linux, I’d love to just move them all over to systemd-boot and not deal with GRUB at all anymore, but since it’s not supported by Fedora I’m worried updates might break the boot process at some point. On systems where only one operating system is installed, as a user I should really be given the choice to opt for the simplest, most basic boot sequence, even if it can’t boot any other operating systems or if it’s more limited than GRUB.

Managarm: microkernel-based OS with fully asynchronous I/O

Ah, another microkernel-based hobby operating system. The more, the merrier – and I mean this, without a hint of sarcasm. There’s definitely been a small resurgence in activity lately when it comes to small hobby and teaching operating systems, some of which are exploring some truly new ideas, and I’m definitely here for it. Today we have managarm. Some notable properties of managarm are: (i) managarm is based on a microkernel while common Desktop operating systems like Linux and Windows use monolithic kernels, (ii) managarm uses a completely asynchronous API for I/O and (iii) despite those internal differences, managarm provides good compatibility with Linux at the user space level. ↫ managarm GitHub page It’s a 64bit operating system with SMP support, an ACPI implementation, networking, USB3 support, and, as the quoted blurb details, a lot of support for Linux and POSIX. It can already run Weston, kmscon, and other things like Bash, the GNU Coreutils, and more. While not explicitly mentioned, I assume the best platform to run managarm on are most likely virtualisation tools, and there’s a detailed handbook to help you along during building and using this new operating system.

Fusion OS: writing an OS in Nim

I decided to document my journey of writing an OS in Nim. Why Nim? It’s one of the few languages that allow low-level systems programming with deterministic memory management (garbage collector is optional) with destructors and move semantics. It’s also statically typed, which provides greater type safety. It also supports inline assembly, which is a must for OS development. Other options include C, C++, Rust, and Zig. They’re great languages, but I chose Nim for its simplicity, elegance, and performance. ↫ Fusion OS documentation website I love it when a hobby operating system project not only uses a less common programming language, but the author also details the entire development process in great detail. It’s not a UNIX-like, and the goals are a single 64 bit address space, capability-based security model, and a lot more. It’s targeting UEFI machines, and the code is, of course, open source and available on GitHub.

Design and build the next version of OSNews

Despite being live since 1997, OSNews has had fairly few redesigns in the grand scheme of things. If my memory serves me correctly, we’ve had a grand total of 6 designs, and we’re currently on version 6, introduced about 5 years ago because of unpleasant reasons. It’s now 2024, and for a variety of reasons, we’re looking to work towards version 7 of our almost 30 year old website, and we need help. I have a very clear idea of what I want OSNews 7 to be like – including mockups. The general goals are making the site visually simpler, reducing our dependency on WordPress extensions, and reducing the complexity of our theme and website elements to make it a bit easier for someone like me to change small things without breaking anything. Oh and a dark mode that works. Note that we’re not looking to change backends or anything like that – WordPress will stay. If you have the WordPress, design, and developer skills to make something like this a reality, and in the process shape the visual identity of one of the oldest continuously running technology news websites in the world, send me an email.

Moving to an RTOS on the RP2040

I’ve been working on a bunch of small projects involving microcontrollers. Currently a lot of them are based around the Raspberry Pi Pico boards because I like the development experience of those a lot. They have a decent SDK and cheap hardware to get started and the debugger works with gdb/openocd so it just integrates in all IDEs that support that. One of my current projects is making a fancy hardware controller for a bunch of video equipment I use. The main things that will be controlled are two PTZ cameras (those are cameras that have motors to move them). One stationary camera and the video switching equipment that that’s hooked up to. ↫ Martijn Braam There’s more to building something like this than connecting up hardware components – there’s also software that needs to be taken care of. In this case, the author is weighing several real-time operating systems for use in the project, namely FreeRTOS, NuttX, and Zephyr. If you’re working on a similar project, this article may help in choosing the RTOS that’s right for you.

R9OS: Plan 9 in Rust

R9 is a work-in-progress effort to build a Plan 9 kernel to Rust. It was started a couple years back by the maintainers of the Harvey OS distribution of Plan 9, who threw in the towel after “loss of traction”. R9 is a reimplementation of the plan9 kernel in Rust. It is not only inspired by but in many ways derived from the original Plan 9 source code. ↫ R9OS GitHub page For now, the project is obviously mostly focused on running in virtual machines, specifically Qemu, in which it can be run using a variety of architectures: aarch64, x86-64 (with or without kvm), and RISC-V.

The ExectOS operating system

ExectOS is a preemptive, reentrant multitasking operating system that implements the XT architecture which derives from NT architecture. It is modular, and consists of two main layers: microkernel and user modes. Its’ kernel mode has full access to the hardware and system resources and runs code in a protected memory area. It consists of executive services, which is itself made up on many modules that do specific tasks, a kernel and drivers. Unlike the NT, system does not feature a separate Hardware Abstraction Layer (HAL) between the physical hardware and the rest of the OS. Instead, XT architecture integrates a hardware specific code with the kernel. The user mode is made up of subsystems and it has been designed to run applications written for many different types of operating systems. This allows us to implement any environment subsystem to support applications that are strictly written to the corresponding standard (eg. DOS, or POSIX). Thanks to that ExectOS will allow to run existing software, including Win32 applications. ↫ ExectOS website What ExectOS seems to be is an implementation very close to what Windows NT originally was – implementing the theory of Windows NT, not the reality. It’s clearly still in very early development, but in theory, I really like the idea of what they’re trying to achieve here. Windows NT is, after all, in and of itself not a bad concept – it’s just been tarred and feathered by decades of mismanagement from Microsoft. Implementing something that closely resembles the original, minimalist theories behind NT could lead to an interesting operating system for sure. ExectOS is open source, contains its own boot loader, only runs on EFI, and installation on real hardware, while technically possible, is discouraged.

Vinix now runs Solitaire

Way, way back in the cold and bleak days of 2021, I mentioned Vinix on OSNews, an operating system written in the V programming language. A few days ago, over on Mastodon, the official account for the V programming language sent out a screenshot showing Solitaite running on Vinix, showing off what the experimental operating system can do. The project doesn’t seem to really publish any changelogs or release notes, so it’s difficult to figure out what, exactly, is going on at the moment. The roadmap indicates they’ve already got a solid base going to work from, such as mlibc, bash, GCC/G++, X and an X window manager, and more – with things like Wayland, networking, and more on the roadmap.