<commit_before>![IncludeOS Logo](./etc/logo.png)
================================================

**IncludeOS** is an includable, minimal [unikernel](https://en.wikipedia.org/wiki/Unikernel) operating system for C++ services running in the cloud. Starting a program with `#include <os>` will literally include a tiny operating system into your service during link-time.

IncludeOS is free software, with "no warranties or restrictions of any kind".

[![Pre-release](https://img.shields.io/github/release-pre/includeos/IncludeOS.svg)](https://github.com/hioa-cs/IncludeOS/releases)
[![Apache v2.0](https://img.shields.io/badge/license-Apache%20v2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![Join the chat](https://img.shields.io/badge/chat-on%20Slack-brightgreen.svg)](https://goo.gl/NXBVsc)

**Note:** *IncludeOS is under active development. The public API should not be considered stable.*

## Quick start
### Install the dependencies
On macOS there is a work in progress homebrew package here: https://github.com/includeos/homebrew-includeos
#### Building IncludeOS services:
* [The conan package manager](https://docs.conan.io/en/latest/installation.html)
* cmake, make, nasm
* clang, or alternatively gcc on linux

#### Running an IncludeOS service (using boot):
* qemu
* python3
* python packages: psutil, jsonschema

Now install the conan profiles and remotes for getting binary packages of includeos libraries.
```
$ conan config install https://github.com/includeos/conan_config.git
```

### Hello world with IncludeOS
First select an appropriate [conan profile](https://docs.conan.io/en/latest/reference/profiles.html) for the target you want to boot on. `conan profile list` will show the profiles available, including the ones installed in the previous step. When developing for the machine you're currently on, linux users can typically use `clang-6.0-linux-x86_64`, and MacOS users can use `clang-6.0-macos-x86_64`. You can also make your own.

The following steps let you build and boot the IncludeOS hello world example.
```
$ git clone https://github.com/includeos/hello_world.git
$ mkdir your_build_dir
$ cd your_build_dir
$ conan install ../hello_world -pr <your_conan_profile>
$ source ./activate.sh
$ cmake ../hello_world
$ cmake --build .
$ boot hello
```
You can use the [hello world repo](https://github.com/includeos/hello_world) as a starting point for developing your own IncludeOS services. For more advanced examples see the [examples repo](https://github.com/includeos/demo-examples) or the integration tests (under ./IncludeOS/test/\*/integration).

Once you're done `$ source ./deactivate.sh` will reset the environment to its previous state.

### IncludeOS kernel development
The above shows how to build bootable IncludeOS binaries using pre-built versions the IncludeOS libraries. In order to modify IncludeOS itself or contribute to IncludeOS development, you need a different workflow. Start by cloning IncludeOS.

```
$ git clone https://github.com/includeos/IncludeOS.git
```

Now create a conan layout file, or edit your own copy of [layout.txt](https://github.com/includeos/IncludeOS/blob/dev/etc/layout.txt). Have the first line point to `your_kernel_build_dir`, e.g. where you want the compiled IncludeOS libraries to be built while you work. You can now tell conan to use this local build instead of the prebuilt binary versions.

```
$ conan editable add your_IncludeOS_fork -l your_layout.txt includeos/0.15.0@includeos/test
$ cd your_kernel_build_dir
$ conan install your_IncludeOS_fork -pr <your conan profile>
$ conan build your_IncludeOS_fork -sf your_IncludeOS_fork -bf .
```

Building a service that depends on `includeos <=0.15` will now depend on the local copy of the IncludeOS kernel libraries. You can now make changes to the IncludeOS source (pointed to by the `conan build ... -sf `parameter) and simply
```
$ cd your_kernel_build_dir
$ cmake --build . # or simply make, if you use the default cmake backend
```
Test your changes e.g. in the hello world example like so:
```
$ cd your_build_dir
$ rm bin/hello.elf.bin # force cmake to relink
$ source ./activate.sh
$ cmake ../hello_world
$ cmake --build .
$ boot hello
```

##### Contents:

- [Key Features](#features)
- [Getting started with IncludeOS development](#getting_started)

- ###### Service Developers Howto:
  * [Building IncludeOS with dependencies from conan](#building_includeos)
  * [Building, starting and creating your first IncludeOS Service](#building_service)

- ###### Kernel Developers Howto:
  * [Getting IncludeOS in Editable mode](#editing_includeos)
  * [Getting started developing packages](#develop_pkg)

- ###### Other Info:
  * [Contributing to IncludeOS](#contribute)
  * [Our Website](https://www.includeos.org/)
  * [The Company](https://www.includeos.com/)
  * [C++ Guidelines](#guideline)
  * [Security contact](#security)

<commit_msg>README: Remove kernel quick start<commit_after>![IncludeOS Logo](./etc/logo.png)
================================================

**IncludeOS** is an includable, minimal [unikernel](https://en.wikipedia.org/wiki/Unikernel) operating system for C++ services running in the cloud. Starting a program with `#include <os>` will literally include a tiny operating system into your service during link-time.

IncludeOS is free software, with "no warranties or restrictions of any kind".

[![Pre-release](https://img.shields.io/github/release-pre/includeos/IncludeOS.svg)](https://github.com/hioa-cs/IncludeOS/releases)
[![Apache v2.0](https://img.shields.io/badge/license-Apache%20v2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![Join the chat](https://img.shields.io/badge/chat-on%20Slack-brightgreen.svg)](https://goo.gl/NXBVsc)

**Note:** *IncludeOS is under active development. The public API should not be considered stable.*

## Quick start
### Install the dependencies
On macOS there is a work in progress homebrew package here: https://github.com/includeos/homebrew-includeos
#### Building IncludeOS services:
* [The conan package manager](https://docs.conan.io/en/latest/installation.html)
* cmake, make, nasm
* clang, or alternatively gcc on linux

#### Running an IncludeOS service (using boot):
* qemu
* python3
* python packages: psutil, jsonschema

Now install the conan profiles and remotes for getting binary packages of includeos libraries.
```
$ conan config install https://github.com/includeos/conan_config.git
```

### Hello world with IncludeOS
First select an appropriate [conan profile](https://docs.conan.io/en/latest/reference/profiles.html) for the target you want to boot on. `conan profile list` will show the profiles available, including the ones installed in the previous step. When developing for the machine you're currently on, linux users can typically use `clang-6.0-linux-x86_64`, and MacOS users can use `clang-6.0-macos-x86_64`. You can also make your own.

The following steps let you build and boot the IncludeOS hello world example.
```
$ git clone https://github.com/includeos/hello_world.git
$ mkdir your_build_dir
$ cd your_build_dir
$ conan install ../hello_world -pr <your_conan_profile>
$ source ./activate.sh
$ cmake ../hello_world
$ cmake --build .
$ boot hello
```
You can use the [hello world repo](https://github.com/includeos/hello_world) as a starting point for developing your own IncludeOS services. For more advanced examples see the [examples repo](https://github.com/includeos/demo-examples) or the integration tests (under ./IncludeOS/test/\*/integration).

Once you're done `$ source ./deactivate.sh` will reset the environment to its previous state.

##### Contents:

- [Key Features](#features)
- [Getting started with IncludeOS development](#getting_started)

- ###### Service Developers Howto:
  * [Building IncludeOS with dependencies from conan](#building_includeos)
  * [Building, starting and creating your first IncludeOS Service](#building_service)

- ###### Kernel Developers Howto:
  * [Getting IncludeOS in Editable mode](#editing_includeos)
  * [Getting started developing packages](#develop_pkg)

- ###### Other Info:
  * [Contributing to IncludeOS](#contribute)
  * [Our Website](https://www.includeos.org/)
  * [The Company](https://www.includeos.com/)
  * [C++ Guidelines](#guideline)
  * [Security contact](#security)


{'fraction_non_alphanumeric': 0.129047791019622, 'fraction_numerical': 0.006380161309738774, 'mean_word_length': 4.875530410183876, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 8, 'https://': 32, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4750037', 'n_tokens_mistral': 2514, 'n_tokens_neox': 2362, 'n_words': 831}