Hello Harish,
On Tue, Jan 21, 2014 at 09:44:42AM +0530, Harish Krish wrote:
> I have developed a qt4 mailing application.Now i would like to port it
> on genode operating framework.I am unaware of how to proceed.any
> suggestions?
Depending on what libraries and runtime components beside Qt you need
for your application this project scales from an easy recompile to
porting several libraries including their transitive dependencies. The
first questions that I would ask myself are:
* Does the app work with Qt5? Genode still has Qt4 support but is
migrating to Qt5, which means better future prospects.
* Which libraries does the app use for POP3/IMAP/SMTP/other protocols?
* Are there further dependencies to solve like used runtime tools for
mail retrieval/sending?
After that step come back to the mailing list and ask specific
questions about problems you experienced. Please don't expect the
developers on the list to design a holistic solution for your project.
A last remark from me: Please stay on the list for discussing Genode
development. This way, you have a much broader audience that may find
a solution for your issues. Directly addressing specific developers
should be an exception (limited to invitation by the devs themselves).
Regards and happy hacking
--
Christian Helmuth
Genode Labs
http://www.genode-labs.com/ · http://genode.org/https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Happy New Year everybody!
Leaving the year 2013 behind us, it's time to recapture what we achieved
in the past 12 months and to lay out the activities for this year. I am
planning to update our official road map by mid of January and seek your
input for doing so.
Review of the past year
-----------------------
In 2013, we worked on four construction sites: Framework infrastructure,
self-hosting, tooling and optimization, and hardware support. When
reviewing the road map for 2013, it is great to see that we largely
lived up to our planning.
The framework infrastructure was enhanced with concepts for managing
CPUs on multi-processor systems and for dynamically balancing memory
resources, it received new audio and file-system capabilities, and, with
the addition of Qt5 and the lxIP stack, we could enable highly
sophisticated workloads natively on Genode.
On our endeavour of self-hosting Genode on Genode, we could eliminate
long-standing show stoppers for several base platforms. We were able to
improve them to the point where we can routinely execute Genode's tool
chain across several base platforms such as NOVA and Fiasco.OC as part
of our nightly automated tests. On the user-facing side, a new
command-line interface has seen the light of the day.
Two highlights when it comes to tooling were the new event tracing
facilities, and profound support for automated testing. Thanks to the
latter, we expose Genode to over 500 test runs including automated
performance benchmarks. By executing those tests each night, we have
become able to resolve regressions before they enter the master branch.
So the master branch remains always in a good shape.
As expected for an operating-system project, most of our work was spent
on hardware support. On x86, we added IOMMU support, and the
virtualization capabilities on NOVA have seen a major upgrade. On ARM,
we enabled or vastly enhanced the device drivers for Samsung Exynos 5,
Freescale i.MX, and Raspberry Pi. We also explored the possibilities of
combining Genode with ARM TrustZone.
Only two topics, namely Intel wireless and a new user interface concept
had been deferred. We decided to postpone the Intel wireless topic to
address gigabit networking instead. Even though the new user-interface
concept served as a strong motivation behind many improvements of the
base system such as dynamic reconfiguration and dynamic resource
balancing, the work on those fundamentals left little room to bring
forward the actual GUI concept. Now that those pieces are in place, we
can go full steam ahead.
The most surprising topic that was not clearly laid out in our last
year's road map is the advancement of the base-hw platform. Started as a
mere experiment, it received so much love and attention that it
unexpectedly became able to host the whole universe of Genode's software
stack.
What are we up to?
------------------
Well, the answer to this question is not set in stone. Here are my
suggestions:
* Improved handling of 3rd-party code:
Many new users of Genode stumble over the installation of
3rd-party code. It is not obvious to see which packages are
required for a particular run script. Instead, users have to deal
with confusing error messages when a needed package is not
installed. We should definitely fix this inconvenience.
* The base-hw platform
* Multi-processor support
* Kernel-protected capability-based security
* Exploring ARM's virtualization extensions
* C runtime:
* Revisit libc plugin concept to make the configuration of per-
process virtual file systems as easy as it is for Noux. By
making Noux' VFS implementation reusable for the libc, normal
Genode programs could leverage stacked file systems in very
flexible ways.
* Abandon helper threads in favour for asynchronous I/O handling,
improving performance and the simplicity of the libc-internal
code.
* Storage:
The work on the file-system stack is in full swing. Personally, I
desire a journaling file system as well as a block cache.
* Device drivers:
* Intel wireless
* Merged SATA drivers: Right now, the high-performance SATA 3.0
driver for the Exynos-5 SoC does not share any code with the
older SATA driver for x86. We should consolidate both
implementations to get good disk performance on x86.
* Virtualization on NOVA/x86:
Port of a "mainstream" VMM to Genode/NOVA. I am a fan of the Seoul
(ex Vanvouver) VMM. However, I get repeatedly asked for features
that people universally expect but that are unavailable on Seoul,
i.e., Windows guest support. In the future, I'd like to pull a
positive answer to such questions out of my sleeve.
* User-interface concept:
This topic must look like a running gag, but it is not. :-)
* Hardware-accelerated graphics:
Even though we looked into this topic some years ago with the
experimental port of Gallium3D and the Intel GPU driver, we left
the code almost unattended since then. However, with more and more
software relying on OpenGL ES2.0 (I am looking at QML in
particular), we definitely need to re-address the problem. In the
meantime, the Intel Linux graphics stack and Mesa have advanced a
lot. So we might even start looking at the problem from scratch.
* Noux performance optimizations:
The Noux runtime has reached a state where it runs Unix tools
including GCC reliably. But it is not very fast in doing so. To
make it more pleasant to use Noux for day-to-day work, we should
start to optimize.
The points above are merely my personal preferences.
What are topics that you wish to see in Genode throughout the year 2014?
Or are you working on a particular feature that you plan to integrate
into Genode?
Cheers
Norman
--
Dr.-Ing. Norman Feske
Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
GI, the German Society of Informatics, comprises a Special Interest
Group on Operating Systems, which is meeting twice a year to discuss
their current research work. The next meeting will be hosted by TU
Dresden in May 2014. Please consider submitting a talk.
Title: Secure and Reliable Operating Systems
Date: May 22/23 2014, TU Dresden, Dept. of Computer Science
Computer systems are an indispensable part of daily life. We can no
longer avoid to trust these systems with private data, confidential
business information, and even our lives. Therefore, this meeting will
focus on operating system mechanisms that enable these systems to
provide reliability and security.
You are cordially invited to submit talks that address design and
implementation of dependable and secure operating systems and runtime
environments. These topics include (amongst others):
* Design of dependable operating system kernels
* Secure application architectures
* Infrastructures for Cloud Computing
* Secure and dependable embedded systems
* Tool support for operating system development
Please send an abstract for your talk until March 31st 2014 to Björn
Döbel (doebel@...28...).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iEYEARECAAYFAlLY8SgACgkQP5ijxgQLUNk5+ACdHXk4O9fyWtdIkZiAL1sug8xP
8IoAn13iFztObmch50/cp0NImShxpsD6
=MjQ1
-----END PGP SIGNATURE-----
Hey, I am trying to build an application over genode.
When I giving "make hello" inside my build file. I am getting following
error:
Error: target 'hello' does not exist
make: *** [error_missing_targets] Error 1
How to rectify this error? Are there any per-requisites to be downloaded?
Thank you.
Bulusu Karteek Pradyumna.
Hi,
I have genode 13.08 and installed genode-toolchain-11.11.tar.bz2.
I have further created build.lx directory
I am getting following error when I am giving make run/demo command.
Program drivers/framebuffer/sdl/fb_sdl
COMPILE fb_sdl.o
/home/kartikpradyumna/Downloads/genode-13.08/os/src/drivers/framebuffer/sdl/fb_sdl.cc:15:21:
fatal error: SDL/SDL.h: No such file or directory
compilation terminated.
make[3]: *** [fb_sdl.o] Error 1
make[2]: *** [fb_sdl.prg] Error 2
make[1]: *** [gen_deps_and_build_targets] Error 2
make[1]: Leaving directory
`/home/kartikpradyumna/Downloads/genode-13.08/build.lx'
Error: Genode build failed
make: *** [run/demo] Error 252
How to rectify this error?
Thank you.
Kartik
Hi,
just an fyi - it seems they deleted the old files in the ftp site ->
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre
--2013-12-19 22:02:24--
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.bz2
=> ‘download/pcre-8.30.tar.bz2’
Resolving ftp.csx.cam.ac.uk (ftp.csx.cam.ac.uk)... 131.111.8.115
Connecting to ftp.csx.cam.ac.uk (ftp.csx.cam.ac.uk)|131.111.8.115|:21...
connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /pub/software/programming/pcre ... done.
==> SIZE pcre-8.30.tar.bz2 ... done.
==> PASV ... done. ==> RETR pcre-8.30.tar.bz2 ...
No such file ‘pcre-8.30.tar.bz2’.
Thanks,
dex
Hey,
I am working on genode and had an idea of building a mail client
application.
Can I get suggestions to build the same from the scratch?
Thank you.
Regards,
Bulusu Karteek.
Hi all,
I used qt-launchpad to start tasks, sometimes when I close a task ,this
error occur
Possible null pointer READ at 0 IP 54796d
Has everyone met this error before ?How can I fix it?
Any help is appreciate
Greetings All,
I have recently tried to start again from scratch to build the GENODE +
NOVA for x86_64 per Normans instructions:
----------------------------------------------------
alternatively, you can use Genode directly on NOVA without the need for
NRE or NUL. It is also possible to run virtual machines on top of NOVA +
Genode. All three variants (NUL, NRE, and Genode) use the same
user-level virtual machine monitor (VMM) called Seoul (formerly called
Vancouver).
For Genode, you can find the Seoul VMM at 'ports/src/vancouver/'. The
actual Seoul 3rd-party code can be downloaded by issuing the following
command from within Genode's 'ports/' repository:
make prepare PKG=seoul
You will also need to download the C runtime as needed by Seoul and the
x86emu needed by the VESA graphics driver. This can be done by changing
to the 'libports/' repository and issuing the following command:
make prepare PKG="x86emu libc"
You can try out Linux running on NOVA + Genode using the ready-to-use
run scripts at 'ports/run/seoul-*'. For example, to see a graphical
Linux desktop on top of NOVA + Genode, execute the following command
from within your build directory. Please make sure to have the
'libports' and 'ports' repositories enabled in the 'etc/build.conf' file
of your build directory.
make run/seoul-fancy
By default, the build system will try to run the resulting boot image in
Qemu, which is extremely slow (Qemu executes NOVA, which executes
Genode, which executes Seoul, which executes Linux). But you can write
the corresponding ISO image to a USB stick and boot it on a real
machine. The machine must have VT enabled in the BIOS.
dd if=var/run/seoul-fancy.iso of=/dev/your_usb_stick_device bs=1M
The scenario will show Genode's launchpad, where you can start a virtual
machine by clicking on the blue text labeled "init". A new window will
appear with Tinycore Linux booting. Given that your machine is connected
to the internet (and a DHCP server is running on your network), you can
even browse the net using Firefox.
You can start a second Linux instance by clicking on the "init" button
again.
In this scenario, each virtual machine is just a regular node of
Genode's process tree, subjected to the same rigid security regime as in
effect for all processes of the Genode system.
I wish you a lot of fun with exploring the possibilities. All the best
and happy New Year!
----------------------------------------------------
With that in mind, I started to write down each step that I have been
taking in order to show the list how far I have gotten before something
errors out.
Here is what I have done so far:
-----------------------------------------------------
Purpose to build Genode on top of NOVA hypervisor
1. Setup base plaform
Debian 7.2 (64-bit) in Virtualbox (4.3.6 r91406)
2. Get the latest Genode
git clone https://github.com/genodelabs/genode.git
3. Download toolchain: genode-toolchain-12.11-x86_64.tar.bz2 or
genode-toolchain-12.11-x86_32.tar.bz2
http://sourceforge.net/projects/genode/files/genode-toolchain/
64-bit in my case.
4. Install Toolchain:
sudo tar xPfj genode-toolchain-12.11-x86_64.tar.bz2
5. Go into Genode directory:
cd ~/genode/
6. Go get the Seoul VMM into ports directory:
cd ~/genode/ports/
make prepare PKG=seoul
7. Go into libports and get C runtime as needed by Seoul and the x86emu
needed by the VESA graphics driver:
cd ../libports
make prepare PKG="x86emu libc"
8. Go into the desired base directory (NOVA in this case):
cd ~/genode/base-nova/
Prepare the Nova base:
make prepare
9. Go into the base Genode directoy and setup the build directory (ie..
gnova64)
./tool/create_builddir nova_x86_64 BUILD_DIR=gnova64
10. Go into the build directory and edit the etc/build.conf. Enable
'libports' and 'ports' repositories in the 'etc/build.conf' file of your
build directory:
cd ~/genode/gnova64/etc
Use Nano or similar to edit etc/build.conf to remove "#" in front of
needed REPOSITORIES.
nano build.conf
---------------------------------------------------------------------------
.
.
.
#
# Ports of popular open-source libraries and the C library.
#
# Make sure to execute 'make prepare' in 'libports' prior building.
#
REPOSITORIES += $(GENODE_DIR)/libports
#
# Qt4 tool kit
#
# The 'qt4' repository depends on 'libc' and 'libports'
# Make sure to execute 'make prepare' in 'qt4' prior building.
#
REPOSITORIES += $(GENODE_DIR)/qt4
#
# Ports of popular 3rd-party applications
#
# The 'ports' repository depends on 'libc', 'libports', and 'qt4'.
# Make sure to execute 'make prepare' in 'ports' prior building.
#
REPOSITORIES += $(GENODE_DIR)/ports
.
.
.
----------------------------------------------------------------------------
Then go to each directory and do "make prepare" just to be sure.
cd ~/genode/ports; make prepare
cd ~/genode/libports; make prepare
ERROR HERE-------------------------------
--2013-12-26 11:12:20--
https://www.openssl.org/source/openssl-1.0.1c.tar.gz
Resolving www.openssl.org (www.openssl.org)... 185.9.166.106
Connecting to www.openssl.org (www.openssl.org)|185.9.166.106|:443...
connected.
ERROR: The certificate of `www.openssl.org' is not trusted.
ERROR: The certificate of `www.openssl.org' hasn't got a known issuer.
make: *** [download/openssl-1.0.1c.tar.gz] Error 5
lonnie@...223...:~/genode/libports$
-------------------------------------------
Any suggestions would be greatly appreciated.
Kind Regards and have a great day,
Lonnie
hi!
i run fiasco.oc +genode+android4.0,but it runs slowly.my board has 1.2hz cpu and 1 g ram.why it runs so slowly?
some material shows that virtural matchine only reduce 10% performance.
is it the reason that i have not port the gpu driver?
any ideas will be helpful.
thanks.