Howdy all,
We are a (very small) company looking for a good home for our software suite. The Be-derived OS we've been using served us well for a long time, but instability has become a problem of late, with kernel/drivers crashes -- obviously that is where a micro-kernel/framework would shine. My thinking goes, if we are to 'port' our SW we might as well go for state of the art. That way, it will be the first and last time we do that transition. Our clients don't need (nor event want!) all the bells and whistles of a commodity OS; they just need a solid kernel with our apps running full-screen. So it appears to be a perfect match with Genode/nova, nitpicker et alia, keeping in mind I of course have some huge work ahead of me.
Anyway long story short: although I'm very enthusiastic about Genode, I first need to get my greedy hands on it and compile it. I've been failing at that repeatedly ever since doing my first git clone, ca. 18.05
A collaborative worksheet might be better suited for copy-pasting error messages and for organizing thoughts (rather than cluttering this mailing-list): I've created this etherpad as a companion venue for working on this, in case there is interest:
https://etherpad.net/p/KcMuF3Ylbu_gcc
I'll update it with my progress. Very eager to get the ball rolling and start working with Genode. If all else fails I guess I'll download/install/learn to use Linux. But since all my software is haiku native, I'd have to constantly reboot from one OS to the other, hurting productivity. It's probably worthwhile for me to invest time in building Genode and run 'scenarios' (qemu) directly from within Haiku.
Thanks,
Cedric,
TuneTracker Systems LLC - http://www.tunetrackersystems.com
As a relatively inexperienced hobbyist in Genode, I can't give you much advice about porting the build system, but as an alternative OS enthusiast (including Haiku), I will give you a few thoughts in general (below).
(For those who don't know, TuneTracker is the premier showcase application built for Haiku, taking advantage of the latter's multimedia responsiveness.)
On 12/11/18 6:45 AM, ttcoder@netcourrier.com wrote:
Howdy all,
We are a (very small) company looking for a good home for our software suite. The Be-derived OS we've been using served us well for a long time, but instability has become a problem of late, with kernel/drivers crashes -- obviously that is where a micro-kernel/framework would shine. My thinking goes, if we are to 'port' our SW we might as well go for state of the art. That way, it will be the first and last time we do that transition. Our clients don't need (nor event want!) all the bells and whistles of a commodity OS; they just need a solid kernel with our apps running full-screen. So it appears to be a perfect match with Genode/nova, nitpicker et alia, keeping in mind I of course have some huge work ahead of me.
I have come to the exact same conclusion myself. Genode's design is very elegant (IMHO), the team is highly professional, and although it is still evolving, the platform is pretty mature at this point. All in all, I think it is the best bet going forward for an open-source, trustworthy computing base.
Anyway long story short: although I'm very enthusiastic about Genode, I first need to get my greedy hands on it and compile it. I've been failing at that repeatedly ever since doing my first git clone, ca. 18.05
A collaborative worksheet might be better suited for copy-pasting error messages and for organizing thoughts (rather than cluttering this mailing-list): I've created this etherpad as a companion venue for working on this, in case there is interest:
https://etherpad.net/p/KcMuF3Ylbu_gcc
I'll update it with my progress. Very eager to get the ball rolling and start working with Genode. If all else fails I guess I'll download/install/learn to use Linux. But since all my software is haiku native, I'd have to constantly reboot from one OS to the other, hurting productivity. It's probably worthwhile for me to invest time in building Genode and run 'scenarios' (qemu) directly from within Haiku.
Others may be able to help you with the build system, but it might be easier to set up a multi-OS environment using virtualization.
In my case, I migrated to VirtualBox a few years ago. I specifically don't run any end-user software on the host - everything is in VMs. This allowed me to quickly migrate the host from Windows to *nix (and soon to Genode!), while taking my time migrating the end-user functionality between OSes.
For Genode development, the official recommendation is Ubuntu LTS, but I use a Debian Unstable VM, which has worked flawlessly. Haiku runs fine in VirtualBox in my experience (I'm listening to streaming audio on it right now). You might even take advantage of the option of using your real HD partitions instead of virtual disks, which might reduce the number of times you need to reboot.
This may not suffice when you're testing low-latency audio (etc.), but for bread-and-butter development, it might get the job done.
In any case, please keep us informed of your progress!
Hi Johannes,
I looked through your pad and noticed that you removed Ada support. Since you already have GCC 7.3 on your system you could install the GNAT Community 2018 version which also uses GCC 7.3. Both requirements to build the toolchain with Ada support should be possible
I'll try this out in case it helps with the error I'm getting ("cannot find libstdc++..") and report back on the etherpad, thank you!
Hi John,
(For those who don't know, TuneTracker is the premier showcase ap
Thanks for the kind words. We used to have a reputation as not only being more userfriendly than competitors, but also rock solid... With Genode I'm hoping we return there :-)
I have come to the exact same conclusion myself. Genode's design is very elegant (IMHO), the team is highly professional, and although it is still evolving, the platform is pretty mature at this point. All in all, I think it is the best bet going forward for an open-source, trustworthy computing base.
Concur.. Almost done reading genode_18.05.pdf; whenever I'm done reading a few pages I start day dreaming about how to apply all the great concepts, then I visualize a strategy for creating a "libhaiku.so" port to facilitate porting.. Then I get back the urge to tackle the dang GCC compiler again, hoping to succeed if I try one more time *g*.
I'm probably getting ahead of myself here, but when thinking about the future of TTS apps on Genode I believe much of the work will have to go in re-creating the BFS filesystem, at least feature wise (file attributes and indexing especially) -- BFS of course has little support outside of Haiku -- I think I've only heard of a some sort of read-only BFS fs in a linux distro once -- yet it is central to how our apps function. Many of our competitors resort to storing album/title/other metadata in an SQL-server database (!) running on a second (!) computer to be purchased separately. Life is much simplier for us and our clients in that respect.
One thing that occured to me, reading about the powerful mechanisms for delegation in Genode, is that a special purpose component/process could sit "in between" the vfs component and my app/components, so as to intercept read/write file system calls. The idea would be to re-route some of the calls: the read/write's to the plain "body" of the file would be sent to ext2 (or whichever) as normal; however, the ReadAttr()/WriteAttr() calls would be handled with custom code, to indeed store and retrieve attribute contents, and to maintain consistency of their indexing; there would be a guarantee of consistency (provided the "in between" component is correct) since it would be impossible to alter the filesystem without the in-between snopping on it. Just a raw thought at this point, I did not yet create an XML 'policy' file about that or anything yet, let alone any code.
Maybe actually doing a full-fledged port of BFS would be a better idea. Or I've heard there is /some/ support for attributes in ext2/ext3 ..etc but attributes are untyped (would have to understand the significance of that) and limited to 64KB in size (this one would probably not be a problem).
Others may be able to help you with the build system, but it might be easier to set up a multi-OS environment using virtualization.
Looks like that suggestion would be a big improvement to my "last chance" option indeed: Install ubuntu, download and install the official tool chain to get to work; then also run Haiku in a VM; I suppose it' possible to share a data partition between both (it would have to be a format that both Linux and Haiku understand, like FAT32); I have almost no experience with VMs but my co-dev at TTS does, If I go that way I'll pick his brain indeed.
Cedric
Hi Cedric,
I looked through your pad and noticed that you removed Ada support. Since you already have GCC 7.3 on your system you could install the GNAT Community 2018 version which also uses GCC 7.3. Both requirements to build the toolchain with Ada support should be possible (although I have no idea if you need to compile GNAT Community from source since I'm not familiar with Haiku).
Aside from that it could be possible to only disable the version check and use another GNAT version if no fitting version is available. We successfully compiled Ada components on Genode with GNAT versions different from the toolchain (although we didn't compile the tool chain with a different GNAT version yet).
Regards, Johannes
On Tuesday, 11 December 2018 12:45:02 CET ttcoder@netcourrier.com wrote:
Howdy all,
We are a (very small) company looking for a good home for our software suite. The Be-derived OS we've been using served us well for a long time, but instability has become a problem of late, with kernel/drivers crashes -- obviously that is where a micro-kernel/framework would shine. My thinking goes, if we are to 'port' our SW we might as well go for state of the art. That way, it will be the first and last time we do that transition. Our clients don't need (nor event want!) all the bells and whistles of a commodity OS; they just need a solid kernel with our apps running full-screen. So it appears to be a perfect match with Genode/nova, nitpicker et alia, keeping in mind I of course have some huge work ahead of me.
Anyway long story short: although I'm very enthusiastic about Genode, I first need to get my greedy hands on it and compile it. I've been failing at that repeatedly ever since doing my first git clone, ca. 18.05
A collaborative worksheet might be better suited for copy-pasting error messages and for organizing thoughts (rather than cluttering this mailing-list): I've created this etherpad as a companion venue for working on this, in case there is interest:
https://etherpad.net/p/KcMuF3Ylbu_gcc
I'll update it with my progress. Very eager to get the ball rolling and start working with Genode. If all else fails I guess I'll download/install/learn to use Linux. But since all my software is haiku native, I'd have to constantly reboot from one OS to the other, hurting productivity. It's probably worthwhile for me to invest time in building Genode and run 'scenarios' (qemu) directly from within Haiku.
Thanks,
Cedric,
TuneTracker Systems LLC - http://www.tunetrackersystems.com
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users