@@ -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 |
@@ -33,7 +33,6 if [ "$BUILD_KERNEL" = true ] ; then | |||
|
33 | 33 | as_nobody -H git -C "${temp_dir}" clone --depth=1 --branch "${KERNEL_BRANCH}" "${KERNEL_URL}" linux |
|
34 | 34 | fi |
|
35 | 35 | fi |
|
36 | ||
|
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,7 +7,11 | |||
|
7 | 7 | . ./functions.sh |
|
8 | 8 | |
|
9 | 9 | if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then |
|
10 | ||
|
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 | |
|
11 | 15 | # Create temporary directory for nexmon sources |
|
12 | 16 | temp_dir=$(as_nobody mktemp -d) |
|
13 | 17 | |
@@ -20,15 +24,22 if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then | |||
|
20 | 24 | # Set permissions of the nexmon sources |
|
21 | 25 | chown -R root:root "${R}"/tmp/nexmon |
|
22 | 26 | |
|
23 | # Set script Root | |
|
24 | export NEXMON_ROOT="${R}"/tmp/nexmon | |
|
25 | ||
|
26 | 27 | # Remove temporary directory for nexmon sources |
|
27 | 28 | rm -fr "${temp_dir}" |
|
29 | fi | |
|
30 | ||
|
31 | # Set script Root | |
|
32 | export NEXMON_ROOT="${R}"/tmp/nexmon | |
|
28 | 33 | |
|
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 | |
@@ -50,12 +61,6 if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then | |||
|
50 | 61 | # Make nexmon |
|
51 | 62 | make |
|
52 | 63 | |
|
53 | # Make ancient isl build | |
|
54 | cd buildtools/isl-0.10 || exit | |
|
55 | CC="${CC}"gcc | |
|
56 | ./configure | |
|
57 | make | |
|
58 | ||
|
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') |
|
61 | 66 | mv "${brcmfmac_path}" "${brcmfmac_path}".orig |
@@ -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