68 lines
983 B
Bash
68 lines
983 B
Bash
#!/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!"
|
|
|