source: mainline/README.md@ 23d45152

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 23d45152 was 23d45152, checked in by Dzejrou <dzejrou@…>, 8 years ago

added readme file to be shown on the github repository frontpage

  • Property mode set to 100644
File size: 3.6 KB
Line 
1# HelenOS
2
3HelenOS is a portable microkernel-based multiserver operating
4system designed and implemented from scratch. It decomposes key
5operating system functionality such as file systems, networking,
6device drivers and graphical user interface into a collection of
7fine-grained user space components that interact with each other
8via message passing. A failure or crash of one component does not
9directly harm others. HelenOS is therefore flexible, modular,
10extensible, fault tolerant and easy to understand.
11
12HelenOS does not aim to be a clone of any existing operating system
13and trades compatibility with legacy APIs for cleaner design.
14Most of HelenOS components have been made to order specifically for
15HelenOS so that its essential parts can stay free of adaptation layers,
16glue code, franken-components and the maintenance burden incurred by them.
17
18* [Website](http://helenos.org)
19* [Wiki](http://helenos.org/wiki)
20* [Tickets](http://www.helenos.org/report/1)
21* [How to contribute](http://www.helenos.org/wiki/HowToContribute)
22
23## Portability
24
25HelenOS runs on seven different processor architectures and machines ranging
26from embedded ARM devices and single-board computers through multicore 32-bit
27and 64-bit desktop PCs to 64-bit Itanium and SPARC rack-mount servers.
28
29## Building
30
31### Building the toolchain
32
33In order to build HelenOS, one must first build the cross-compiler toolchain
34(either as a root or by specifying the `CROSS_PREFIX` environment variable)
35by running (example for the amd64 architecture, further list of targets can be
36found in the `default` directory):
37
38```
39$ cd HelenOS/tools
40$ ./toolchain.sh amd64
41```
42
43The toolchain script will print a list of software packages that are required
44for the toolchain to correctly build. Make sure you install all the dependencies.
45Unfortunately, the script cannot install the required dependencies for you automatically
46since the host environments are very diverse. In case the compilation of the toolchain
47fails half way through, try to analyze the error message(s), add appropriate missing
48dependencies and try again.
49
50As an example, here are some of the packages you will need for Ubuntu 12.10 (may be out of date):
51
52```
53$ sudo apt-get install build-essential libgmp-dev libmpfr-dev ppl-dev libmpc-dev zlib1g-dev texinfo libtinfo-dev xutils-dev
54```
55
56Whereas for CentOS/Fedora, you will need:
57
58```
59# sudo dnf group install 'Development Tools'
60# sudo dnf install wget texinfo libmpc-devel mpfr-devel gmp-devel PyYAML genisoimage
61```
62In case the toolchain script won't work no matter how hard you try, let us know.
63Please supply as many relevant information (your OS and distribution, list of
64installed packages with version information, the output of the toolchain script, etc.) as
65possible.
66
67### Configuring the build
68
69Go back to the source root of HelenOS and start the build process:
70
71```
72$ cd ..
73$ make PROFILE=amd64
74```
75
76Now HelenOS should automatically start building.
77
78Note: If you installed the toolchain to a custom directory, make sure `CROSS_PREFIX`
79environment variable is correctly set.
80
81### Running the OS
82
83When you get the command line back, there should be an `image.iso` file in the source
84root directory. If you have QEMU, you should be able to start HelenOS by running:
85
86```
87$ ./tools/ew.py
88```
89
90For additional information about running HelenOS, see
91[UsersGuide/RunningInQEMU](http://www.helenos.org/wiki/UsersGuide/RunningInQEMU) or
92[UsersGuide/RunningInVirtualBox](http://www.helenos.org/wiki/UsersGuide/RunningInVirtualBox) or
93see the files in contrib/conf.
94
95## License
96
97HelenOS is open source, free software. Its source code is available under
98the BSD license. Some third-party components are licensed under GPL.
Note: See TracBrowser for help on using the repository browser.