##// END OF EJS Templates
a
Unknown -
r471:88966a4516b3
parent child
Show More
@@ -242,7 +242,7 Path to a directory (`userland`) of [Source code for a C-based firmware patching
242 242 ##### `ENABLE_NEXMON`=false
243 243 Install and enable the [Source code for a C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables you to write your own firmware patches, for example, to enable monitor mode with radiotap headers and frame injection](https://github.com/seemoo-lab/nexmon.git).
244 244
245 ##### `NEXMON_DIR`=""
245 ##### `NEXMONSRC_DIR`=""
246 246 Path to a directory (`nexmon`) of [Source code for ARM side libraries for interfacing to Raspberry Pi GPU](https://github.com/raspberrypi/userland) that will be copied, configured, build and installed inside the chroot.
247 247
248 248 ##### `ENABLE_IPTABLES`=false
@@ -32,8 +32,7 if [ "$BUILD_KERNEL" = true ] ; then
32 32 else
33 33 as_nobody -H git -C "${temp_dir}" clone --depth=1 --branch "${KERNEL_BRANCH}" "${KERNEL_URL}" linux
34 34 fi
35 fi
36
35 fi
37 36 # Copy downloaded kernel sources
38 37 cp -r "${temp_dir}/linux/"* "${KERNEL_DIR}"
39 38
@@ -5,7 +5,7
5 5 # Load utility functions
6 6 . ./functions.sh
7 7
8 if [ "$BUILD_KERNEL" = true ] ; then
8 #if [ "$BUILD_KERNEL" = true ] ; then
9 9 if [ -n "$RPI_FIRMWARE_DIR" ] && [ -d "$RPI_FIRMWARE_DIR" ] ; then
10 10 # Install boot binaries from local directory
11 11 cp "${RPI_FIRMWARE_DIR}"/boot/bootcode.bin "${BOOT_DIR}"/bootcode.bin
@@ -38,7 +38,7 if [ "$BUILD_KERNEL" = true ] ; then
38 38 chown -R root:root "${BOOT_DIR}"
39 39 chmod -R 600 "${BOOT_DIR}"
40 40 fi
41 fi
41 #fi
42 42
43 43 # Setup firmware boot cmdline
44 44 if [ "$ENABLE_UBOOTUSB" = true ] ; then
@@ -7,28 +7,39
7 7 . ./functions.sh
8 8
9 9 if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then
10 # Copy existing nexmon sources into chroot directory
11 if [ -n "$NEXMONSRC_DIR" ] && [ -d "$NEXMONSRC_DIR" ] ; then
12 # Copy local U-Boot sources
13 cp -r "${NEXMONSRC_DIR}" "${R}/tmp"
14 else
15 # Create temporary directory for nexmon sources
16 temp_dir=$(as_nobody mktemp -d)
10 17
11 # Create temporary directory for nexmon sources
12 temp_dir=$(as_nobody mktemp -d)
18 # Fetch nexmon sources
19 as_nobody git -C "${temp_dir}" clone "${NEXMON_URL}"
13 20
14 # Fetch nexmon sources
15 as_nobody git -C "${temp_dir}" clone "${NEXMON_URL}"
21 # Copy downloaded nexmon sources
22 mv "${temp_dir}/nexmon" "${R}"/tmp/
16 23
17 # Copy downloaded nexmon sources
18 mv "${temp_dir}/nexmon" "${R}"/tmp/
24 # Set permissions of the nexmon sources
25 chown -R root:root "${R}"/tmp/nexmon
19 26
20 # Set permissions of the nexmon sources
21 chown -R root:root "${R}"/tmp/nexmon
22
27 # Remove temporary directory for nexmon sources
28 rm -fr "${temp_dir}"
29 fi
30
23 31 # Set script Root
24 32 export NEXMON_ROOT="${R}"/tmp/nexmon
25 33
26 # Remove temporary directory for nexmon sources
27 rm -fr "${temp_dir}"
28
29 34 # Build nexmon firmware outside the build system, if we can.
30 35 cd "${NEXMON_ROOT}" || exit
31 36
37 # Make ancient isl build
38 cd buildtools/isl-0.10 || exit
39 CC="${CC}"gcc
40 ./configure
41 make
42
32 43 # Disable statistics
33 44 touch DISABLE_STATISTICS
34 45
@@ -49,12 +60,6 if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then
49 60
50 61 # Make nexmon
51 62 make
52
53 # Make ancient isl build
54 cd buildtools/isl-0.10 || exit
55 CC="${CC}"gcc
56 ./configure
57 make
58 63
59 64 # Backup stock broadcom wlan driver - "${LIB_DIR}"/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
60 65 brcmfmac_path=$(modinfo brcmfmac | grep -m 1 -oP "^filename:(\s*?)(.*)$" | sed -e 's/^filename:\(\s*\)\(.*\)$/\2/g')
@@ -159,7 +159,7 ENABLE_VIDEOCORE=${ENABLE_VIDEOCORE:=false}
159 159 ENABLE_NEXMON=${ENABLE_NEXMON:=false}
160 160 VIDEOCORESRC_DIR=${VIDEOCORESRC_DIR:=""}
161 161 FBTURBOSRC_DIR=${FBTURBOSRC_DIR:=""}
162 NEXMON_DIR=${NEXMON_DIR:=""}
162 NEXMONSRC_DIR=${NEXMONSRC_DIR:=""}
163 163 ENABLE_HARDNET=${ENABLE_HARDNET:=false}
164 164 ENABLE_IPTABLES=${ENABLE_IPTABLES:=false}
165 165 ENABLE_SPLITFS=${ENABLE_SPLITFS:=false}
@@ -372,6 +372,11 if [ "$ENABLE_VIDEOCORE" = true ] ; then
372 372 REQUIRED_PACKAGES="${REQUIRED_PACKAGES} cmake"
373 373 fi
374 374
375 # Add deps for nexmon
376 if [ "$ENABLE_NEXMON" = true ] ; then
377 REQUIRED_PACKAGES="${REQUIRED_PACKAGES},libgmp3-dev,gawk,qpdf,bison,flex,make,autoconf,automake,build-essential,libtool"
378 fi
379
375 380 # Add libncurses5 to enable kernel menuconfig
376 381 if [ "$KERNEL_MENUCONFIG" = true ] ; then
377 382 REQUIRED_PACKAGES="${REQUIRED_PACKAGES} libncurses-dev"
@@ -486,9 +491,9 if [ -n "$FBTURBOSRC_DIR" ] && [ ! -d "$FBTURBOSRC_DIR" ] ; then
486 491 exit 1
487 492 fi
488 493
489 # Check if specified NEXMON_DIR directory exists
490 if [ -n "$NEXMON_DIR" ] && [ ! -d "$NEXMON_DIR" ] ; then
491 echo "error: '${NEXMON_DIR}' specified directory not found (NEXMON_DIR)!"
494 # Check if specified NEXMONSRC_DIR directory exists
495 if [ -n "$NEXMONSRC_DIR" ] && [ ! -d "$NEXMONSRC_DIR" ] ; then
496 echo "error: '${NEXMONSRC_DIR}' specified directory not found (NEXMONSRC_DIR)!"
492 497 exit 1
493 498 fi
494 499
General Comments 0
Vous devez vous connecter pour laisser un commentaire. Se connecter maintenant