Changeset 1a4ec93f in mainline
- Timestamp:
- 2019-08-19T11:13:12Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0a2c96c, 3e828ea
- Parents:
- 3daa163
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README.md
r3daa163 r1a4ec93f 51 51 dependencies and try again. 52 52 53 As an example, here are some of the packages you will need for Ubuntu 1 2.10 (may be out of date):53 As an example, here are some of the packages you will need for Ubuntu 16.04: 54 54 55 55 ``` 56 $ sudo apt -get install build-essential libgmp-dev libmpfr-dev ppl-dev libmpc-dev zlib1g-dev texinfo libtinfo-dev xutils-dev flex bison56 $ sudo apt install build-essential wget texinfo flex bison dialog python-yaml genisoimage 57 57 ``` 58 58 … … 70 70 ### Configuring the build 71 71 72 Go back to the source root of HelenOS and start the build process: 72 Since the summer of 2019, HelenOS uses the Meson build system. 73 Make sure you have a recent-enough version of Meson and Ninja. 74 The safest bet is installing both using `pip3` tool. 75 76 ```sh 77 $ pip3 install ninja 78 $ pip3 install meson 79 ``` 80 81 Meson does not support in-tree builds, so you have to create a directory 82 for your build. You can have as many build directories as you want, each with 83 its own configuration. `cd` into your build directory and run `configure.sh` 84 script which exists in the source root. `configure.sh` can be run with a profile 85 name, to use one of the predefined profiles, or without arguments for interactive 86 configuration. 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 95 Note: If you installed the toolchain to a custom directory, make sure `CROSS_PREFIX` 96 environment variable is correctly set. 97 98 Once configuration is finished, use `ninja` to build HelenOS. 99 Invoking `ninja` without arguments builds all binaries and 100 debug files, but not bootable image. This is because during 101 development, most builds are incremental and only meant to check 102 that code builds properly. In this case, the time-consuming process of 103 creating a boot image is not useful and takes most time. This behavior 104 might change in the future. 105 106 In 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 108 file `image_path` in build directory. 73 109 74 110 ``` 75 $ cd ..76 $ make PROFILE=amd64111 $ ninja 112 $ ninja image_path 77 113 ``` 78 114 79 115 Now HelenOS should automatically start building. 80 116 81 Note: If you installed the toolchain to a custom directory, make sure `CROSS_PREFIX`82 environment variable is correctly set.83 84 117 ### Running the OS 85 118 86 When you get the command line back, there should be an `image.iso` file in the source119 When you get the command line back, there should be an `image.iso` file in the build 87 120 root directory. If you have QEMU, you should be able to start HelenOS by running: 88 121
Note:
See TracChangeset
for help on using the changeset viewer.