Skip to content

Commit

Permalink
Merge pull request Shivelight#5 from DanielVolz/main
Browse files Browse the repository at this point in the history
Initial commit: add support for Banana Pi M2 Zero
  • Loading branch information
Shivelight authored Feb 2, 2022
2 parents be8b334 + 96f21ab commit 9f4f656
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ The final image is saved here `output/images/sdcard.img`.
Below is the currently supported board with defconfig ready use.

- Orange Pi Zero / Orange Pi Zero LTS [ `orangepi_zero_poobs4_defconfig` ]
- Banana Pi M2 Zero [ `bananapi_m2_zero_poobs4_defconfig` ]
- Raspberry Pi Zero W [ `not yet` ]
- Raspberry Pi Zero 2 W [ `not yet` ]
- your board?
Expand Down
47 changes: 47 additions & 0 deletions board/bananapi/bananapi-m2-zero/linux-extras.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# wireless core
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_CFG80211_WEXT=y

# wireless drivers
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_BRCMFMAC=m

# Must have crypto lib
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_DES3_EDE_ARM=y
CONFIG_CRYPTO_AES_ARM=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y

# modularize crypto lib
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_RSA=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_ARC4=m
CONFIG_X509_CERTIFICATE_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=m
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m

# RT Kernel / Preemptive
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y

# RCU subsystem
CONFIG_PREEMPT_RCU=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

/sbin/modprobe brcmfmac
sleep 2
102 changes: 102 additions & 0 deletions configs/bananapi_m2_zero_poobs4_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9=y
BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Bananapi M2 Zero"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-zero/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.9.11"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-bananapi-m2-zero"
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="bananapi_m2_zero"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-zero/boot.cmd"
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y

# System Configuration
BR2_TARGET_GENERIC_HOSTNAME="BananaPiZero"

# Bootloader ?
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"

# wireless driver and firmware
BR2_PACKAGE_ARMBIAN_FIRMWARE=y
BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6212=y

# wireless support
BR2_PACKAGE_IW=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y

# spi flash support
BR2_PACKAGE_MTD=y

#
# pOOBs4 customization start
#

# Build Options
BR2_CCACHE=y
BR2_PACKAGE_OVERRIDE_FILE="$(BR2_EXTERNAL_pOOBs4_PATH)/package/package_override"

# Toolchain
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y

# Kernel
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_pOOBs4_PATH)/board/bananapi/bananapi-m2-zero/linux-extras.config $(BR2_EXTERNAL_pOOBs4_PATH)/board/poobs4/common/linux-fragment.config"
BR2_LINUX_KERNEL_INSTALL_TARGET=y

# Filesystem Images
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_pOOBs4_PATH)/board/poobs4/common/rootfs_overlay/ $(BR2_EXTERNAL_pOOBs4_PATH)/board/bananapi/bananapi-m2-zero/rootfs_overlay/"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_pOOBs4_PATH)/board/poobs4/common/post_build.sh"

# Packages
# use haveged for better entropy
BR2_PACKAGE_URANDOM_SCRIPTS=n
BR2_PACKAGE_HAVEGED=y

# busybox
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_pOOBs4_PATH)/board/poobs4/common/busybox-fragment.config"

# openssh
BR2_PACKAGE_OPENSSH=y

# hostapd
BR2_PACKAGE_HOSTAPD=y

# dnsmasq
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_DNSMASQ_DHCP=y

# nano
BR2_PACKAGE_NANO=y

# Firmware
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y

# Wi-Fi (wireless) firmware
# USB dongle, useful for board without onboard Wi-Fi

0 comments on commit 9f4f656

Please sign in to comment.