Update home

Jeremy Cline 2020-05-14 16:43:26 +00:00
parent 543d7adfe2
commit fc87df36bb

64
home.md

@ -1,63 +1 @@
This guide covers setting up a development environment, the repository layout, and the general contribution workflow.
# Quick Start
## Setup
To start with you need to:
1. Make a [GitLab account](https://gitlab.com/users/sign_in#register-pane) if you do not already have one.
2. [Fork the ARK tree](https://gitlab.com/cki-project/kernel-ark/-/forks/new). Wait patiently for this to complete.
3. Setup [Koji](https://fedoraproject.org/wiki/Using_the_Koji_build_system#Koji_Setup) and [Mock](https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds#How_do_I_set_up_Mock.3F) if necessary.
Once GitLab finishes forking the repository (this can take a while):
```
# Cloning with these URLs requires that you have an SSH key registered with GitLab
# If you've not yet set up keys, you can clone with with:
# git clone https://gitlab.com/<your gitlab name>/kernel-ark.git && cd kernel-ark
# git remote add -f upstream https://gitlab.com/cki-project/kernel-ark.git
git clone git@gitlab.com:<your gitlab name>/kernel-ark.git && cd kernel-ark
git remote add -f upstream git@gitlab.com:cki-project/kernel-ark.git
# Install build dependencies
sudo dnf install -y make gcc flex bison bzip2 rpm-build
git checkout upstream/ark-latest
# If you're on Fedora, you need to run:
# ln -s /usr/bin/python3 /usr/libexec/platform-python
make rh-srpm
sudo dnf builddep -y redhat/rpm/SPECS/kernel.spec
```
## Building an SRPM
The configuration and build scripts are in the `os-build` branch and are regularly updated to work with Linus's master branch. To build an SRPM, start by checking out the source tree you'd like to build. In this example, we'll assume that is Linus's master branch, but it could just as easily be Fedora's `ark-patches` branch (Linus's tree + Fedora patches) , a sub-system maintainer's tree, or your own creation.
```
git checkout linus/master
git merge -m "Merge branch 'os-build'" os-build
# Fedora carries a patch to alter this setting, so we need to change the configuration to build a vanilla tree.
sed -i 's/=13/=11/g' redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
# If you're targeting RHEL and have brew/rhpkg installed, use "make DIST=.elrdy rh-srpm" instead
make rh-srpm
```
You can now build the SRPM however you like:
```
# Build the SRPM locally
mock redhat/rpm/SRPMS/kernel*src.rpm
# Build the SRPM in Fedora's Koji
koji build --scratch rawhide redhat/rpm/SRPMS/kernel*src.rpm
```
Want to add a patch? Just git-cherry-pick it or apply it with git-am and re-run `make rh-srpm`. Change configurations in `redhat/configs/` (consult the repository layout for details on this).
## Next Steps
Check out the rest of the documentation for more details.
#### Table of Content
- [Repository Layout](Repository-layout)
- [Contributor guide](Contributor-guide)
- [Maintainer guide](Maintainer-guide)
Documentation is hosted at https://cki-project.gitlab.io/kernel-ark/