flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > UEFI-based OS and Driver development

Thread Post new topic Reply to topic

Joined: 05 Dec 2006
Posts: 66
zir_blazer 23 Sep 2014, 15:27
While I have been an user of this forum for nearly a decade, I never actually learned ASM. I simply do not have the patience and willpower for such a long term goal. I do, however, enjoy seeing other people ASM archievements.
At this moment, I'm mostly interesed in Hypervisors (Xen) and virtualization, which is where I spend my research time. My goal: To put everything on top of a virtualization layer in a way that it can become pretty much OS-independent, yet getting a fully functional Windows VM out of it. This is currently possible via PCI and VGA Passthrough, however, it is a bit hard to set up, and constant changes to both Xen, the Linux Kernel, and other packages, fix and break things constantly.

There is another thing I'm interesed too: UEFI. The infrastructure that can be build around UEFI seems to have enormous potential, so far development for it is minimal. In the past there has been a lot of people doing hobby OSes, the most I featured I recall were MenuetOS, KolibriOS and DexOS. However, if I recall correctly, they are all from pre-UEFI era and I suppose that they should be using legacy boot. I'm curious if anyone tried to actually make a more modern, UEFI-based OS, that instead of needing a MBR Boot Loader, FAT Drivers and all that legacy stuff, relies on what UEFI provides to get a workable OS then build on top of that.

Another thing I looked around are EFI Drivers. I don't have clear if they only work during the pre-boot UEFI phase or can stay resident to be used by the OS that is going to be loaded next. Assuming that they can stay resident, you could have Hardware based around an EFI Driver, then provide a minimal relay Driver for the OS so you can have a fully functional Hardware piece from pre-boot with OS-independent Drivers (Like paravirtualization) instead of having to develop Linux and Windows versions separately, so device support and features could be centralized. With the current trend of some manufacturers to be more open with their Hardware specifications for Open Source Drivers development, I think that it could be an interesing option.

So, any other ideas, projects, or actual working applications that are thinking to make UEFI a whole OS platform instead of just a pre-boot enviroment?
Post 23 Sep 2014, 15:27
View user's profile Send private message MSN Messenger Reply with quote

Joined: 04 May 2011
Posts: 42
Location: Russia
XVilka 26 Sep 2014, 12:03
This of UEFI like 64bit DOS. It doesn't have proper multithreading, it lacks good timers and, unlike DOS, have too much abstractions inside. So, only one thing will make your life easier - you won't need to jump from 16bit. You can't use UEFI FAT driver - it has very poor implementation. NTFS driver is read-only, other filesystems support is not more than nothing. And USB drivers are good only for keyboard, mouse and USB mass-storage. And possibly wont work properly with other devices. But, to support RuntimeServices you need to change your kernel and/or your bootloader. You can start to play with BareMetalOS for example, without PureX64, as you won't need to jump from 16bit. But you'll need to implement other stuff as usual (and even more, to support RuntimeServices like Get/SetVariable from NVS).
Post 26 Sep 2014, 12:03
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.