| #!/bin/bash |
| |
| ALLDEFCONFIGS="`ls arch/x86/configs/i386_*_defconfig`" |
| NJOBS=`cat /proc/cpuinfo | grep processor | wc -l` |
| OUTPUT_DIR=".tmp_kernel_build" |
| |
| usage() |
| { |
| echo "Help not implemented yet..." |
| echo |
| } |
| |
| failed() |
| { |
| make mrproper |
| rm -fr $OUTPUT_DIR |
| echo |
| echo "Build failed: $1" |
| exit 1 |
| } |
| |
| ALL=1 |
| |
| while getopts "i" OPTION; do |
| case $OPTION in |
| i) |
| ALL=0 |
| ;; |
| ?) |
| usage |
| exit 1 |
| ;; |
| esac |
| done |
| |
| rm -fr $OUTPUT_DIR |
| make mrproper |
| mkdir $OUTPUT_DIR |
| for conf in $ALLDEFCONFIGS; do |
| echo -n "Check $conf: " |
| if [ "$ALL" != "1" ]; then |
| echo "[Y/a/n] " |
| read -s -n1 ANSWER < /dev/tty |
| else |
| echo |
| fi |
| cp $conf $OUTPUT_DIR/.config |
| |
| if [ "$ANSWER" = "a" ]; then |
| ALL=1 |
| elif [ "$ANSWER" = "n" ]; then |
| continue |
| fi |
| echo |
| echo "Building..." |
| echo |
| make ARCH=i386 O=$OUTPUT_DIR oldconfig |
| make ARCH=i386 O=$OUTPUT_DIR clean |
| make ARCH=i386 O=$OUTPUT_DIR -j$NJOBS bzImage modules || failed $conf |
| done; |
| |
| make mrproper |
| rm -fr $OUTPUT_DIR |
| |
| echo |
| echo "All builds successfully done!" |
| |