Sorry, I am not much aware of Minix internals, but I guess it can't make use of UEFI and ACPI standards now, right?
I understand there is no manpower for doing progress in any area, but still the project is alive and so maybe someone is looking into this too? Are there plans to include supoort for those standards?
I am trying to create my own Uefi implementation (on arm and mips), and I am thinking it would be very good to have such a light-weight OS as Minix as my first payload (apart from Uefi applications llike edk-shell of course). At the minimum need it's just about to learn what OS expects from loader - thus an interface between them, but it would be cooler if OS got Uefi-aware so to say, for example didn't pollute Uefi reserved memory, made use of Uefi Runtime Services, took configuration info from it (ACPI tables, OF's device tree).
Can someone briefly outline is this feasible to add that support into Minix, or is it so not suitable for this, that one could just forget about it?) What should I change? What to begin with? At the Minix internal structure I mean. (Because I am not a "microkernel" guy at all))).
And of course, the main question last))) is Minix usable at all on the armv7 land, namely on the Beagle Bone Black target? Because as I understood on mips it isn't.
Hi,Sorry, I am not much aware of Minix internals, but I guess it can't make use of UEFI and ACPI standards now, right?There's no UEFI support whatsoever, MINIX 3 for now expects an IBM PC compatible computer on i386. This is not much of a problem in practice if we have proper ACPI support, but it's optional and only used for interrupt mapping. On ARM everything is pretty-much hard-coded right now.
While not a hard requirement for UEFI support per se, we do not support GPT or FAT32. The lack of 64 bit support may also be a problem, but it's not unsolvable either.
I understand there is no manpower for doing progress in any area, but still the project is alive and so maybe someone is looking into this too? Are there plans to include supoort for those standards?
<deleted for better readability>
IBM PC compatibility is rapidly getting extinct on modern hardware. MINIX 3 already can't run on recent Mac hardware or on select embedded x86 boards and the list will only grow with time. We'll have to do something about that some day if we don't want to end up scavenging vintage computers in museums. The most straightforward solution I see is making ACPI mandatory and at least parse its tables to stop relying on 35 year old unwritten conventions.
I am trying to create my own Uefi implementation (on arm and mips), and I am thinking it would be very good to have such a light-weight OS as Minix as my first payload (apart from Uefi applications llike edk-shell of course). At the minimum need it's just about to learn what OS expects from loader - thus an interface between them, but it would be cooler if OS got Uefi-aware so to say, for example didn't pollute Uefi reserved memory, made use of Uefi Runtime Services, took configuration info from it (ACPI tables, OF's device tree).What an OS needs to know to run on a particular piece of hardware is basically :
- where's the RAM,
- where in RAM did the bootloader stored the modules for us,
- what/where are the peripherals, at least for the non-enumerable ones.
UEFI itself can be mostly ignored without too much consequences in practice as most of this information is available in static form (ACPI tables, FDTs or BIOS memory maps for example). As a matter of fact, MINIX 3 can be booted in UEFI mode on x86 using GRUB even though MINIX 3 has no specific UEFI support.
There's no UEFI support whatsoever, MINIX 3 for now expects an IBM PC compatible computer on i386. This is not much of a problem in practice if we have proper ACPI support, but it's optional and only used for interrupt mapping. On ARM everything is pretty-much hard-coded right now.Not even for interrupt mapping, APIC is broken since a longer time.
While not a hard requirement for UEFI support per se, we do not support GPT or FAT32. The lack of 64 bit support may also be a problem, but it's not unsolvable either.FAT32 would be quite nice, as we could update the kernel + modules on the EFI boot partition, netbsd already have it, but im not aware of the FS abstractions in minix.
Yes, the target system list is getting smaller and smaller. However, we run it successful on Lenovo X-series (x210, x230 and x240, the Intel NIC is still not supported => #171) and the Minnowboard (flashing coreboot&seabios instead of TianoCore 64bit EFI). Making Minix3 at least run with more recent hardware (e.g. EFI only _without_ CSM) would be a framebuffer (to get rid of VGA INT calls) and I'm not deep in ARM, but I assume, a framebuffer would help there as well?