For those trying to install / use / compile Minix in 2026

63 views
Skip to first unread message

Namizono Shinichi / W.F.G. van Rooijen

unread,
Apr 3, 2026, 9:47:29 PM (2 days ago) Apr 3
to minix3
If you are interested to try Minix-3 in 2026 (or thereafter), find below my experiences. Then, decide for yourself whether you are still interested.

Short summary: the pre-compiled versions (Minix-3.3.0 and Minix-3.4.0rc6) work ONLY on in a virtual machine (KVM QEMU, etc); it is not / no longer possible to compile Minix; and there is no good way to install Minix on "current" hardware. In short: Minix is not / no longer available as an actual OS for an actual machine.

- Installation on PC: Minix-3 does __not__ support USB, wireless network, or SMP. There is very limited support for Ethernet cards, and those are (by now) quite old cards (let's say at least 10 to 15 years old if not older). Because there is no support for USB there is no live-USB and thus no option to install from USB key. There are instructions on the minix wiki to "cross install" Minix by booting from "some other" live-USB (maybe Ubuntu or System Rescue CD), and then installing Minix-3, but even then the support for modern hard disks is very limited (not to mention things like sound, USB, BlueTooth, wireless network, etc). Even if the installation succeeds, I doubt that minix would work on "modern" hardware

- I tried to compile Minix from the sources. I started with Minix-3.4.0rc6 and then tried to compile the development version. Results are:
  • "native" compilation, i.e. compilation on minix in a virtual machine: the installation process "gets stuck", without warning, error message, or otherwise. I tried to abort and restart the calculation a few times, and I managed to re-compile and reboot Minix, but the compilation process is simply "unreliable" (and very slow, as minix can only use 1 CPU)
  • cross compilation: I tried to cross-compile on Ubuntu 24.02, but all of the available C-compilers failed (things like extern / static definitions, missing function declarations, etc). GCC, clang, and TinyCC (tcc), all three failed. In other words: the source code of Netbsd / minix (which is at least 10 to 15 years old) has to be brought up-to-date in order to compile (and I simply lack the skills to go into the source code for things like nbsed and nbmake (part of Netbsd) to correct the errors)
Conclusion: I have given up. Given the state of the minix website and github repository, it appears that the last updates were added in 2017, and the project has since been abandoned.

I might still be interesting to download the latest source code to study together with the Minix text book, but since minix-3 does not compile on a virtual machine nor in cross-compilation, it is interesting from an academic point of view, but not as a potential practical OS for actual hardware.

Subhash Rayudu Pinnamaneni

unread,
Apr 4, 2026, 6:49:18 AM (yesterday) Apr 4
to min...@googlegroups.com
Have you tried installing on beaglebone black Device it has an open source arm processor

--
You received this message because you are subscribed to the Google Groups "minix3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/minix3/3e72642f-7afe-4373-9258-7cb85cf58143n%40googlegroups.com.

Денис Миронов

unread,
Apr 4, 2026, 9:46:23 AM (yesterday) Apr 4
to min...@googlegroups.com
Minix compiles fine on Ubuntu. To do this, you need to install gcc7 via update-alternatives. Minix doesn't run on modern hardware – that's true. I have an old Pentium M and a Beaglebone Black. I'm currently rewriting Minix for modern computers. The moc repository is https://github.com/dmironoff/reminix. I'm currently writing a full-fledged smp. Plans include ports to aarch64, amd64, and risc-v64. I'm currently working on the arm32 port. I plan to release the first kernel version with the new architecture in a month – stay tuned for announcements. Also, please join our Telegram group @minix3.

сб, 4 апр. 2026 г., 13:49 Subhash Rayudu Pinnamaneni <psub...@gmail.com>:

Денис Миронов

unread,
Apr 4, 2026, 10:26:48 AM (yesterday) Apr 4
to min...@googlegroups.com
I have available: Pentium M (standard i586), Intel Atom (old eye PC), modern AMD Ryzen (I don't remember the model number, but it has 6 cores), Beaglebone Black (one core Arm32 Cortex A8), Orange Pi PC+ (Allwinner H3, 4 Cortex A7 cores), Raspberry Pi 3 model B+ (aarch64), Raspberry Pi 4 (aarch64), and soon a single-board PC with risc-v Allwinner D1 will arrive.

 These are the platforms on which I plan to implement ReMinix. 
Sorry for the English - I'm too lazy to think, I'm writing through Google Translate. 

I have many plans, but they all require, first and foremost, major changes to the kernel and virtual memory manager. I'm currently working on this. 
Seriously, within a month I'll release a kernel with full Arm32 support. I'm immediately separating everything into layers, so the architecture-dependent code will remain only in the kernel HAL. So it will be as easily portable as possible across different OS platforms.

 Current progress: I've written a complete hal for the Orange Pi PC+ and am currently finishing up the smp. A little later, I'll finish the new ipc for the virtual memory manager, then rework it.

 And then, with peace of mind, I'll work on the new service and driver hierarchy. I've already sketched out a bit about USB, but there's a lot to do. 

Basically, I'm out of work in my country. If I don't starve to death or they don't completely block our internet access, I'll finish this by summer. =)

I've been working with embedded systems on Linux and Android my whole life, as well as low-level development. I've written many Linux drivers for proprietary projects for my clients and employers. But an entire OS is a truly new challenge, even though I read Tanenbaum's books as a teenager.

сб, 4 апр. 2026 г., 16:45 Денис Миронов <denismi...@gmail.com>:

Subhash Rayudu Pinnamaneni

unread,
Apr 4, 2026, 12:37:43 PM (yesterday) Apr 4
to min...@googlegroups.com
That is great project you took up we should write minix source code for all the open source architectures

Денис Миронов

unread,
Apr 4, 2026, 1:18:52 PM (yesterday) Apr 4
to min...@googlegroups.com
That's exactly what I was thinking. But there are the most popular ones: x86, amd64, arm, aarch32, and risc-v64. Implementing these architectures will give minix a future, especially since minix is ​​an excellent OS for embedded hardware. 

By the way, I've already built IPC acceleration methods into the kernel architecture: arm and risc-v have ASID, and amd64 has PCID. 
Both of these things work logically the same way—it's just that the MMU and L1/L2 Cache have data about the context number loaded into the virtual memory table root register. 
The OS kernel keeps track of these context numbers. 
During context switches, the processor cache lines are assigned a context number, and during process switches and system calls, the executable code is most likely already in the processor cache. 
Without this feature, a microkernel OS on modern hardware is completely uncompetitive. 

Plus, arm, aarch64, and risc-v have two virtual memory table root registers—one for the process and one for the kernel. Together, they create a single, contiguous address space, and when switching processes, only one process virtual memory register can be remapped—this also greatly speeds up context switching. I also built support for this feature into the architecture. More precisely, I moved part of the kernel logic code to architecture-dependent code. 

In short, there are a lot of features.

 I really want to write multithreading support like netbsd in the kernel later, but that would require a complete rewrite of the ipc system, since endpoint_t currently points to a process, whereas it should point to a thread. So full compatibility with libpthread will come much later.

сб, 4 апр. 2026 г., 19:37 Subhash Rayudu Pinnamaneni <psub...@gmail.com>:

Subhash Rayudu Pinnamaneni

unread,
Apr 4, 2026, 2:30:35 PM (yesterday) Apr 4
to min...@googlegroups.com
First we must try to write a compiler for  processors available in the open market like the ones available in opencores.org even that will take a lot of effort 

Денис Миронов

unread,
Apr 4, 2026, 2:36:22 PM (yesterday) Apr 4
to min...@googlegroups.com
Ooooh! I didn't know about this project. Thanks! I'll study it in my spare time. I haven't written compilers yet - that will be fun.

сб, 4 апр. 2026 г., 21:30 Subhash Rayudu Pinnamaneni <psub...@gmail.com>:

Subhash Rayudu Pinnamaneni

unread,
Apr 4, 2026, 2:57:05 PM (yesterday) Apr 4
to min...@googlegroups.com
Intel or amd or m1 or m2 all these proprietary they won't give out their architectures minix os is specifically a microkernel so that it should have the capability of saving the processor's registers to swap memory or ram when some other process or pid is taking up or shifting the mpu or processor alu and l1 l2  cache so you would want to know what exactly the processor mpu registers are l1 l2 cache how many cores how many alu internal bus. Microkernel uses the mpu to the fullest capacity is what I felt

Денис Миронов

unread,
Apr 4, 2026, 3:36:45 PM (yesterday) Apr 4
to min...@googlegroups.com
Yes, the microkernel is forced to use the MMU's full capabilities.

сб, 4 апр. 2026 г., 21:57 Subhash Rayudu Pinnamaneni <psub...@gmail.com>:

Namizono Shinichi / W.F.G. van Rooijen

unread,
Apr 4, 2026, 8:16:21 PM (22 hours ago) Apr 4
to minix3
Interesting, my earlier messages did not attract any attention, but I guess that this one did.

Perhaps I should have been more specific:

If I go to the store and buy a new desktop PC, I can select Windows (one provider) or Linux (various providers) and use the full capabilities of the PC, to browse the internet, play a game, do office work, listen to music, using modern peripherals based on USB and Bluetooth.

In this scenario, MINIX is not an alternative, since it can do none of those tasks. In fact, it is doubtful that you could actually boot the PC on MINIX. And if you try to improve MINIX, you run into the fact that the source code cannot be compiled with modern compilers.

In other words: interesting as a hobby or from an academic perspective, but not available as an actual OS to run an actual PC.

Namizono Shinichi / W.F.G. van Rooijen

unread,
Apr 4, 2026, 8:21:34 PM (21 hours ago) Apr 4
to minix3
"I'm currently rewriting Minix for modern computers. The moc repository is https://github.com/dmironoff/reminix. I'm currently writing a full-fledged smp. Plans include ports to aarch64, amd64, and risc-v64. I'm currently working on the arm32 port. I plan to release the first kernel version with the new architecture in a month – stay tuned for announcements. Also, please join our Telegram group @minix3."

Please send a message to this group in due course. I would be interested in the AMD64 version (for desktop PC), if it can be compiled with a modern C compiler (GCC or clang). One tip: apparently, "MINIX" is the name of a Hong Kong based brand of computer peripherals, so perhaps call it "MinixOS", or, in your case, DENIX? :-)


2026年4月4日土曜日 22:46:23 UTC+9 Денис Миронов:

Namizono Shinichi / W.F.G. van Rooijen

unread,
Apr 4, 2026, 8:24:22 PM (21 hours ago) Apr 4
to minix3
"Minix compiles fine on Ubuntu. To do this, you need to install gcc7 via update-alternatives."

In other words: MINIX __does not__ "compile fine" on Ubuntu - it requires a downgrade to a specific old version of a specific compiler.

A better phrasing would be: "Minix can be compiled on Ubuntu; you need to install gcc7 via update-alternatives"

Денис Миронов

unread,
3:55 AM (14 hours ago) 3:55 AM
to min...@googlegroups.com
I agree, I'll soon package my fork's source code in Docker. It'll be easier that way. Then cross-compilation will be easy on both Linux and Windows with Linux environment support enabled.

вс, 5 апр. 2026 г., 03:24 Namizono Shinichi / W.F.G. van Rooijen <w.f.g.va...@gmail.com>:
"Minix compiles fine on Ubuntu. To do this, you need to install gcc7 via update-alternatives."

In other words: MINIX __does not__ "compile fine" on Ubuntu - it requires a downgrade to a specific old version of a specific compiler.

A better phrasing would be: "Minix can be compiled on Ubuntu; you need to install gcc7 via update-alternatives"

--
You received this message because you are subscribed to the Google Groups "minix3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.

Peter Shkenev

unread,
12:08 PM (6 hours ago) 12:08 PM
to min...@googlegroups.com
Hello,

> If I go to the store and buy a new desktop PC, I can select Windows
> (one provider) or Linux (various providers) and use the full
> capabilities of the PC, to browse the internet, play a game, do office
> work, listen to music, using modern peripherals based on USB and
> Bluetooth.

If you are looking for a production-ready desktop OS, you have clearly
came to the wrong place.

In this world, there are only three such OS'es: Windows, Linux, Mac OS.
And this is not going to change anytime soon, because it is extremely
hard to make such an OS.

Take GPUs for example. They are crucial for good desktop experience. But
those are complex and diverse devices, to the point you can't write a
driver without vendor involvement. Amdgpu driver for Linux alone
consists of several millions lines of code. And we're not talking
Vulkan/OpenGL drivers. In result, there is the only one open source
feature complete GPU stack in the world: Linux DRM + Mesa. Every other
open source OS wishing to run modern GUI software has to port it
(FreeBSD and OpenBSD do). Haiku has enough will to carry its own
infrastructure and they have ported NVidia's open driver, but that is
because it was designed to be portable. Not sure if they have OpenGL
working, better ask them though.

There are many more aspects that are difficult to tackle as well: WI-FI
is hard, Bluetooth is hard, sound hardware is hard, laptop hardware is
hard and quirky and vendor-specific, etc etc.

There is also need for userspace infrastructure, it is also non-trivial.

Then there is also a non-trivial problem of making all of this work on a
microkernel OS.

Even if Minix was not abandoned, supporting all of this would be
infeasible for a rather small team which used to maintain Minix. And
even actively developed and more advanced microkernel OSes, such as
Redox and Managarm can not be considered production-ready, despite the
effort.

Making an actual production-ready OS would cost you billions of dollars
and gargantuan amount of manpower. Hence, the status quo is going to
stand as is.

> And if you try to improve MINIX, you run into the fact that the source
> code cannot be compiled with modern compilers.

This is actually easy to fix. There are already patches that allow
building Minix with GCC 11, one needs to update them accordingly. GCC
developers publish porting guides for each major version, they are
helpful.
Reply all
Reply to author
Forward
0 new messages