Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932293AbVIEImw (ORCPT ); Mon, 5 Sep 2005 04:42:52 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932371AbVIEImw (ORCPT ); Mon, 5 Sep 2005 04:42:52 -0400 Received: from web51011.mail.yahoo.com ([68.142.224.81]:10901 "HELO web51011.mail.yahoo.com") by vger.kernel.org with SMTP id S932293AbVIEImv (ORCPT ); Mon, 5 Sep 2005 04:42:51 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=TcujFj4lRbtYGk+fN9u8AB23s2rn3wajKk7oB0NAvUuEp25exZaIp3Pt6VyLtYX9PQfzHHmXucKvWJeXbPRREX6dOe8UbOuGjjptKkpspaL8SGwESUPfaKrixEjc7xeV5j6yDJmDRaSI6MFZPUrALNynbHq2rQSlOyhjoA1L0NU= ; Message-ID: <20050905084236.46978.qmail@web51011.mail.yahoo.com> Date: Mon, 5 Sep 2005 01:42:36 -0700 (PDT) From: Ahmad Reza Cheraghi Subject: A Framework to automatically configure a Kernel To: linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-917716344-1125909756=:43744" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 53016 Lines: 989 --0-917716344-1125909756=:43744 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-Id: Content-Disposition: inline Hi everybody For my endthesis I wrote a Framework that automatically generates a Kernel-Configuration . A Kernel-Patch, the sources and a readme are attached to this mail. For more details please read the README.txt. Comments and suggestion are welcome. Regards Ahmad Reze Cheraghi ______________________________________________________ Click here to donate to the Hurricane Katrina relief effort. http://store.yahoo.com/redcross-donate3/ --0-917716344-1125909756=:43744 Content-Type: application/x-gtar; name="autoconfig_0_1_patch.tgz" Content-Transfer-Encoding: base64 Content-Description: 1469308934-autoconfig_0_1_patch.tgz Content-Disposition: attachment; filename="autoconfig_0_1_patch.tgz" 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 Kig1lQyxO+OqmUxvlk0nerPTWjKT6c2mM5nebCaT6d8+y4lMcyLTnMg0JzLd 2VIi00EFiS9f/fuby28v/3H1uvfVD9+86sk1/Ory9Rv5+M/ejk3dWV9rx0tn KhuZzKWuJqAMpx1+KUKlJAvSeMptAz+IVPVHZ3rf0FVMEiHUNrpBH2DORUwl upkApomvVtA7DMQgVSG4aVFFFBK6sa9u1Eaw0crSmghp4zKJkpfUInjv3M/3 ahjz0M/ZEavj5U5I55RIvo5Rz7alK8n6ejR6gP97cvr5T8Yo/dC76Zn5Mb8U ukf14fHheJqYBqWTMK4z9qXmKseoJACbstwB3CrZWpJstFIq1W4NiOVSiQKE dXJ/Jtotk7DTQ3rzOTYtbqsltky1W5iGMj4NKyeY7MYYutam0lz0V2kbS7NH CtQaKS5F7PLaOKa3XvxVAVVtp7VIE1f1NqaHa3Ab0cJPju33GZIJvkFKGM/R 7WQiZQR60YJsI4V4fiGal8p/A1cim/9xEoc4gFTAfh2gPgP0/zQglTklDshD W12l9FAoDpOg1cXtOhyPGY5/T+OIgMitytND2Nuu2oPXmnGH3a6HCuQwxZdu Lq8GZS3hd3RPUsgo5587KrrAVuje8SSoKZpn9uHHgfNUOU9T52nuPP2snlyH KMf0OI4pXepwMXXJQvPqpqPuuhPVQaZ8ipfpU13F+NrtynDLgq762NVlmhnu Y2wVST3gdXVinMzhOnvRrK3KV9IgVrV+ItilfYd3T9rCeT41ozGJUXT2H1mz VZySklacQM4Dr87hTHvKT6MvsbFZJBKCHJAEqQ8FtS3hMY6shmd9wc+nxite nFAugeKUrSFGE+irQ9hHaVMtR5y2oHy0S5IJ5q8KbpbTMcDvh4ZVp9M1Eosj 7AmplWm90n692Hemqi25X2/Ob6bBbWa//txu11H7VuUr/vLyzVWtgetX26mx cJPbf7duSw9e8m06eMklYvxlfPMM6vK9zXvpbifBy9qR3dcguLx0DBuuLjoW Kb3OzIJj4S+55JJLLrnkkksuueSSSy655JJLLrnkkksuueSSSy655JJLLrnk kksuueSSSy655JLLb1B+Af/BYhMAQAEA --0-917716344-1125909756=:43744 Content-Type: application/x-gtar; name="autoconfig_0_1.tgz" Content-Transfer-Encoding: base64 Content-Description: 2327105889-autoconfig_0_1.tgz Content-Disposition: attachment; filename="autoconfig_0_1.tgz" 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 T/T8H2nM+ZkAaAEA --0-917716344-1125909756=:43744 Content-Type: text/plain; name="README.txt" Content-Description: 1223145499-README.txt Content-Disposition: inline; filename="README.txt" For my EndThesis, in the Niederrhein University of Applied Sciences, I've right-now almost finished a framework that generates a .config file based on the target system. This program should help people to generate a linux kernel Config without spending a lot of time at the configuration. The basic idea of the framework is, that the options asked by "make config" will be redirected to a set of scripts. Those scripts answers are depending on the hardware/system the option-question. This framework is now in its test stage. It works on my Acer Laptop(TM 291LMI with Pentium M and Radeon 9700). That means, - the framework is functional - but additional scripts have to be written for other type of hardware/functionality (far away from completed) - an additional Help is an output that the autoconfig gives out after his work is done, which tells us that in some menus the amount of needed options did not elected. Constist: ******** The Linux Auto-Config consist of Files, auto_conf.c, an upgraded conf.c and Makefile, a directory (rules) which contains a rules_list and the scripts, and a xmlparser written by Tim Hockin. install: ******* You've just to download the autoconfig*.tgz and unpack it in the /usr/src//scripts/kconfig directory. To run it go to your the directory and type for using the sources: (root) # cd /tmp/ (root) # tar xvfz autoconfig*.tgz (root) # cp -r autoconfig*/* /usr/src//scripts/kconfig (root) # cd /usr/src// for using the patch: (root) # cd /tmp/ (root) # tar xvfz autoconfig*-patch.tgz (root) # cd /usr/src// (root) #root) # patch -p1 < /tmp/autoconfig*/sources.patch (root) # chmod u+x scripts/kconfig/rules/* (root) # make auconfig !! Be carefull: since we want to build a config from scratch on, the .config will be deleted automaticly. How does it work: ***************** The trick of all is a framworking program, that means adding binaries or scripts without touching the real program. The program starts like if you are starting a make config, but at that point where it wants an input from you, the function auto_conf gets called with that option-question as a parameter. We are comparing this option with in a list manual-written Kconfig option. Each of those options in the list has its own script which will be executed in parallel by accordance. For putting an option in the rules_list you need the Option and a script that does the work for the option and then gives a value to the stout. This value will be redirected through a pipe to our main program which will write the config-name for the option into the .config file. How to add a rule: ******************* The basic of the script is that it must give an answer to stdout. Since the rules_list is written in xml there are some conditions for adding rules. To add a rule (for the specified option), you have to know first the option name and the name of the menu that contains it. The easiest way, to do this, is to run make menuconfig, and see in which menu or submenu your option belongs to. Each of those has its own XML-Tag: : beginnging of the list. : Has the attribute "name" and "must_have". In attribute "name" the name of the menu should be written. Attribute "must_have" shows the min. number of option, that in a menu should be choosen for a proper Kernel. can contains options or submenus(the same as ). In the attribut name the option name should be written. And the contain of the Option Tag is the name of rule that belongs to that option. example: How to make a rule ******************* A rule can be either a script or binary or... The main job is to give out an answer to stout for the actually option-question, it doesn't matter how. We have three types of answer: sym-answers: either y, n, m or \n. string-answer: can be maximal 128 characters option-answer: By the manual configuration normally you have to type an number but a rule for an option should give out an y, if it want to be choosen. For example: the option is "Networking Support" the program looks in the our list (which is called rules_list) to find the "Networking Support" and if this option is in there, a certain script (which we call it a rule) will be executed. In this example the script name is hw_grep1.pm which reads a given Parameter and searches for this Parameter, lspci and dmesg with the help of grep. In this Case the Parameter will be "Ethernet|Network". hw_grep1.pm: $found=''; $found=`lspci | grep "@ARGV"`; if($found ne '') { print("y\n"); } else { $found=`grep -E "@ARGV" /var/log/dmesg `; if($found ne ''){ print("y\n"); } else { print("n\n"); } } 1; This script checks if there is an Ethernet or a Network card on the target System. If it is true, it gives in this case a 'y' to stdout. And for some options there can't be any script-rules, for instance software such as FTP or TCPIP etc..., those question either get answered as 'build in' or as 'module'. !! the answers must always have a '\n' at the end The rule-binary should be copied in the directory /scripts/kconfig/rules/ Messages: ******************* When the amount of needed Options in some menus are not choosen, messages will be given out in the stdout, at the end of the configuration. Containig Name of the menus. This can be happen: 1. if for some options they rules are not applied. The reason for that is for some Hardware Option there is no rule. 2. if your System doesn't support the Hardware i.e. you don't have an ethernet Card. In this case either your upgrade the autoconfig with rules or your contact me. If you are getting messages please include the following information: 1. a copy of your lspci, /proc/cpuinfo and /var/log/dmesg 2. a copy of your messages TO DO: ******************* 1. The Framework has to be extend for the Systems that aren't supported. 2 .A way to ask for the Hardware-Devices directly from the I/O. Contact: ******************* Suggestion and comments are welcome. Email: Ahmad Reza Cheraghi --0-917716344-1125909756=:43744-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/