* [gentoo-soc] GSoC 2013: Manage kernel configurations
@ 2013-04-29 0:36 Pavel Nichoski
2013-05-01 9:54 ` Ralph Sennhauser
0 siblings, 1 reply; 3+ messages in thread
From: Pavel Nichoski @ 2013-04-29 0:36 UTC (permalink / raw
To: gentoo-soc
[-- Attachment #1: Type: text/plain, Size: 3627 bytes --]
Hello, I'm Pavel Nichoski, or CrowX- at Freenode. I'm a third year
undergraduate student majoring in Computer Science & Engineering at UIST
Macedonia. I've been using Gentoo since 2008, constantly on my desktop and
about a couple of years on my server, and I'm most happy with it. Of
programming languages, I've used C, C++, Python, Java, C#, PHP and Perl,
but mostly for trivial tasks, such as small programs or scripts for
university projects, or minor code tweaking of software I'm using. I'm also
very comfortable with writing bash scripts.
I plan to apply for a few projects, but first on my list is "Manage kernel
configurations" as I already have a generally well defined idea for it.
However, I'm always open to improvements, so criticism and suggestions are
most welcome. I also like the idea behind this project, and if accepted,
I'd be most happy to maintain and improve the application in the years to
come.
The main goals of the application would be:
1. To ease and automate the kernel upgrading process to a level the user
desires. This would mean using the old kernel configuration to generate a
new one while automatically taking care of changes between versions, such
as renamed drivers, etc. If the version of the application is older than
the version of the kernel, the app should be able to automatically (or by
request) sync the needed data from a server.
2. To provide default kernel configuration optimized to some extent
according to the system's profile, architecture, hardware info, file
systems available, etc. Now of course this wouldn't be able to provide an
out of the box perfectly optimized configuration in every case, but it
would greatly lower the amount of manual configuration by the user. The
more common the case is, the less manual configuration will be needed.
3. Automatically setting packages to be installed if a driver/module
absolutely needs it, usually for firmware. This could be done by creating a
separate set of packages, and perhaps adding that set in the world_sets
file, so the packages would get pulled when the user upgrades @world.
The application would be consisted on one command-line tool accepting
various arguments. For example:
-l --list Lists installed kernel versions
-u --upgrade Changes the symlink to the newest kernel version, or if
argument number is given, it sets it to the version under that number from
the list, then generates a .config file using the values of the previously
used kernel version.
-b --build Builds the kernel with the current config
-i --install Moves the kernel image to /boot and includes it in the
bootloader's configuration.
-m --menu Opens the menuconfig
-n --new Creates a new .config file with values based on the system's
profile, hardware info etc.
-d --default Reverts the config file to the default, i.e. as shipped by the
package manager
So on a new install the user would most likely use "programName -nimb" if
he wants the program to generate configuration, then open the menuconfig
for the user to do manual changes or reviews, then automatically builds the
kernel, moves it to /boot and edits grub.conf (in the case of grub legacy)
or whatever loader it's there.
And from then on, the user would simply need to execute "programName -ubi"
for upgrades. Also if --upgrade is combined with --list, it lists the
available versions and then promts for argument on which version to upgrade
to.
I'd prefer to use Python for this app, but could consider other options too
if the mentor suggests a better alternative.
Thanks for your attention, and as I said earlier, I'm open to critics and
suggestions.
Best regards,
[-- Attachment #2: Type: text/html, Size: 4405 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-soc] GSoC 2013: Manage kernel configurations
2013-04-29 0:36 [gentoo-soc] GSoC 2013: Manage kernel configurations Pavel Nichoski
@ 2013-05-01 9:54 ` Ralph Sennhauser
2013-05-03 17:41 ` Pavel Nichoski
0 siblings, 1 reply; 3+ messages in thread
From: Ralph Sennhauser @ 2013-05-01 9:54 UTC (permalink / raw
To: gentoo-soc
On Mon, 29 Apr 2013 02:36:49 +0200
Pavel Nichoski <nichoski@gmail.com> wrote:
> This could be done by creating a
> separate set of packages, and perhaps adding that set in the
> world_sets file, so the packages would get pulled when the user
> upgrades @world.
Portage allows users to define their own sets, sounds like the most
straight forward thing would be generating a user "kernel" set.
> The application would be consisted on one command-line tool accepting
> various arguments. For example:
> -l --list Lists installed kernel versions
> -u --upgrade Changes the symlink to the newest kernel version, or if
> argument number is given, it sets it to the version under that number
> from the list, then generates a .config file using the values of the
> previously used kernel version.
> -b --build Builds the kernel with the current config
> -i --install Moves the kernel image to /boot and includes it in the
> bootloader's configuration.
> -m --menu Opens the menuconfig
> -n --new Creates a new .config file with values based on the system's
> profile, hardware info etc.
> -d --default Reverts the config file to the default, i.e. as shipped
> by the package manager
One thing I'm missing here would be a means to verify a .config against
installed packages and their recorded CONFIG_CHECKs from
linux-info.eclass.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [gentoo-soc] GSoC 2013: Manage kernel configurations
2013-05-01 9:54 ` Ralph Sennhauser
@ 2013-05-03 17:41 ` Pavel Nichoski
0 siblings, 0 replies; 3+ messages in thread
From: Pavel Nichoski @ 2013-05-03 17:41 UTC (permalink / raw
To: gentoo-soc
[-- Attachment #1: Type: text/plain, Size: 318 bytes --]
Thank you for your reply Ralph. I included your suggestion in my
application, and posted it to google-melange.
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/nichoski/1#
Now I'll try to find a good bug to fix using Git. If anyone wants to help
me find one, it would be really appreciated.
Thanks.
[-- Attachment #2: Type: text/html, Size: 631 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-05-03 17:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-29 0:36 [gentoo-soc] GSoC 2013: Manage kernel configurations Pavel Nichoski
2013-05-01 9:54 ` Ralph Sennhauser
2013-05-03 17:41 ` Pavel Nichoski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox