TUD-OS / NRE

NOVA runtime environment (official branch)
GNU General Public License v2.0
33 stars 12 forks source link

Is there any pre-built ISO? #48

Closed lonnietc closed 3 years ago

lonnietc commented 3 years ago

While I am working on getting a build completed, and eventually to get one with the latest NOVA code from:

https://github.com/udosteinberg/NOVA

as a second step, I am wondering where I might download a completed ISO based upon NRE + NOVA just so that I might be able to see it in action.

I have an AMD P7 and Intel NUC7i7 that I want to test things on, if at all possible.

Can you provide and ISO for this purpose? Thanks,

Nils-TUD commented 3 years ago

There is none, sorry. Now that it builds for me, I could generate an image for a specific boot script for you. However, I guess it makes more sense if you build it yourself (which should work now), since there are multiple boot scripts and you wouldn't be able to change anything with just an ISO.

lonnietc commented 3 years ago

Thanks for your response on this and I will try to build up an ISO.

In my view, I think that it would be nice to have an ISO in your Github release section so that people could also just download it to boot up in RAM and see something work even if they canny cannot change anything,

For a lot of people, they generally just want to see something in action before they decide to dive in deeper, or not.

just my humble opinion and thoughts on it. Cheers

Nils-TUD commented 3 years ago

In general, I agree. I also did that for one of my other projects, Escape, for example.

I'm not against providing an ISO image for NRE. However, I'm not working on this project anymore and therefore I'm not able to spend a lot of time on it. The main problem is that VBE is broken (at least in QEMU; I guess there is some issue in the instruction emulator that only shows up now with newer BIOSes that QEMU provides or something like that), so that you cannot actually do anything with it except watch the serial output.

lonnietc commented 3 years ago

Hello Nils,

Now that NRE and NOVA compile up and we can get some basic activity in QEMU with:

./b qemu boot/test

I am now wondering has to test some NRE applications in that were built in the repo since I am not clear on how to run things with the "./b" script.

I would also like to know, if possible, what the steps are to have NOVA+NRE (plus a few demo apps already in the repository) build up an ISO so that I can test on real hardware?

I did find a bit of info and scripts for ISO creation in the "dist" section, but they do not seem to create a ISO will any of the NRE built application:

https://github.com/TUD-OS/NRE/tree/master/nre/apps

cycleburner disktest sub test unitest vmmng

Being able to see a few of these in action is the goal here, if at all possible.

ultimately, I would like to be able to test them from booting the ISO and also from running them (one or more at a time) form QEMU.

If you could please help with the documentation on these steps then this will be exactly what I need to start getting a solid base for NOVE + NRE for development going forward.

Cheers and this is really coming together now for which I really appreciate all of your help and guidance in getting started on this wonderful NRE journey.

Cheers and have a great day.

lonnietc commented 3 years ago

I could add that I have seen how to use the b-script for some other single apps.

./b qemu boot/cycleburner (for example)

My above question was for generating an ISO will multiple Apps installed in a similar way in that the old NUL 0.3 demo allowed you to startup a new application from within Tutor which, I think, came from the Sigma0 application that would start up new applications, but cold be wrong here.

Cheers,

Nils-TUD commented 3 years ago

Since NRE is a research prototype, there is not yet a way to install it in some way or build a live-CD / stick that contains all applications. Instead, there are boot scripts, where each fires up a specific combination of components to test or play with one use case.

There is already a way to build an ISO image for a single boot script. See the bochs command in b, which invokes novaboot to generate an ISO image and starts bochs afterwards. This can certainly be extended to generate an image that, e.g., includes multiple GRUB menu entries, one for each use case. Or if you want to go even further, you can build an application that allows to start applications dynamically at runtime. However, in both cases you are on your own here :)

At the moment, vmmng is probably the best choice for an ISO image, since it allows to start multiple different VMs, monitor their runtime, switch between them, etc..

lonnietc commented 3 years ago

Thanks as this is very helpful and points me in the right direction and you have done a great job on the whole system.

I definitely keep in mind that it is also a research prototype and am just trying to get a feel for what works, and what does not, since I have not found much documentation on the repo except for the main README.md.

Any additional documentation steps, in any order for various things, that you may have would be greatly appreciated and help with various questions that I have on how to run what has already been compiled.

I will definitely look into all of this especially the vmmng to dynamically start other VMs.

I actually tried:

./b qemu boot/vmmng

but it cam back about needing some files that do not seem to have been generated in the NRE build.

For vmmng: qemu-system-x86_64: Failed to open file 'dist/imgs/escape.bin'

For disktest: qemu-system-x86_64: -hda dist/imgs/hd2.img: Could not open 'dist/imgs/hd2.img': No such file or directory

Where are the generation scripts, or how, are these files generated with NRE?

Cheers and Thanks again.

Nils-TUD commented 3 years ago

You have to download them first via ./dist/download.sh.

lonnietc commented 3 years ago

Yea, I ran across that script as well, but was wondering how some of that was initially generated since I have never heard of "escape" and did not know if this was generated locally or from another external application.

I was able to download the needed files which included "escape" files that I do not know anything about and even "tinycore" files which I do know about.

Where do these "escape" file come from?

Nils-TUD commented 3 years ago

Escape is my own hobby OS that I built some years ago.

The version that NRE downloads via ./dist/download.sh is actually quite old, though. The tinycore files are downloaded by that script as well (also old).

lonnietc commented 3 years ago

WOW !!!

That's an amazing amount of work, but I guess that it was also very educational in being able to build up an OS from the ground up.

Great work and I think that we can close this one as well.

Cheers and have a great day

lonnietc commented 3 years ago

Just a quick note:

The download script did not grab the files needed for the

./b qemu boot/disktest

Still get:

qemu-system-x86_64: -hda dist/imgs/hd2.img: Could not open 'dist/imgs/hd2.img': No such file or directory

Will look into the Bochs stuff to see if that helps.

lonnietc commented 3 years ago

I was able to run the

./b qemu boot/disktest

Thanks