Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README: improve it for newcomers #11

Merged
merged 1 commit into from
Apr 3, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,33 @@
# kconfigs

This is a system for fetching the kconfigs for a variety of Linux distributions,
as well as the upstream defconfigs, and archiving them for later analysis. The
resulting configuration data can be summarized into a compact JSON file which
can be browsed on [our webpage][1]. Or, you can simply download the
configurations and explore them with `grep`.
This is a system for fetching the Linux kernel configuration files for a variety
of Linux distributions, and archiving them for later analysis. The resulting
configuration data is summarized into a compact JSON file which can be
browsed on [our webpage][1]. Or, you can simply download the configurations and
explore them with `grep`.

[1]: https://oracle.github.io/kconfigs/

On a regular basis, Github CI runs will fetch more recent package versions and
keep the configurations up-to-date.

## Browsing Configurations Locally

While the [webpage][1] is convenient, you can also directly clone the `gh-pages`
branch of this repository to explore locally:

``` sh
git clone https://github.com/oracle/kconfigs -b gh-pages
cd kconfigs
grep -r IKCONFIG_PROC out/
```

## How to Run

This tool runs on Python 3.11 or later. It requires common compression tools
(gzip, bzip2, xz, zstd, tar) as well as common command line tools for Linux
packaging installed to the system (gpg, rpm, cpio, dpkg).

The following setup instructions apply to Oracle Linux 9. First, install runtime
dependencies (most should already be installed, but they are listed for
completeness).
Expand All @@ -27,6 +42,8 @@ dnf install -y python3.11{,-devel,-venv,-pip} \
To setup the runtime Python environment:

``` sh
git clone https://github.com/oracle/kconfigs
cd kconfigs
make venv
```

Expand All @@ -36,6 +53,8 @@ To run the extraction routine:
make run
```

Configurations will appear in the `out` directory.

## Documentation

You should be able to find everything you need by browsing to our [web page][1]
Expand Down