genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.08k stars 254 forks source link

Genode live system #1000

Closed nfeske closed 7 years ago

nfeske commented 10 years ago

It is time for a new Genode live system, demonstrating the current capabilities of the framework.

There are several ideas for demonstration scenarios:

I am sure that there are many further ideas. Let's discuss them here.

How about setting the goal to release the live system at FOSDEM 2014?

nfeske commented 10 years ago

There are still several things left to be desired before I would release a live system:

Even though none of those topics is an inherent show stopper, I deem a release at FOSDEM as out of question.

Should we open dedicated issues for the topics described above?

alex-ab commented 10 years ago

The live system should definitely feature our version of VirtualBox, which we will release with Genode 14.02. It would be a pity to release a new live system missing this important feature.

Currently VBox on Nova runs 7 different OSes stable enough to be usable. There is still a lot room for improvements, but I'm convinced until the release (and therefore also the upcoming live system) it will be ready. I can open a issue for that soon.

For the old OKL4-based live CD, we relied on static priorities to realize certain real-time properties. For example, the menu and the banner animation ran at a higher priority than most of the remaining system, which gave the UI a very nice and responsive touch. Also the audio mixer was prioritized over most other programs. More importantly, the timer ran at a higher priority than the rest of the system. This is important when the system becomes saturated, which can easily happen when the user stresses the system. On NOVA, we cannot use priorities yet because of the way our lock protects its meta data.

Actually for issue #986 we had already some starting discussion which addresses the topic. I can have a look at it after the FOSDEM, if wanted.

alex-ab commented 10 years ago

it will be ready. I can open a issue for that soon.

Soon was some minutes ago, it is Issue #1055 .

nfeske commented 10 years ago

Discussion of the topic on the mailing list: http://sourceforge.net/p/genode/mailman/message/32038491/

dckc commented 9 years ago

Is building from source still the only way to get started with quarterly releases?

I read the release notes with interest (14.08 and 14.11 especially), but I'm not sure I can justify the time to build from source. The 2010-11 release is still the most recent on http://genode.org/download/live-cds

chelmuth commented 9 years ago

There is no official update of the live system up to now. We are heavily working on many aspects of Genode to make it fit for limited daily use. Maybe 2015 will bring us some spare time to create a teaser in form of easy-to-try USB image... But even than, I don't think we will publish quarterly versions.

nfeske commented 8 years ago

We get repeatedly asked about a new version of a live system. Apparently we haven't "updated" our live ISO since 5 years - a fact that some people take as a sign that the project goes nowhere (http://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/837839-genode-os-continues-making-progress-as-a-desktop-os#post837839).

Hereby, I'd like to take the chance the share my thoughts as the author of this issue about this topic.

Apparently, no one of the core developers - including myself - gets behind this issue and actively pushes it forward. Why is that? Personally, I see two reasons:

First, integrating a live system that is meaningful for random people to try out to simply get an impression of our project is a tremendous work and a huge responsibility. It does not suffice to simply stick components together. No, we also have to provide an interactive way that guides the uninitiated user around the system such that the benefits of Genode are presented in a palatable way. This is far from straight forward, takes a lot of implementation work, and there is a good chance to completely miss the boat by confronting the user with too many technicalities. If we fail to get the point of Genode across, or to be convenient enough, people will be quick to judge our project based on their expectations that we are - in fact - more likely to miss than to meet. So I am afraid that the huge investment of work may largely be rewarded by opinions spread by few self-entitled and vocal people reporting about their anecdotic experiences with trying out the live system. This would do our project more harm than good.

Second, I do not see end users as our immediate target audience. The project is solely geared towards people who build and integrate systems rather than mere consumers of software. In other words, I understand Genode as a technology, not a solution. A live system would wrongly present our project in the light of being a solution. And people would probably rightfully dismiss it as a solution for a specific problem because of a lack of polish, user experience, or features. People looking at a solution certainly won't care about or even appreciate the technology behind it. To draw an analogy to toys, a ready-to-use live system would be like Lego selling boxes with already assembled models. Kids would try out the "features" of the specific model like some hinges or blinking lights, and judge the toy based on their findings. Many kids won't even see the ingenious concept behind it. Hence, for a good reason, kids will find just a bunch of bricks in the box, accompanied by a manual that explains how to put them together. Of course, this may intimidate certain kids ("end users") who are unwilling to assemble the toy by themselves. On the other hand, little engineers who are willing to invest a bit of time to learn and follow the manual, will suddenly see a world of opportunities and eventually get addicted.

So what is the right way forward? I see two options:

Or maybe, we should follow both routes?

notorand-it commented 8 years ago

"The Genode OS Framework is a tool kit for building highly secure special-purpose operating systems." It's not an OS, it's not a kernel. It's a framework. Agreed.

How can you show interested people/companies what the current status is, why it's important and why everyone should be using it?

From your words I need now to go browsing your whole website and the latest tarball to get answers.

I think you have a test system that has somehow been built around some other OS. If you automated the creation of such an environment, the step towards the automated creation of a bootable ISO (not a live CD, we all know Virtualbox, QEmu and the likes) is not that difficult. Really.

If you didn't, then you should read LinuxFromScratch.Org for ideas. I fear that otherwise your whole project future is doomed to the oblivion or relegated to research paperwork only.

Of course, I could be badly wrong.

dckc commented 8 years ago

Dismissing the idea of a live CD altogether makes sense. I'd be a little disappointed, but I'm not inclined to do the work myself, so I have no problem if the main developers choose to put their efforts elsewhere.

It's important to update http://genode.org/download/live-cds to reflect this choice. Right now, it's 2 clicks from genode.org, and it's the 1st thing on the download page. How about something like "we don't put our effort into live CDs these days, but we released a book." I spent some time reading the book last night; it's great stuff.

On the other hand, as to:

The project is solely geared towards people who build and integrate systems rather than mere consumers of software.

How am I suppose to reconcile that with this....?

The primary focus of version 15.11 is the use of Genode as a desktop OS. -- http://genode.org/news/genode-os-framework-release-15.11

Regarding:

integrating a live system that is meaningful for random people to try out to simply get an impression of our project is a tremendous work and a huge responsibility

I'd be happy with a less ambitious target: something that would give me, an avid follower of the project, a chance to quickly experience new features. I have no expectation of an "interactive way that guides the uninitiated user around the system" or anything else that you have not already developed. I just want the product of one of the builds that I expect you do regularly. Each quarter, I read the release notes in full. And once or twice, I have downloaded the toolchain and built a few of the demos from source and such. But I don't do genode development regularly. I have re-installed my OS since I last build genode, so I'd have to download the toolchain and all that to build it. It's hard for me to find/justify that time.

A screencast might be a cost-effective alternative to a live CD. I expect that part of your release process involves manually following the directions to build the system; making a recording while you're at it should be straightforward. The main cost would be editing out the boring bits. (Do mention up front that the boring bits have been edited out and that the actual time to download and build it was 20 minutes or whatever.)

I'd especially appreciate a few screencasts, each of a different configuration: one of the hello world app, one of the whole system up to Aurora, and maybe one or two of the kernels other than linux.

Perhaps I should open a separate issue about screencasts...

nfeske commented 8 years ago

@dckc Thank you very much for sharing your perspective.

Your comment about the prominent link to our hopelessly outdated live CD is spot on! I removed it just now. The site is still there and can be reached via a link in the release archive. I very much appreciate your notice.

It seems that my comment caused a bit of confusion. Let me try to draw the line: With our work towards desktop computing, we want to make Genode fit as the technological basis for a desktop OS. But we don't actually want to build a generally applicable desktop OS by ourself, except for the special case where we developers are the end users. To realize a real desktop OS (a "solution"), Genode must be complemented with expertise about usability, taste for design, hosting infrastructure, system management, marketing, and end-user support. None of these areas are our core competence. We would love someone who has such competence and aspiration to step in and bridge that gap.

The idea about screen casts is superb. Thanks for pointing us in this direction!

dckc commented 7 years ago

The .iso and .ova files for 16.08 are great (as I mentioned in #1806) but http://genode.org/download/live-cds still says 2010-11 is the latest.

I don't see any .iso images for 16.11. If you didn't make any, fair enough. But if you did make some, please share.

nfeske commented 7 years ago

There are no live images for 16.11. Please note that the ISO images of the release notes of 16.08 are not meant as a Genode demo. We created them solely to show the state of the seL4 support. They give no complete picture by any stretch.

The link you cited is actually not present on the current genode.org page anymore. We just haven't deleted the page to avoid breaking any existing links.

dckc commented 7 years ago

I very much support not breaking links. Is there some reason to not change the page to reflect the current status? I suggested last Dec something along the lines of "we don't put our effort into live CDs these days, but we released a book."

nfeske commented 7 years ago

@dckc you are absolutely right. I added a disclaimer now. Thank you for the suggestion.

dckc commented 7 years ago

Thank you, @nfeske.

I suggest you close this issue with a "wontfix" label or the like.

nfeske commented 7 years ago

You are right. If we pick up the idea again in the future, we can open a new issue.

piotr-dobrogost commented 7 years ago

@nfeske

I added a disclaimer now.

You should link to comment https://github.com/genodelabs/genode/issues/1000#issuecomment-161260312 there as We don't put our effort into live CDs these days. sounds a bit like We don't care anymore and gives really bad impression without further details contained in discussion here.

Olivered commented 6 years ago

I think with the advent of the turmville/heisslich/sculpt scenario goal and the adaptation of grub2 you should re-open this issue and reconsider a functional demo for 2018.

Thought one: investors and people speculatively exploring their options are looking to maximize the ratio of productive time and energy invested into activities that advance their mission vs the number of hours spent deep into the arcana and options written in someone’s book about their framework. if your framework isn’t simple to use, it isn’t getting used. if i need to read the book for 5 hours and spend 6 hours tinkering with packages and tool chains etc- that’s a lot of frustration and overhead. human intelligence has evolved to minimize wasted effort and to rapidly, instictively determine as soon as possible if it seems as if an initiative is a waste of effort- for my instincts 20 minutes is how long i am willing to spend reading and typing commands.

thought two; redox, haiku , etc dev os doesn’t support most hardware yet. ship a virtualbox instance. i convert my windows systems into hackintoshes occasionally and i bootstrap my efforts by using a virtual machine instance running the desired OS to program real physical media and create an installer to later use on the pc. genode is usually run as a virtual machine under linux in many demonstrations... why aren’t you shipping a virtual machine?

thought three: you can’t explore the true usability or functionality of an os until you are eating your own dog food. to ship a virtual machine that potential clients can boot up and run commands in to compile the genode project as a self hosted system is as damn near a benchmark of theoretical completeness as an operating system can have.

nfeske commented 6 years ago

There is no need to re-open the issue. Sculpt will evolve into much more than a demo. In fact, the entire team at Genode Labs is using it natively on their laptops right now. Over 2018, Sculpt will eventually become palatable to people outside the inner circle.

Btw, all demos I gave during the past 10 years were presented under Genode on bare-metal hardware - never inside a VM.

The line of thoughts I expressed above is still valid. We won't make it our priority to provide VM images for the entertainment of people who have merely 20 minutes to spare, sorry. We are neither after VC money, nor in the business of serving the entitlement of consumers who want to reach an easy judgment.

Olivered commented 6 years ago

I don't think you should have to provide literal images for anyone's entertainment.

I think you should provide some way to run a demonstration and that you should respect 20 minutes. No demonstration equals nothing to pique curiosity. Information is readily available and anyone can claim what their system does and someone COULD claim that on THEIR machine they have a magical force field generator that creates unlimited pizza from light and air and people demonstrate vaporware and experimental academic projects that don't turn into anything useful all the time.

People have a finite limit of attention and energy being intelligently rationed between their various occupations, hobbies, interests. Some finite average ration of time and energy is available to any given person to experiment with new things. It's unfair to expect them to invest a lot of time or effort into their first opportunity to experiment with something new. 20 minutes is a reasonable time frame that I have experimentally deduced is sufficient to tell me if I would be interested further or not in many different things.

You have a book right now, and while I understand the book, and I understand the instructions, and I feel they are accessible, I feel the small amount of example material that can be written within the book and the lack of a working demo with example code already accessible makes genode more difficult than it needs to be.

Perhaps a shell script that automatically downloads, configures, compiles, and then runs a demo would be easier than publishing a vm image. Alternatively, perhaps you could publish a one-page set of instructions somewhere to allow people who are not into systems development and who want to try to run genode to set it up with a reduced amount of learning required.

There is also the complication that bootstrapping your framework requires, for the moment, linux. But as I understand it the future of genode makes that aspect go away.

dckc commented 6 years ago

@Olivered are you offering to help? If so, it's hard to tell from what you write.

I think @nfeske made it clear that he heard and understood your advice but chose not to alter his priorities. I don't think repeating your point is constructive. Unless you are offering to do the work or fund it, please respect his decision.

Olivered commented 6 years ago

Spent 4 hours rewriting that post.

I wanted to communicate that I felt like genode is deliberately antisocial and difficult, and to tone down my attacks on the genode os framework's method of teaching which similar to dark souls 2's gameplay, and to reduce my attacks on genode as a project, which seems to me similar to Ivan Godard's mill cpu- a great, well thought out, well fleshed out framework, with no actual product demonstration, which will probably only be realized if/when someone clones(read steals) the useful ideas and integrates them into their own system.

I don't want them to alter their priorities. I'm absolutely sure they know what they are doing, are way smarter than me, and have a great OS framework already, which works on their systems. Let me be clear: I believe all of the required work has already been done, and the only thing that is being withheld is a focus when writing documentation on providing the correct instructions that allow the user to utilize the system in an effective manner using reasonable amounts of effort. The lack of demonstration materials is tied in to my belief that it is intentionally antisocial.

ssumpf commented 6 years ago

@Olivered: Please have a look at https://genode.org/about/road-map for 2018 , the Genode Project just does things differently but we use it from day to day. Sorry, that you are not able to do so at the moment.

Olivered commented 6 years ago

The roadmap you have linked comprehensively addresses my concerns and interests. Thank you.