##// END OF EJS Templates
PATCHES for:...
PATCHES for: RPI4 Debian Bullseye Added and removed kernel options QEMU with 64bit kernel doenst fail anymore (untested) No more compile error on bluetooth firmware download Kernel bump from 4.14 to 4.19 flex,bison and libssl-dev required to build kernel

Fichier de la dernière révision:

r665:c4237fcbc4c6
r665:c4237fcbc4c6
Show More
44-nexmon_monitor_patch.sh
97 lines | 3.5 KiB | application/x-sh | BashLexer
/ bootstrap.d / 44-nexmon_monitor_patch.sh
Unknown
kernel features + nexmon monitor mode wlan patch(kali-kernel) with RPI3,RPI3B+ firmware patch...
r502 #!/bin/sh
#
# Build and Setup nexmon with monitor mode patch
#
# Load utility functions
. ./functions.sh
if [ "$ENABLE_NEXMON" = true ] && [ "$ENABLE_WIRELESS" = true ]; then
# Copy existing nexmon sources into chroot directory
if [ -n "$NEXMONSRC_DIR" ] && [ -d "$NEXMONSRC_DIR" ] ; then
# Copy local U-Boot sources
cp -r "${NEXMONSRC_DIR}" "${R}/tmp"
else
# Create temporary directory for nexmon sources
temp_dir=$(as_nobody mktemp -d)
# Fetch nexmon sources
as_nobody git -C "${temp_dir}" clone "${NEXMON_URL}"
# Copy downloaded nexmon sources
mv "${temp_dir}/nexmon" "${R}"/tmp/
# Set permissions of the nexmon sources
chown -R root:root "${R}"/tmp/nexmon
# Remove temporary directory for nexmon sources
rm -fr "${temp_dir}"
fi
# Set script Root
export NEXMON_ROOT="${R}"/tmp/nexmon
# Build nexmon firmware outside the build system, if we can.
cd "${NEXMON_ROOT}" || exit
# Make ancient isl build
cd buildtools/isl-0.10 || exit
./configure
make
cd ../.. || exit
# Disable statistics
touch DISABLE_STATISTICS
# Setup Enviroment: see https://github.com/NoobieDog/nexmon/blob/master/setup_env.sh
export KERNEL="${KERNEL_IMAGE}"
export ARCH=arm
export SUBARCH=arm
export CC="${NEXMON_ROOT}"/buildtools/gcc-arm-none-eabi-5_4-2016q2-linux-x86/bin/arm-none-eabi-
export CC="${CC}"gcc
export CCPLUGIN="${NEXMON_ROOT}"/buildtools/gcc-nexmon-plugin/nexmon.so
export ZLIBFLATE="zlib-flate -compress"
export Q=@
export NEXMON_SETUP_ENV=1
export HOSTUNAME=$(uname -s)
export PLATFORMUNAME=$(uname -m)
# Make nexmon
make
# build patches
if [ "$RPI_MODEL" = 0 ] || [ "$RPI_MODEL" = 3 ] ; then
cd "${NEXMON_ROOT}"/patches/bcm43430a1/7_45_41_46/nexmon || exit
sed -i -e 's/all:.*/all: $(RAM_FILE)/g' ${NEXMON_ROOT}/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
make clean
# We do this so we don't have to install the ancient isl version into /usr/local/lib on systems.
LD_LIBRARY_PATH="${NEXMON_ROOT}"/buildtools/isl-0.10/.libs make ARCH="${KERNEL_ARCH}" CC="${NEXMON_ROOT}"/buildtools/gcc-arm-none-eabi-5_4-2016q2-linux-x86/bin/arm-none-eabi-
# copy RPi0W & RPi3 firmware
mv "${WLAN_FIRMWARE_DIR}"/brcmfmac43430-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43430-sdio.org.bin
cp "${NEXMON_ROOT}"/patches/bcm43430a1/7_45_41_46/nexmon/brcmfmac43430-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43430-sdio.nexmon.bin
cp -f "${NEXMON_ROOT}"/patches/bcm43430a1/7_45_41_46/nexmon/brcmfmac43430-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43430-sdio.bin
fi
Unknown
PATCHES for:...
r665 if [ "$RPI_MODEL" = 3P ] || [ "$RPI_MODEL" = 4 ] ; then
Unknown
kernel features + nexmon monitor mode wlan patch(kali-kernel) with RPI3,RPI3B+ firmware patch...
r502 cd "${NEXMON_ROOT}"/patches/bcm43455c0/7_45_154/nexmon || exit
sed -i -e 's/all:.*/all: $(RAM_FILE)/g' ${NEXMON_ROOT}/patches/bcm43455c0/7_45_154/nexmon/Makefile
make clean
# We do this so we don't have to install the ancient isl version into /usr/local/lib on systems.
LD_LIBRARY_PATH=${NEXMON_ROOT}/buildtools/isl-0.10/.libs make ARCH="${KERNEL_ARCH}" CC="${NEXMON_ROOT}"/buildtools/gcc-arm-none-eabi-5_4-2016q2-linux-x86/bin/arm-none-eabi-
# RPi3B+ firmware
mv "${WLAN_FIRMWARE_DIR}"/brcmfmac43455-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43455-sdio.org.bin
cp "${NEXMON_ROOT}"/patches/bcm43455c0/7_45_154/nexmon/brcmfmac43455-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43455-sdio.nexmon.bin
cp -f "${NEXMON_ROOT}"/patches/bcm43455c0/7_45_154/nexmon/brcmfmac43455-sdio.bin "${WLAN_FIRMWARE_DIR}"/brcmfmac43455-sdio.bin
fi
#Revert to previous directory
cd "${WORKDIR}" || exit
# Remove nexmon sources
rm -fr "${NEXMON_ROOT}"
fi