##// END OF EJS Templates
kernel features + nexmon monitor mode wlan patch(kali-kernel) with RPI3,RPI3B+ firmware patch...
kernel features + nexmon monitor mode wlan patch(kali-kernel) with RPI3,RPI3B+ firmware patch - ENABLE_NEXMON to use raspberry pi kali kernel sources which include patched nl80211 driver. Needed to crosscompile nexmon. Firmware for RPI3 and RPI3B+ is patched in the process to enable moniotor mode and injection. - Support for precompiled kernel. RPI3 64bit kernel from sakaki and a multi kernel (supporting all RPI models) from hyperiotOS. Needs further testing! - start.elf isn't supplied from precompiled kernel so always install them - ENABLE_SYSTEMDSWAP enables swapping service supporting new KERNEL_ZSWAP feature and also manages swap files - KERNEL_SECURITY activates apparmor, keyring,str/mem cpy protection, audit funcionality, integrity checks - KERNEL_ZSWAP enables compressed swap kernel feature. -KERNEL_VIRT enables virtualisation on RPI2,3,3P -KERNEL_BPF enables bpf syscall (supress journald warning message) - KERNEL_NF enable netfilter firewall (iptables-legacy is not default anymore) - KERNEL_DEFAULT_GOV set default cpu governor

Fichier de la dernière révision:

r420:0a810af45a73
r502:3d4e292749a1
Show More
43-videocore.sh
53 lines | 2.0 KiB | application/x-sh | BashLexer
#
# Setup videocore - Raspberry Userland
#
# Load utility functions
. ./functions.sh
if [ "$ENABLE_VIDEOCORE" = true ] ; then
# Copy existing videocore sources into chroot directory
if [ -n "$VIDEOCORESRC_DIR" ] && [ -d "$VIDEOCORESRC_DIR" ] ; then
# Copy local videocore sources
cp -r "${VIDEOCORESRC_DIR}" "${R}/tmp/userland"
else
# Create temporary directory for videocore sources
temp_dir=$(as_nobody mktemp -d)
# Fetch videocore sources
as_nobody git -C "${temp_dir}" clone "${VIDEOCORE_URL}"
# Copy downloaded videocore sources
mv "${temp_dir}/userland" "${R}/tmp/"
# Set permissions of the U-Boot sources
chown -R root:root "${R}/tmp/userland"
# Remove temporary directory for U-Boot sources
rm -fr "${temp_dir}"
fi
# Create build dir
mkdir "${R}"/tmp/userland/build
# push us to build directory
cd "${R}"/tmp/userland/build
if [ "$RELEASE_ARCH" = "arm64" ] ; then
cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_BUILD_TYPE=release -DARM64=ON -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_ASM_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -U_FORTIFY_SOURCE" -DCMAKE_ASM_FLAGS="${CMAKE_ASM_FLAGS} -c" -DVIDEOCORE_BUILD_DIR="${R}" "${R}/tmp/userland"
fi
if [ "$RELEASE_ARCH" = "armel" ] ; then
cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=arm-linux-gnueabi-gcc -DCMAKE_CXX_COMPILER=arm-linux-gnueabi-g++ -DCMAKE_ASM_COMPILER=arm-linux-gnueabi-gcc -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -U_FORTIFY_SOURCE" -DCMAKE_ASM_FLAGS="${CMAKE_ASM_FLAGS} -c" -DCMAKE_SYSTEM_PROCESSOR="arm" -DVIDEOCORE_BUILD_DIR="${R}" "${R}/tmp/userland"
fi
if [ "$RELEASE_ARCH" = "armhf" ] ; then
cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_BUILD_TYPE=release -DCMAKE_TOOLCHAIN_FILE="${R}"/tmp/userland/makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DVIDEOCORE_BUILD_DIR="${R}" "${R}/tmp/userland"
fi
#build userland
make -j "$(nproc)"
#back to root of scriptdir
cd "${WORKDIR}"
fi