Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 1a4ec93f in mainline for README.md


Ignore:
Timestamp:
2019-08-19T11:13:12Z (2 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master
Children:
0a2c96c, 3e828ea
Parents:
3daa163
Message:

Update README

File:
1 edited

Legend:

Unmodified
Added
Removed
  • README.md

    r3daa163 r1a4ec93f  
    5151dependencies and try again.
    5252
    53 As an example, here are some of the packages you will need for Ubuntu 12.10 (may be out of date):
     53As an example, here are some of the packages you will need for Ubuntu 16.04:
    5454
    5555```
    56 $ sudo apt-get install build-essential libgmp-dev libmpfr-dev ppl-dev libmpc-dev zlib1g-dev texinfo libtinfo-dev xutils-dev flex bison
     56$ sudo apt install build-essential wget texinfo flex bison dialog python-yaml genisoimage
    5757```
    5858
     
    7070### Configuring the build
    7171
    72 Go back to the source root of HelenOS and start the build process:
     72Since the summer of 2019, HelenOS uses the Meson build system.
     73Make sure you have a recent-enough version of Meson and Ninja.
     74The safest bet is installing both using `pip3` tool.
     75
     76```sh
     77$ pip3 install ninja
     78$ pip3 install meson
     79```
     80
     81Meson does not support in-tree builds, so you have to create a directory
     82for your build. You can have as many build directories as you want, each with
     83its own configuration. `cd` into your build directory and run `configure.sh`
     84script which exists in the source root. `configure.sh` can be run with a profile
     85name, to use one of the predefined profiles, or without arguments for interactive
     86configuration.
     87
     88```sh
     89$ git clone https://github.com/HelenOS/helenos.git
     90$ mkdir -p build/amd64
     91$ cd build/amd64
     92$ ../../helenos/configure.sh amd64
     93```
     94
     95Note: If you installed the toolchain to a custom directory, make sure `CROSS_PREFIX`
     96environment variable is correctly set.
     97
     98Once configuration is finished, use `ninja` to build HelenOS.
     99Invoking `ninja` without arguments builds all binaries and
     100debug files, but not bootable image. This is because during
     101development, most builds are incremental and only meant to check
     102that code builds properly. In this case, the time-consuming process of
     103creating a boot image is not useful and takes most time. This behavior
     104might change in the future.
     105
     106In case you want to rebuild the bootable image, you must invoke
     107`ninja image_path`. This also emits the name of the bootable image into the
     108file `image_path` in build directory.
    73109
    74110```
    75 $ cd ..
    76 $ make PROFILE=amd64
     111$ ninja
     112$ ninja image_path
    77113```
    78114
    79115Now HelenOS should automatically start building.
    80116
    81 Note: If you installed the toolchain to a custom directory, make sure `CROSS_PREFIX`
    82 environment variable is correctly set.
    83 
    84117### Running the OS
    85118
    86 When you get the command line back, there should be an `image.iso` file in the source
     119When you get the command line back, there should be an `image.iso` file in the build
    87120root directory. If you have QEMU, you should be able to start HelenOS by running:
    88121
Note: See TracChangeset for help on using the changeset viewer.