Merge commit 'refs/merge-requests/2' of git://git.ti.com/wilink8-wlan/build-utilites
[wilink8-wlan/build-utilites.git] / verify_kernel_config.sh
1 #!/bin/sh
3 function usage ()
4 {
5     echo "Usage: <option=1> `basename $0` <kernel_config_file>"
6         echo "options:"
7         echo "IP_TABLES - add ip tables support"
8         echo "NO_DEVICE_TREE - add support for non device tree compilation"
9         echo "BT_HCI - add support for BT HCI"
10         exit 1
11 }
13 base_config=(
14     CONFIG_WLAN=y
15     CONFIG_WIRELESS=y
16     CONFIG_KEYS=y
17     CONFIG_SECURITY=y
18     CONFIG_CRYPTO=y
19     CONFIG_WIRELESS_EXT=y
20     CONFIG_CRYPTO_ARC4=y
21     CONFIG_CRYPTO_ECB=y
22     CONFIG_CRYPTO_AES=y
23     CONFIG_CRYPTO_MICHAEL_MIC=y
24     CONFIG_CRYPTO_CCM=y
25     CONFIG_RFKILL=y
26     CONFIG_REGULATOR_FIXED_VOLTAGE=y
27     CONFIG_CRC7=y
28     CONFIG_INPUT_UINPUT=y
29 )
31 ip_table_config=(
32     CONFIG_NF_CONNTRACK=y
33     CONFIG_NF_CONNTRACK_IPV4=y
34     CONFIG_IP_NF_IPTABLES=y
35     CONFIG_IP_NF_FILTER=y
36     CONFIG_NF_NAT_IPV4=y
37     CONFIG_IP_NF_TARGET_MASQUERADE=y
38 )
40 no_dt_config=(
41     CONFIG_WL12XX_PLATFORM_DATA=y
42 )
44 bt_hci_config=(
45     CONFIG_ST_HCI=y
46 )
47 function verify_configuration()
48 {
49     conf_list=("${!1}")
50     echo ""
51     echo "Validating kernel .config ($1) "
52     echo ""
53     
54     i="0"
55         while [ $i -lt ${#conf_list[@]} ]; do
56         cat $kernel_config_file 2> /dev/null | grep ${conf_list[i]} > /dev/null 2>&1        
57         STATUS=$?
58         if [ $STATUS  -eq 1 ] ; then
59             echo "Missing - ${conf_list[i]}" 
60             read -p "Do you want to add it [y/n] ? " yn
61             case $yn in
62                 [Yy]* ) echo "${conf_list[i]}" >> ${kernel_config_file} && echo "${conf_list[i]} - Was Added!" && echo "";;
63                 [Nn]* ) echo "${conf_list[i]} was not added.";;
64                 * ) echo "Please answer y or n.";;
65             esac   
66         fi       
67         i=$[$i + 1]
68     done
69     #echo "$1 scan completed"
70 }
72 if [ $# -lt 1 ]
73 then
74         usage
75 fi
76 kernel_config_file=$1
78 if ! [ -f $kernel_config_file ];
79 then
80    echo "Configuration file $kernel_config_file does not exists" 
81    exit 1
82 fi
84 verify_configuration base_config[@]
85 [ $IP_TABLES ] && verify_configuration ip_table_config[@]
86 [ $NO_DEVICE_TREE ] && verify_configuration no_dt_config[@]
87 [ $BT_HCI ] && verify_configuration hci_config[@]
88 exit