lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48D25F4E.4050405@cateee.net>
Date:	Thu, 18 Sep 2008 16:01:50 +0200
From:	"Giacomo A. Catenazzi" <cate@...eee.net>
To:	Takashi Iwai <tiwai@...e.de>
CC:	linux-kernel@...r.kernel.org
Subject: Re: diet-kconfig: a script to trim unneeded kconfigs

Takashi Iwai wrote:
> Hi,
> 
> a topic that just came up in kernel summit is a script to remove
> unneeded kernel configs automatically to reduce the compile time.
> Incidentally, I already wrote such a script during the last SUSE hack
> week a couple of weeks ago, so I'd like to share here, hopefully to
> give an idea for further improvements.
> 
> The script checks the currently loaded modules and trims other
> CONFIG_XXX=m simply, and tries make oldconfig, and writes out the
> resultant .config in the current directory after some checks. 
> You can specify the config file via option,  as default, it reads from
> /proc/config.gz. 
> 
> The script is VERY hackish.  I should have begun with perl or whatever
> better script language, but I chose bash and co.  So, don't expect
> much code quality.  I'm no script guy after all :)

Check my AutoKernConf (http://cateee.net/autokernconf/), it has
huge (and automatically generated) database about drivers, modules,
and configuration, and it gives a minimal kernel configuration for the
most of the hardware hardware.

It needs a real maintainer and tools for non-hardware drivers
(fs, net, ...) and special hardware (CPU capabilities,
architecture specific drivers, etc).


> 
> 
> Takashi
> ---
> 
> #!/bin/sh
> 
> # this magic makes grep and co a lot faster
> export LANG=C
> 
> kroot=
> subarch=$(uname -i)

-i is wrong (gives "unkwnown" on Debian).
Check the main Makefile how to extract the architecture from uname.

> 	c)
> 	    oldconfig="$OPTARG"
> 	    if [ ! -f "$oldconfig" ]; then
> 		echo "Cannot find old config $oldconfig"
> 		exit 1
> 	    fi

Check also the config-* in /boot

> find_kconfig () {
>     module=$1
>     modregex=$(echo $1 | sed -e's/_/[_-]/g')
> 
>     grep -E '^[[:space:]]*obj-\$\([A-Za-z0-9_]*\)[[:space:]]*[+:]=.*[[:space:]]'"$modregex"'\.o' $tmpd/makefiles | \
> 	sed -e's/^.*://g' -e's/^[[:space:]]*obj-\$(\(.*\)).*$/\1/g'
> }

My python code works better (handle "alias", etc.).
Anyway I should send some cleanup patches to correct and
improve some ugly kernel Makefile.


ciao
	cate
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ