[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Automated kernel configuration and installation tool



> From: "Rafa? Jasinski"
> Newsgroups: gmane.linux.debian.devel.kernel
> Subject: Automated kernel configuration and installation tool
> Date: Mon, 26 Mar 2007 18:56:55 +0200
>

Hallo.

I'm a little lkml and debian-kernel *reader*, sometimes hacking on things
i like, and replying on bugreports i think, i can help.

Let me tell you something personal about your message, assuming, that
YMMV.

> ------=_Part_292724_20524001.1174928215487
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline

First of all look at your message in a way kernel developers like, i mean
rip off html junk and no multipart text-only body.

>
> This is my proposal for Summer of Code 2007 sent to Debian Org
>
> Project Title
>
> Synopsis
>   The intention of the project is to design and implement a user-friendly
> tool used to configure a new kernel,
[1]

Purpose is? Users of the kernel configuring process are

* kernel developers
* kernel package developers
* advanced users facing and capable tracing kernel bugs.

I don't know about kfreebsd, but in linux (2.6) kernel configuration is
something like "select-all-as-modules" by command 'make allmodconfig'.
Some options are changed, of course, but it's mainly
text-editor/pkg-config-file/'sed' problem, i.e kernel-package wrapper
[kpw].

> control its compilation process
[2]

I can't understand what do you mean here.

Or it builds, or it doesn't. Most upstream kernel version must be
build-able, or one must contact *upstream* obviously.

> and install it in the operating system.
[3]

Can't you be more specific about present problems, e.g by-hand method or
[kpw]?

> The functionality and way of working with the intended program is going
> to resemble how APTITUDE works for applications.
[4]

AFAIK it's main purpose is to select, install and resolve needs of
packages. Much like apt-get and apt-cache, but with some UI. Resolving
of dependencies their main task. And they work OK for installation,
but so far fail in removing/purging (there is some work toward this,
though).

So, what kind of dependencies you want to resolve in 'select-all' kernel?

The kconfig and kbuild in linux-2.6 are *upstream* tools for
custom configuring. Anyway, all you get is a text file, some key linux
developers *are* editing manually.

> The motivation for the project is that contemporary Linux distributions
> contain either simple kernel configuration tools that do not give
> enough power to the users or, on the contrary, tools that are too
> difficult to use for newbies. The new piece of software is going to
> fill the gap and provide users with a user-friendly and, at the same
> time, powerful tool.
[5]

This are some more words for [1], [2] and [3], but they are nothing to
clarify anything to me.

As i said power-users are editing kernel config file by text or stream
editor(check lkml, please). Newbies may try some *config options in
*upstream* config tool.

For newbies there's 'make defconfig' and 'make allyesconfig', what's
the problem?

>
> Benefits to Debian
>   Making Debian more usable and open to greater groups of users giving them
> more control over kernel administration, thus bringing it closer to
> perfection.
[6]

Key word is *administration*. It's new one here. What it means?

>
> Deliverables
>   A program generating kernel configuration files based on user choices made
> in the user interface similar to APTITUDE, allowing to edit those files and
> then running and controlling kernel compilation and its installation in the
> system.

Sound like kbuild, kconfig rewrite (in the linux kernel) [krewrite].

> Project Details
>   The software's functionality is going to be divided into a number of
> modules. One of them is going to be a user interface based on NCURSES with
> possibility to reimplement in other graphical environments. It is going to
> provide the user with choices of modules, suggest including proper kernel
> modules,

Too much "modules", thus

> disallow the user from making wrong choices.

you will help users not to lost in them (:

Nothing concrete WRT kernel.

> The program can load an existing configuration file and edit an already
> created configuration.

[krewrite]?

> Upgrading selected kernel modules is going to be possible, including
> automatic module version conflict detection. The implementation will
> provide for extending the program with support for automatic download
> of proper kernel files from mirror servers.

Aha modules. Here i can speculate, you are talking about external
modules packaged in debs. Well, apt-cache shows some, that

* outdated: fwatch (there's inotify)
* useless: shfs-source (there's fuse+sshfs)
* up-to-date with debs for most architectures: squashfs

Thus, i think, external modules form the debian archive are not a problem.

That were my personal opinion and comments after second and last read
of your message. 

If you want make something useful, o would suggest to boil in that
soup first: mailing lists, people, problems, maintaining, bugs etc.
Last two are mostly debian-kernel ML problems, btw.

After that (half a year or so), you may propose your code solutions for
problems, like kbuild and kconfig in the Linux Kernel.

Thread about simplicity of kernel configuration (by this message you can
find all thread in Gmane):

From: Linus Torvalds <torvalds@linux-foundation.org>
Newsgroups: gmane.linux.kernel
Message-ID: <Pine.LNX.4.64.0702051502370.8424@woody.linux-foundation.org>

Regards.
--
-o--=O`C  info emacs-manual : not found
 #oo'L O  info make         : not found
<___=E M  man gcc           : not found


> Project Schedule
>   The complete design and implementation all the aspects of the project is
> not going to possible in the three months timeframe. I could start working
> on this project full-time from end of semester near end of June. However,
> before that time preparations could take place including collecting
> information and concept design.
> Proposed milestones:
>  - Basic input (parsing) and output of configuration files - 1 week
>  - Data structures allowing for efficient storing, accessing and tracking
> relationships between modules - 4 weeks
>  - Graphical user interface, implementation based on code of APTITUDE - 4
> weeks
>  - Tweaking, testing and bug-fixing - 3 weeks
>
> ------=_Part_292724_20524001.1174928215487
> Content-Type: text/html; charset=ISO-8859-1
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
>
> This is my proposal for Summer of Code 2007 sent to Debian Org<br><br>Project Title<br>
><br>
> Synopsis<br>
> &nbsp;&nbsp;The intention of the project is to design and implement a
> user-friendly tool used to configure a new kernel, control its
> compilation process and install it in the operating system. The
> functionality and way of working with the intended program is going to
> resemble how APTITUDE works for applications.<br>
> The motivation for the project is that contemporary Linux distributions
> contain either simple kernel configuration tools that do not give
> enough power to the users or, on the contrary, tools that are too
> difficult to use for newbies. The new piece of software is going to
> fill the gap and provide users with a user-friendly and, at the same
> time, powerful tool.<br>
><br>
> Benefits to Debian<br>
> &nbsp;&nbsp;Making Debian more usable and open to greater groups of users giving
> them more control over kernel administration, thus bringing it closer
> to perfection.<br>
><br>
> Deliverables<br>
> &nbsp;&nbsp;A program generating kernel configuration files based on user choices
> made in the user interface similar to APTITUDE, allowing to edit those
> files and then running and controlling kernel compilation and its
> installation in the system.<br>
><br>
> Project Details<br>
> &nbsp;&nbsp;The software&#39;s functionality is going to be divided into a number of
> modules. One of them is going to be a user interface based on NCURSES
> with possibility to reimplement in other graphical environments. It is
> going to provide the user with choices of modules, suggest including
> proper kernel modules, disallow the user from making wrong choices. The
> program can load an existing configuration file and edit an already
> created configuration. Upgrading selected kernel modules is going to be
> possible, including automatic module version conflict detection.<br>
> The implementation will provide for extending the program with support
> for automatic download of proper kernel files from mirror servers.<br>
><br>
> Project Schedule<br>
> &nbsp;&nbsp;The complete design and implementation all the aspects of the project
> is not going to possible in the three months timeframe. I could start
> working on this project full-time from end of semester near end of
> June. However, before that time preparations could take place including
> collecting information and concept design.<br>
> Proposed milestones:<br>
> &nbsp;- Basic input (parsing) and output of configuration files - 1 week<br>
> &nbsp;- Data structures allowing for efficient storing, accessing and tracking relationships between modules - 4 weeks<br>
> &nbsp;- Graphical user interface, implementation based on code of APTITUDE - 4 weeks<br>
> &nbsp;- Tweaking, testing and bug-fixing - 3 weeks<br>
>
> ------=_Part_292724_20524001.1174928215487--
>
>



Reply to: