Page 3 of 3

Re: Writing your OS so it is used by others

Posted: Fri Jun 17, 2016 12:18 pm
by ~
Octocontrabass wrote:
~ wrote:
gerryg400 wrote:Doesn't vmware already do this?
It seems to be bootable from CD-ROM or DVD, but does it have as many drivers as Linux if we implemented that with it?

Also, it's surely the right thing to do to try to implement something like this to keep that knowledge more available as part of an OS distribution.
Xen is open-source and does pretty much everything you've asked for.
I had thought about using Linux From Scratch as a base and find a way to trim it as much as possible.

I had thought about loading the whole system from an external USB device, floppy or CD/DVD, so as to not leave any evidence nor the need to waste a disk partition just for it.

Once it's loaded, I just remove the boot device of this firmware-like Linux to start emulating what is on the real disk devices.

So machine reboots wouldn't be real, but emulated reboots of the emulator. Onlly turning off the machine would be a real function that would actually turn off the computer.

I had also thought about using Bochs as the emulator to run.

I had thought about creating my own branch of those projects even if they lag behind the newer versions, but use them to learn about how to adjust them for this task.

_______________________
_______________________
_______________________
_______________________
I could probably make my own branch of the Xen project and adjust its source code for what I need, to see what I learn.

Once I get used to them, maintaining a standard PC emulated won't be hard because it won't need as many updates as the Linux kernel, Bochs or other key projects and drivers updated.

So it's clear that defining and keeping a standard hardware emulated will allow me to stay up to date implicitly.

I will just make my own branch based on the projects above to see what resources there are for what I want, and which others I would need to add to my branches.

Re: Writing your OS so it is used by others

Posted: Fri Jun 17, 2016 5:34 pm
by embryo2
~ wrote:A single person could also adapt a Linux distribution that compiled only the drivers for the present devices and also a PC emulator. Then you can use any drivers from Linux to complete this big unified abstraction layer.
The idea of Linux drivers "reuse" is interesting. But don't forget to study the feasibility of the planned implementation. There should be something that nobody else has. It can be something new and it can be just something "essentially better" when the quality of implementation persuades people to use the solution. But to have such solution you have to understand what other people already have and where exactly your solution is better/newer than something existing. Often one brilliant idea is not enough to win the game, so it's important to extend your vision with more ideas. And there's one always useful idea - pay attention to the objections you get in discussions. Think why they refuse to take your opinion. More thoughts you invest in it - more useful ideas you will have.

Re: Writing your OS so it is used by others

Posted: Sat Jun 18, 2016 5:58 am
by Kevin
Making an emulator the primary target of an OS isn't an idea that new. Most of us are doing this. Setting up a minimal hypervisor isn't really new either.

But if you want to build on top of an existing kernel, why don't you just write a new userspace environment for Linux instead of adding an emulator and a kernel within the emulator to the stack, which only makes things more complex and hurts performance?