1#!/bin/bash -e 2 3DEFAULT_ROOTFS_DIR=buildroot/output/$RK_BUILDROOT_CFG/target 4 5# Usage: build_wifibt <rootfs dir> [wifi chip] [bt tty dev] 6build_wifibt() 7{ 8 check_config RK_KERNEL_CFG RK_WIFIBT_CHIP || return 0 9 10 ROOTFS_DIR="${1:-$DEFAULT_ROOTFS_DIR}" 11 WIFI_CHIP="${2:-$RK_WIFIBT_CHIP}" 12 BT_TTY_DEV="${3:-$RK_WIFIBT_TTY}" 13 14 echo "==========================================" 15 echo " Start building wifi/BT ($WIFI_CHIP - $BT_TTY_DEV)" 16 echo "==========================================" 17 18 if ls "$ROOTFS_DIR/lib/" | grep -wq ld-linux-armhf.so; then 19 ROOTFS_ARCH=arm 20 else 21 ROOTFS_ARCH=arm64 22 fi 23 24 RKWIFIBT=$SDK_DIR/external/rkwifibt 25 26 OWNER=$(stat --format %U "$RKWIFIBT") 27 if [ "$OWNER" != "root" ]; then 28 if [ "${USER:-$(id -un)}" = "root" ]; then 29 # Fixing up rkwifibt permissions 30 find "$RKWIFIBT" -user root \ 31 -exec chown -h -R $OWNER:$OWNER {} \; 32 33 # Sudo to source code owner (for Debian) 34 export KMAKE="sudo -u $OWNER $KMAKE" 35 else 36 # Check for dirty files owned by root 37 echo -e "\e[36m" 38 if find "$RKWIFIBT" -user 0 | grep ""; then 39 echo -e "\e[31m" 40 echo "$RKWIFIBT is dirty for non-root building!" 41 echo "Please clear it:" 42 echo "cd $RKWIFIBT" 43 echo "git add -f ." 44 echo "sudo git reset --hard" 45 echo -e "\e[0m" 46 exit 1 47 fi 48 echo -e "\e[0m" 49 fi 50 fi 51 52 # Make sure that the kernel is ready 53 if [ ! -r kernel/include/generated/asm-offsets.h ]; then 54 echo "Kernel is not ready, building it for wifi/BT..." 55 "$SCRIPTS_DIR/mk-kernel.sh" 56 fi 57 58 # Check kernel config 59 WIFI_USB=`grep "CONFIG_USB=y" kernel/.config` || true 60 WIFI_SDIO=`grep "CONFIG_MMC=y" kernel/.config` || true 61 WIFI_PCIE=`grep "CONFIG_PCIE_DW_ROCKCHIP=y" kernel/.config` || true 62 WIFI_RFKILL=`grep "CONFIG_RFKILL=y" kernel/.config` || true 63 if [ -z "WIFI_SDIO" ]; then 64 echo "=== WARNNING CONFIG_MMC not set !!! ===" 65 fi 66 if [ -z "WIFI_RFKILL" ]; then 67 echo "=== WARNNING CONFIG_USB not set !!! ===" 68 fi 69 if [[ "$WIFI_CHIP" =~ "U" ]];then 70 if [ -z "$WIFI_USB" ]; then 71 echo "=== WARNNING CONFIG_USB not set so ABORT!!! ===" 72 exit 0 73 fi 74 fi 75 echo "kernel config: $WIFI_USB $WIFI_SDIO $WIFI_RFKILL" 76 77 if [[ "$WIFI_CHIP" =~ "ALL_AP" ]];then 78 echo "building bcmdhd sdio" 79 $KMAKE M=$RKWIFIBT/drivers/bcmdhd CONFIG_BCMDHD=m \ 80 CONFIG_BCMDHD_SDIO=y CONFIG_BCMDHD_PCIE= 81 if [ -n "$WIFI_PCIE" ]; then 82 echo "building bcmdhd pcie" 83 $KMAKE M=$RKWIFIBT/drivers/bcmdhd CONFIG_BCMDHD=m \ 84 CONFIG_BCMDHD_PCIE=y CONFIG_BCMDHD_SDIO= 85 fi 86 if [ -n "$WIFI_USB" ]; then 87 echo "building rtl8188fu usb" 88 $KMAKE M=$RKWIFIBT/drivers/rtl8188fu modules 89 fi 90 echo "building rtl8189fs sdio" 91 $KMAKE M=$RKWIFIBT/drivers/rtl8189fs modules 92 echo "building rtl8723ds sdio" 93 $KMAKE M=$RKWIFIBT/drivers/rtl8723ds modules 94 echo "building rtl8821cs sdio" 95 $KMAKE M=$RKWIFIBT/drivers/rtl8821cs modules 96 echo "building rtl8822cs sdio" 97 $KMAKE M=$RKWIFIBT/drivers/rtl8822cs modules 98 echo "building rtl8852bs sdio" 99 $KMAKE M=$RKWIFIBT/drivers/rtl8852bs modules \ 100 DRV_PATH=$RKWIFIBT/drivers/rtl8852bs 101 if [ -n "$WIFI_PCIE" ]; then 102 echo "building rtl8852be pcie" 103 $KMAKE M=$RKWIFIBT/drivers/rtl8852be modules \ 104 DRV_PATH=$RKWIFIBT/drivers/rtl8852be 105 fi 106 fi 107 108 if [[ "$WIFI_CHIP" =~ "ALL_CY" ]];then 109 echo "building CYW4354" 110 ln -sf chips/CYW4354_Makefile \ 111 $RKWIFIBT/drivers/infineon/Makefile 112 $KMAKE M=$RKWIFIBT/drivers/infineon 113 echo "building CYW4373" 114 ln -sf chips/CYW4373_Makefile \ 115 $RKWIFIBT/drivers/infineon/Makefile 116 $KMAKE M=$RKWIFIBT/drivers/infineon 117 echo "building CYW43438" 118 ln -sf chips/CYW43438_Makefile \ 119 $RKWIFIBT/drivers/infineon/Makefile 120 $KMAKE M=$RKWIFIBT/drivers/infineon 121 echo "building CYW43455" 122 ln -sf chips/CYW43455_Makefile \ 123 $RKWIFIBT/drivers/infineon/Makefile 124 $KMAKE M=$RKWIFIBT/drivers/infineon 125 echo "building CYW5557X" 126 ln -sf chips/CYW5557X_Makefile \ 127 $RKWIFIBT/drivers/infineon/Makefile 128 $KMAKE M=$RKWIFIBT/drivers/infineon 129 if [ -n "$WIFI_PCIE" ]; then 130 echo "building CYW5557X_PCIE" 131 ln -sf chips/CYW5557X_PCIE_Makefile \ 132 $RKWIFIBT/drivers/infineon/Makefile 133 $KMAKE M=$RKWIFIBT/drivers/infineon 134 echo "building CYW54591_PCIE" 135 ln -sf chips/CYW54591_PCIE_Makefile \ 136 $RKWIFIBT/drivers/infineon/Makefile 137 $KMAKE M=$RKWIFIBT/drivers/infineon 138 fi 139 echo "building CYW54591" 140 ln -sf chips/CYW54591_Makefile \ 141 $RKWIFIBT/drivers/infineon/Makefile 142 $KMAKE M=$RKWIFIBT/drivers/infineon 143 144 if [ -n "$WIFI_USB" ]; then 145 echo "building rtl8188fu usb" 146 $KMAKE M=$RKWIFIBT/drivers/rtl8188fu modules 147 fi 148 echo "building rtl8189fs sdio" 149 $KMAKE M=$RKWIFIBT/drivers/rtl8189fs modules 150 echo "building rtl8723ds sdio" 151 $KMAKE M=$RKWIFIBT/drivers/rtl8723ds modules 152 echo "building rtl8821cs sdio" 153 $KMAKE M=$RKWIFIBT/drivers/rtl8821cs modules 154 echo "building rtl8822cs sdio" 155 $KMAKE M=$RKWIFIBT/drivers/rtl8822cs modules 156 echo "building rtl8852bs sdio" 157 $KMAKE M=$RKWIFIBT/drivers/rtl8852bs modules \ 158 DRV_PATH=$RKWIFIBT/drivers/rtl8852bs 159 if [ -n "$WIFI_PCIE" ]; then 160 echo "building rtl8852be pcie" 161 $KMAKE M=$RKWIFIBT/drivers/rtl8852be modules \ 162 DRV_PATH=$RKWIFIBT/drivers/rtl8852be 163 fi 164 fi 165 166 if [[ "$WIFI_CHIP" =~ "AP6" ]];then 167 if [[ "$WIFI_CHIP" = "AP6275_PCIE" ]];then 168 echo "building bcmdhd pcie driver" 169 $KMAKE M=$RKWIFIBT/drivers/bcmdhd CONFIG_BCMDHD=m \ 170 CONFIG_BCMDHD_PCIE=y CONFIG_BCMDHD_SDIO= 171 else 172 echo "building bcmdhd sdio driver" 173 $KMAKE M=$RKWIFIBT/drivers/bcmdhd CONFIG_BCMDHD=m \ 174 CONFIG_BCMDHD_SDIO=y CONFIG_BCMDHD_PCIE= 175 fi 176 fi 177 178 if [[ "$WIFI_CHIP" = "CYW4354" ]];then 179 echo "building CYW4354" 180 ln -sf chips/CYW4354_Makefile \ 181 $RKWIFIBT/drivers/infineon/Makefile 182 $KMAKE M=$RKWIFIBT/drivers/infineon 183 fi 184 185 if [[ "$WIFI_CHIP" = "CYW4373" ]];then 186 echo "building CYW4373" 187 ln -sf chips/CYW4373_Makefile \ 188 $RKWIFIBT/drivers/infineon/Makefile 189 $KMAKE M=$RKWIFIBT/drivers/infineon 190 fi 191 192 if [[ "$WIFI_CHIP" = "CYW43438" ]];then 193 echo "building CYW43438" 194 ln -sf chips/CYW43438_Makefile \ 195 $RKWIFIBT/drivers/infineon/Makefile 196 $KMAKE M=$RKWIFIBT/drivers/infineon 197 fi 198 199 if [[ "$WIFI_CHIP" = "CYW43455" ]];then 200 echo "building CYW43455" 201 ln -sf chips/CYW43455_Makefile \ 202 $RKWIFIBT/drivers/infineon/Makefile 203 $KMAKE M=$RKWIFIBT/drivers/infineon 204 fi 205 206 if [[ "$WIFI_CHIP" = "CYW5557X" ]];then 207 echo "building CYW5557X" 208 ln -sf chips/CYW5557X_Makefile \ 209 $RKWIFIBT/drivers/infineon/Makefile 210 $KMAKE M=$RKWIFIBT/drivers/infineon 211 fi 212 213 if [[ "$WIFI_CHIP" = "CYW5557X_PCIE" ]];then 214 echo "building CYW5557X_PCIE" 215 ln -sf chips/CYW5557X_PCIE_Makefile \ 216 $RKWIFIBT/drivers/infineon/Makefile 217 $KMAKE M=$RKWIFIBT/drivers/infineon 218 fi 219 220 if [[ "$WIFI_CHIP" = "CYW54591" ]];then 221 echo "building CYW54591" 222 ln -sf chips/CYW54591_Makefile \ 223 $RKWIFIBT/drivers/infineon/Makefile 224 $KMAKE M=$RKWIFIBT/drivers/infineon 225 fi 226 227 if [[ "$WIFI_CHIP" = "CYW54591_PCIE" ]];then 228 echo "building CYW54591_PCIE" 229 ln -sf chips/CYW54591_PCIE_Makefile \ 230 $RKWIFIBT/drivers/infineon/Makefile 231 $KMAKE M=$RKWIFIBT/drivers/infineon 232 fi 233 234 if [[ "$WIFI_CHIP" = "RTL8188FU" ]];then 235 echo "building rtl8188fu driver" 236 $KMAKE M=$RKWIFIBT/drivers/rtl8188fu modules 237 fi 238 239 if [[ "$WIFI_CHIP" = "RTL8189FS" ]];then 240 echo "building rtl8189fs driver" 241 $KMAKE M=$RKWIFIBT/drivers/rtl8189fs modules 242 fi 243 244 if [[ "$WIFI_CHIP" = "RTL8723DS" ]];then 245 $KMAKE M=$RKWIFIBT/drivers/rtl8723ds modules 246 fi 247 248 if [[ "$WIFI_CHIP" = "RTL8821CS" ]];then 249 $KMAKE M=$RKWIFIBT/drivers/rtl8821cs modules 250 fi 251 252 if [[ "$WIFI_CHIP" = "RTL8822CS" ]];then 253 $KMAKE M=$RKWIFIBT/drivers/rtl8822cs modules 254 fi 255 256 if [[ "$WIFI_CHIP" = "RTL8852BS" ]];then 257 $KMAKE M=$RKWIFIBT/drivers/rtl8852bs modules 258 fi 259 260 if [[ "$WIFI_CHIP" = "RTL8852BE" ]];then 261 $KMAKE M=$RKWIFIBT/drivers/rtl8852be modules 262 fi 263 264 echo "building realtek bt drivers" 265 $KMAKE M=$RKWIFIBT/drivers/bluetooth_uart_driver 266 if [ -n "$WIFI_USB" ]; then 267 $KMAKE M=$RKWIFIBT/drivers/bluetooth_usb_driver 268 fi 269 270 mkdir -p $ROOTFS_DIR/etc/init.d 271 mkdir -p $ROOTFS_DIR/usr/bin/ 272 mkdir -p $ROOTFS_DIR/usr/lib/modules/ 273 mkdir -p $ROOTFS_DIR/lib/firmware/rtlbt/ 274 mkdir -p $ROOTFS_DIR/system/lib/modules/ 275 mkdir -p $ROOTFS_DIR/system/etc/firmware/ 276 277 echo "create link system->vendor" 278 rm -rf $ROOTFS_DIR/vendor 279 ln -sf system $ROOTFS_DIR/vendor 280 281 echo "copy prebuilt tools/sh to rootfs" 282 cp $RKWIFIBT/bin/$ROOTFS_ARCH/* $ROOTFS_DIR/usr/bin/ 283 cp $RKWIFIBT/sh/wifi_start.sh $ROOTFS_DIR/usr/bin/ 284 cp $RKWIFIBT/sh/wifi_ap6xxx_rftest.sh $ROOTFS_DIR/usr/bin/ 285 cp $RKWIFIBT/conf/wpa_supplicant.conf $ROOTFS_DIR/etc/ 286 cp $RKWIFIBT/conf/dnsmasq.conf $ROOTFS_DIR/etc/ 287 288 if [[ "$WIFI_CHIP" = "ALL_CY" ]];then 289 echo "copy infineon/realtek firmware/nvram to rootfs" 290 cp $RKWIFIBT/drivers/infineon/*.ko \ 291 $ROOTFS_DIR/system/lib/modules/ || true 292 cp $RKWIFIBT/firmware/infineon/*/* \ 293 $ROOTFS_DIR/system/etc/firmware/ || true 294 295 cp $RKWIFIBT/sh/bt_load_broadcom_firmware $ROOTFS_DIR/usr/bin/ 296 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 297 $ROOTFS_DIR/usr/bin/bt_init.sh 298 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 299 $ROOTFS_DIR/usr/bin/bt_pcba_test 300 301 #reatek 302 cp $RKWIFIBT/firmware/realtek/*/* $ROOTFS_DIR/lib/firmware/ 303 cp $RKWIFIBT/firmware/realtek/*/* \ 304 $ROOTFS_DIR/lib/firmware/rtlbt/ 305 cp $RKWIFIBT/drivers/bluetooth_uart_driver/hci_uart.ko \ 306 $ROOTFS_DIR/usr/lib/modules/ 307 if [ -n "$WIFI_USB" ]; then 308 cp $RKWIFIBT/drivers/bluetooth_usb_driver/rtk_btusb.ko \ 309 $ROOTFS_DIR/usr/lib/modules/ 310 fi 311 312 rm -rf $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 313 cp $RKWIFIBT/S36load_all_wifi_modules $ROOTFS_DIR/etc/init.d/ 314 sed -i "s/BT_TTY_DEV/\/dev\/${BT_TTY_DEV}/g" \ 315 $ROOTFS_DIR/etc/init.d/S36load_all_wifi_modules 316 fi 317 318 if [[ "$WIFI_CHIP" = "ALL_AP" ]];then 319 echo "copy ap6xxx firmware/nvram to rootfs" 320 cp $RKWIFIBT/drivers/bcmdhd/*.ko $ROOTFS_DIR/system/lib/modules/ 321 cp $RKWIFIBT/firmware/broadcom/*/wifi/* \ 322 $ROOTFS_DIR/system/etc/firmware/ || true 323 cp $RKWIFIBT/firmware/broadcom/*/bt/* \ 324 $ROOTFS_DIR/system/etc/firmware/ || true 325 326 cp $RKWIFIBT/sh/bt_load_broadcom_firmware $ROOTFS_DIR/usr/bin/ 327 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 328 $ROOTFS_DIR/usr/bin/bt_init.sh 329 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 330 $ROOTFS_DIR/usr/bin/bt_pcba_test 331 332 #reatek 333 echo "copy realtek firmware/nvram to rootfs" 334 cp $RKWIFIBT/drivers/rtl*/*.ko $ROOTFS_DIR/system/lib/modules/ 335 cp -rf $RKWIFIBT/firmware/realtek/*/* $ROOTFS_DIR/lib/firmware/ 336 cp -rf $RKWIFIBT/firmware/realtek/*/* \ 337 $ROOTFS_DIR/lib/firmware/rtlbt/ 338 cp $RKWIFIBT/drivers/bluetooth_uart_driver/hci_uart.ko \ 339 $ROOTFS_DIR/usr/lib/modules/ 340 if [ -n "$WIFI_USB" ]; then 341 cp $RKWIFIBT/drivers/bluetooth_usb_driver/rtk_btusb.ko \ 342 $ROOTFS_DIR/usr/lib/modules/ 343 fi 344 345 echo "copy S36load_wifi_modules to rootfs" 346 rm -rf $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 347 cp $RKWIFIBT/S36load_all_wifi_modules $ROOTFS_DIR/etc/init.d/ 348 sed -i "s/BT_TTY_DEV/\/dev\/${BT_TTY_DEV}/g" \ 349 $ROOTFS_DIR/etc/init.d/S36load_all_wifi_modules 350 fi 351 352 if [[ "$WIFI_CHIP" =~ "RTL" ]];then 353 echo "Copy RTL file to rootfs" 354 if [ -d "$RKWIFIBT/firmware/realtek/$WIFI_CHIP" ]; then 355 cp $RKWIFIBT/firmware/realtek/$WIFI_CHIP/* \ 356 $ROOTFS_DIR/lib/firmware/rtlbt/ 357 cp $RKWIFIBT/firmware/realtek/$WIFI_CHIP/* \ 358 $ROOTFS_DIR/lib/firmware/ 359 else 360 echo "INFO: $WIFI_CHIP isn't bluetooth?" 361 fi 362 363 WIFI_KO_DIR=$(echo $WIFI_CHIP | tr '[A-Z]' '[a-z]') 364 365 cp $RKWIFIBT/drivers/$WIFI_KO_DIR/*.ko \ 366 $ROOTFS_DIR/system/lib/modules/ 367 368 cp $RKWIFIBT/sh/bt_load_rtk_firmware $ROOTFS_DIR/usr/bin/ 369 sed -i "s/BT_TTY_DEV/\/dev\/${BT_TTY_DEV}/g" \ 370 $ROOTFS_DIR/usr/bin/bt_load_rtk_firmware 371 if [ -n "$WIFI_USB" ]; then 372 cp $RKWIFIBT/drivers/bluetooth_usb_driver/rtk_btusb.ko \ 373 $ROOTFS_DIR/usr/lib/modules/ 374 sed -i "s/BT_DRV/rtk_btusb/g" \ 375 $ROOTFS_DIR/usr/bin/bt_load_rtk_firmware 376 else 377 cp $RKWIFIBT/drivers/bluetooth_uart_driver/hci_uart.ko \ 378 $ROOTFS_DIR/usr/lib/modules/ 379 sed -i "s/BT_DRV/hci_uart/g" \ 380 $ROOTFS_DIR/usr/bin/bt_load_rtk_firmware 381 fi 382 cp $ROOTFS_DIR/usr/bin/bt_load_rtk_firmware \ 383 $ROOTFS_DIR/usr/bin/bt_init.sh 384 cp $ROOTFS_DIR/usr/bin/bt_load_rtk_firmware \ 385 $ROOTFS_DIR/usr/bin/bt_pcba_test 386 rm -rf $ROOTFS_DIR/etc/init.d/S36load_all_wifi_modules 387 cp $RKWIFIBT/S36load_wifi_modules $ROOTFS_DIR/etc/init.d/ 388 sed -i "s/WIFI_KO/\/system\/lib\/modules\/$WIFI_CHIP.ko/g" \ 389 $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 390 fi 391 392 if [[ "$WIFI_CHIP" =~ "CYW" ]];then 393 echo "Copy CYW file to rootfs" 394 #firmware 395 cp $RKWIFIBT/firmware/infineon/$WIFI_CHIP/* \ 396 $ROOTFS_DIR/system/etc/firmware/ 397 cp $RKWIFIBT/drivers/infineon/*.ko \ 398 $ROOTFS_DIR/system/lib/modules/ 399 #bt 400 cp $RKWIFIBT/sh/bt_load_broadcom_firmware $ROOTFS_DIR/usr/bin/ 401 sed -i "s/BT_TTY_DEV/\/dev\/${BT_TTY_DEV}/g" \ 402 $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware 403 sed -i "s/BTFIRMWARE_PATH/\/system\/etc\/firmware\//g" \ 404 $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware 405 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 406 $ROOTFS_DIR/usr/bin/bt_init.sh 407 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 408 $ROOTFS_DIR/usr/bin/bt_pcba_test 409 #wifi 410 rm -rf $ROOTFS_DIR/etc/init.d/S36load_all_wifi_modules 411 cp $RKWIFIBT/S36load_wifi_modules $ROOTFS_DIR/etc/init.d/ 412 sed -i "s/WIFI_KO/\/system\/lib\/modules\/$WIFI_CHIP.ko/g" \ 413 $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 414 fi 415 416 if [[ "$WIFI_CHIP" =~ "AP6" ]];then 417 echo "Copy AP file to rootfs" 418 #firmware 419 cp $RKWIFIBT/firmware/broadcom/$WIFI_CHIP/wifi/* \ 420 $ROOTFS_DIR/system/etc/firmware/ 421 cp $RKWIFIBT/firmware/broadcom/$WIFI_CHIP/bt/* \ 422 $ROOTFS_DIR/system/etc/firmware/ 423 cp $RKWIFIBT/drivers/bcmdhd/*.ko $ROOTFS_DIR/system/lib/modules/ 424 #bt 425 cp $RKWIFIBT/sh/bt_load_broadcom_firmware $ROOTFS_DIR/usr/bin/ 426 sed -i "s/BT_TTY_DEV/\/dev\/${BT_TTY_DEV}/g" \ 427 $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware 428 sed -i "s/BTFIRMWARE_PATH/\/system\/etc\/firmware\//g" \ 429 $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware 430 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 431 $ROOTFS_DIR/usr/bin/bt_init.sh 432 cp $ROOTFS_DIR/usr/bin/bt_load_broadcom_firmware \ 433 $ROOTFS_DIR/usr/bin/bt_pcba_test 434 #wifi 435 rm -rf $ROOTFS_DIR/etc/init.d/S36load_all_wifi_modules 436 cp $RKWIFIBT/S36load_wifi_modules $ROOTFS_DIR/etc/init.d/ 437 if [[ "$WIFI_CHIP" =~ "AP" ]];then 438 sed -i "s/WIFI_KO/\/system\/lib\/modules\/bcmdhd.ko/g" \ 439 $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 440 else 441 sed -i "s/WIFI_KO/\/system\/lib\/modules\/bcmdhd_pcie.ko/g" \ 442 $ROOTFS_DIR/etc/init.d/S36load_wifi_modules 443 fi 444 fi 445 446 finish_build build_wifibt $@ 447} 448 449# Hooks 450 451usage_hook() 452{ 453 echo -e "wifibt[:<dst dir>[:<chip>[:<tty>]]] \tbuild Wifi/BT" 454} 455 456BUILD_CMDS="wifibt" 457build_hook() 458{ 459 shift 460 build_wifibt "$([ -d "$1" ] || echo $DEFAULT_ROOTFS_DIR)" $@ 461} 462 463source "${BUILD_HELPER:-$(dirname "$(realpath "$0")")/../build-hooks/build-helper}" 464 465build_wifibt $@ 466