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

52 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 (20 hours ago) 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 (17 hours ago) 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 (16 hours ago) 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 (14 hours ago) 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 (13 hours ago) 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 (12 hours ago) 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 (12 hours ago) 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 (12 hours ago) 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 (11 hours ago) 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 (6 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 (6 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 (6 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"

Reply all
Reply to author
Forward
0 new messages