1 |
Hi everyone, |
2 |
|
3 |
|
4 |
== Brief summary of this project == |
5 |
|
6 |
kernelconfig is about generating kernel configuration files, |
7 |
using various sources such as curated defconfigs, detected hardware, |
8 |
installed packages and user input. |
9 |
|
10 |
The project's code can be found at [0]. |
11 |
|
12 |
|
13 |
== This week's progress == |
14 |
|
15 |
Most of this week's work has been about config resolving. |
16 |
What I eventually came up with is a graph-based approach |
17 |
that determines which additional config options need to be set |
18 |
so that the user-requested options can be applied. |
19 |
In a second pass, an "informed oldconfig" works its way through |
20 |
the configuration, sees which options have become visible due |
21 |
to the changes, and sets them like a "make oldconfig" would, |
22 |
with the difference that it enforces "# <option> is not set" |
23 |
decisions from user input. |
24 |
|
25 |
Apart from that, I've started with the configuration mini-language. |
26 |
It is built on Python Lex-Yacc, and features a small interpreter |
27 |
that exposes the Python-Level kernel config interface. |
28 |
Conditional statements and (language-level) error reporting |
29 |
are not complete yet, this will be added during the next week. |
30 |
|
31 |
|
32 |
== Plans for the next week == |
33 |
|
34 |
Complete the mini-language, and document it. |
35 |
|
36 |
A "main" script. Currently, there is only a demo script |
37 |
that ties the various code parts loosely together. |
38 |
|
39 |
|
40 |
[0] https://github.com/dywisor/kernelconfig |
41 |
|
42 |
Regards, |
43 |
André E. |