diff --git a/build_wl18xx.sh b/build_wl18xx.sh
index 31f3a513c5e3e151399f6545d75e1b3d62747765..b95ab692465d66e54324f45ad2fc88298dfb2986 100755 (executable)
--- a/build_wl18xx.sh
+++ b/build_wl18xx.sh
DEFAULT_TOOLCHAIN=1
fi
+
#if no kernel path is set - download it.
if [[ "$KERNEL_PATH" == "DEFAULT" ]]
then
export LIBNL_PATH=`repo_path libnl`
export KLIB=`path filesystem`
export KLIB_BUILD=${KERNEL_PATH}
- export GIT_TREE=`repo_path driver`
- export PATH=$TOOLCHAIN_PATH:$PATH
+ export GIT_TREE=`repo_path driver`
+ export PATH=$TOOLCHAIN_PATH:$PATH
}
function build_intree()
{
- cd_repo driver
+ cd_repo driver
export KERNEL_PATH=`repo_path driver`
read_kernel_version
[ $CONFIG ] && cp `path configuration`/kernel_$KERNEL_VERSION.$KERNEL_PATCHLEVEL.config `repo_path driver`/.config
make -j${PROCESSORS_NUMBER} zImage
make -j${PROCESSORS_NUMBER} am335x-evm.dtb
+ make -j${PROCESSORS_NUMBER} am335x-evm-wow.dtb
make -j${PROCESSORS_NUMBER} am335x-bone.dtb
make -j${PROCESSORS_NUMBER} am335x-boneblack.dtb
+ make -j${PROCESSORS_NUMBER} am335x-boneblack-e14-wl1837.dtb
+ make -j${PROCESSORS_NUMBER} am335x-boneblack-su-audio.dtb
+ make -j${PROCESSORS_NUMBER} am335x-boneblack-wl1835.dtb
make -j${PROCESSORS_NUMBER} modules
INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} modules_install
cp `repo_path driver`/arch/arm/boot/zImage `path tftp`/zImage
cp `repo_path driver`/arch/arm/boot/dts/am335x-*.dtb `path tftp`/
+ assert_no_error
+
+ cd `path filesystem`
+ [ -f ../outputs/drv_skeleton.tar ] && rm ../outputs/drv_skeleton.tar
+ find ./ -name wl*.ko -exec tar rf ../outputs/drv_skeleton.tar {$1} \;
+ find ./ -name *80211*.ko -exec tar rf ../outputs/drv_skeleton.tar {$1} \;
+
+ cd_back
+}
+
+function rebuild_intree()
+{
+ cd_repo driver
+ export KERNEL_PATH=`repo_path driver`
+
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=net/wireless/ modules
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=net/wireless/ modules_install
+
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=net/mac80211/ modules
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=net/mac80211/ modules_install
+
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=drivers/net/wireless/ti/ modules
+ INSTALL_MOD_PATH=`path filesystem` make -j${PROCESSORS_NUMBER} M=drivers/net/wireless/ti/ modules_install
+
assert_no_error
cd_back
}
cd_back
}
+function build_wl_logger()
+{
+ if [ -d "`repo_path ti_utils`/wl_logproxy" ]; then
+ cd `repo_path ti_utils`/wl_logproxy
+ [ -z $NO_CLEAN ] && NFSROOT=`path filesystem` make clean
+ [ -z $NO_CLEAN ] && assert_no_error
+ NLVER=3 NLROOT=`repo_path libnl`/include NFSROOT=`path filesystem` LIBS+=-lpthread make
+ assert_no_error
+ NFSROOT=`path filesystem` make install
+ cd_back
+ fi
+}
+
function build_calibrator()
{
cd_repo ti_utils
cp `repo_path fw_download`/*.bin `path filesystem`/lib/firmware/ti-connectivity
}
+function build_fw()
+{
+ cd `repo_path firmware-build`/victoria/firmware
+ [ -z $NO_CLEAN ] && ./build.sh clean
+ ./build.sh
+ cp `repo_path firmware-build`/victoria/firmware/out/Firmware18xx/wl18xx-fw-4.bin `path filesystem`/lib/firmware/ti-connectivity
+ cp `repo_path firmware-build`/victoria/firmware/out/Firmware18xx/wl18xx-fw-4.bin `path outputs`
+ cd_back
+}
+
+
function patch_kernel()
{
[ ! -d $KERNEL_PATH ] && echo "Error KERNEL_PATH: $KERNEL_PATH dir does not exist" && exit 1
`repo_path ti_utils`/wlconf/wlconf
"ELF 32-bit LSB[ ]*executable, ARM"
)
+
+ [ $INTREE ] && files_to_verify=(
+ # skeleton path
+ # source path
+ # pattern in output of file
+
+ `path filesystem`/usr/local/sbin/wpa_supplicant
+ `repo_path hostap`/wpa_supplicant/wpa_supplicant
+ "ELF 32-bit LSB[ ]*executable, ARM"
+
+ `path filesystem`/usr/local/bin/hostapd
+ `repo_path hostap`/hostapd/hostapd
+ "ELF 32-bit LSB[ ]*executable, ARM"
+
+ `path filesystem`/sbin/crda
+ `repo_path crda`/crda
+ "ELF 32-bit LSB[ ]*executable, ARM"
+
+ `path filesystem`/usr/lib/crda/regulatory.bin
+ `repo_path wireless_regdb`/regulatory.bin
+ "CRDA wireless regulatory database file"
+
+ `path filesystem`/lib/firmware/ti-connectivity/wl18xx-fw-4.bin
+ `repo_path fw_download`/wl18xx-fw-4.bin
+ "data"
+
+ `path filesystem`/lib/modules/$KERNEL_VERSION.$KERNEL_PATCHLEVEL.*/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+ `repo_path driver`/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+ "ELF 32-bit LSB[ ]*relocatable, ARM"
+
+ `path filesystem`/lib/modules/$KERNEL_VERSION.$KERNEL_PATCHLEVEL.*/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+ `repo_path driver`/drivers/net/wireless/ti/wlcore/wlcore.ko
+ "ELF 32-bit LSB[ ]*relocatable, ARM"
+
+ #`path filesystem`/usr/bin/calibrator
+ #`repo_path ti_utils`/calibrator
+ #"ELF 32-bit LSB[ ]*executable, ARM"
+
+ `path filesystem`/usr/sbin/wlconf/wlconf
+ `repo_path ti_utils`/wlconf/wlconf
+ "ELF 32-bit LSB[ ]*executable, ARM"
+ )
+
}
function get_tag()
{
if [ -z $NO_EXTERNAL ]
then
- [ $DEFAULT_KERNEL ] && build_uimage
+ [ -z $INTREE ] && [ $DEFAULT_KERNEL ] && build_uimage
build_openssl
build_libnl
build_crda
if [ -z $NO_TI ]
then
- build_modules
+ [ -z $INTREE ] && build_modules
+ [ $INTREE ] && build_intree
build_iw
build_wpa_supplicant
build_hostapd
build_calibrator
+ build_wl_logger
build_wlconf
build_fw_download
build_scripts_download
clean_outputs
setup_workspace
read_kernel_version #####read kernel version again after update#####
- build_all
+ [[ -z $NO_BUILD ]] && build_all
;;
'openlink')
#################### Building single components #############################
'kernel')
print_highlight " building only Kernel "
- #clean_kernel
+ #clean_kernel
build_uimage
;;
'intree')
print_highlight " building modules intree"
- #clean_kernel
build_intree
;;
+ 'intree_m')
+ print_highlight " Building JUST wireless modules intree"
+ rebuild_intree
+ ;;
+
'kernel_modules')
print_highlight " building kernel and driver modules"
build_uimage
'utils')
print_highlight " building only ti-utils "
build_calibrator
+ build_wl_logger
build_wlconf
;;
+ 'all_hostap')
+ print_highlight " building hostap and dependencies "
+ build_libnl
+ build_openssl
+ build_wpa_supplicant
+ build_hostapd
+ ;;
+
'firmware')
print_highlight " building only firmware"
build_fw_download
;;
+ 'fw')
+ print_highlight " building only firmware"
+ build_fw
+ ;;
+
'patch_kernel')
print_highlight " only patching kernel $2 without performing an actual build!"
NO_BUILD=1
NO_CLEAN=1 build_all
;;
+ 'all_intree')
+ print_highlight " building all (in-tree) (No clean & no source code update) "
+ #clean_outputs
+ INTREE=1 build_all
+ ;;
*)
echo " "
echo "**** Unknown parameter - please see usage below **** "