Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions board/pinecube/board.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BOOT_BIN=(
"${BINARIES_DIR}/u-boot-sunxi-with-spl.bin@16"
)
21 changes: 21 additions & 0 deletions board/pinecube/boot.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait rw

fatload mmc 0 ${loadaddr} uEnv.txt
env import -t ${loadaddr} ${filesize}

if test -n "${initrd}"; then
setenv bootargs "${bootargs} initrd=${initrd}"
fatload mmc 0 ${ramdisk_addr_r} ${initrd}
setenv initrd_size ${filesize}
fi

fatload mmc 0 ${kernel_addr_r} ${kernel}
fatload mmc 0 ${fdt_addr_r} ${fdt}

echo "Boot args: ${bootargs}"
if test -n "${initrd}"; then
echo "Initrd size is ${initrd_size}"
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${initrd_size} ${fdt_addr_r}
else
bootz ${kernel_addr_r} - ${fdt_addr_r}
fi
1 change: 1 addition & 0 deletions board/pinecube/cpinitramfs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cp ${BINARIES_DIR}/rootfs.cpio.gz ${BOARD_DIR}/initrd.gz
Binary file added board/pinecube/initrd.gz
Binary file not shown.
3 changes: 3 additions & 0 deletions board/pinecube/kernel-extra.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CONFIG_WIRELESS=y
CONFIG_CFG80211=y # For rtl8189es out-of-tree driver
CONFIG_BLK_DEV_LOOP=y
1 change: 1 addition & 0 deletions board/pinecube/os.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
OS_AP="wlan0"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure the AP interface name here sould be wlan0? Generally, the kernel will use wlan0 to identify the Wi-Fi network card and generate an ap0 interface.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not 100 % sure how AP should work. With default settings (ap0), it fails with following lines:

 * Starting hostapd on ap0: done
 * Starting dnsmasq: SIOCSIFADDR: No such device
ap0: ERROR while getting interface flags: No such device

When I change it to wlan0, it works. rtl8189es is out-of-tree driver, so who knows what behavior we can expect.
I also see driver logging following lines (among many others) - maybe it fails to generate ap0 interface?
[ 25.790226] RTW: cfg80211_rtw_add_virtual_intf(phy0) name:ap0, type:3
[ 25.796709] RTW: WARN adapter pool empty!
[ 25.800840] RTW: cfg80211_rtw_add_virtual_intf(phy0) wdev:00000000, ret:-19

4 changes: 4 additions & 0 deletions board/pinecube/overlay-initramfs/remove_initramfs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

cat /boot/uEnv.txt | grep -v initrd > /boot/uEnv.txt.new
mv /boot/uEnv.txt.new /boot/uEnv.txt
1 change: 1 addition & 0 deletions board/pinecube/overlay/etc/board
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pinecube
3 changes: 3 additions & 0 deletions board/pinecube/overlay/usr/libexec/fw-prepare-boot
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

echo "initrd=initrd.gz" >> /boot/uEnv.txt
8 changes: 8 additions & 0 deletions board/pinecube/postscript.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh

cp ${BINARIES_DIR}/zImage ${BOOT_DIR}
cp ${BINARIES_DIR}/sun8i-s3-pinecube.dtb ${BOOT_DIR}
cp ${BINARIES_DIR}/boot.scr ${BOOT_DIR}

cp ${BOARD_DIR}/initrd.gz ${BOOT_DIR}
cp ${BOARD_DIR}/uEnv.txt ${BOOT_DIR}
2 changes: 2 additions & 0 deletions board/pinecube/uEnv.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
kernel=zImage
fdt=sun8i-s3-pinecube.dtb
96 changes: 96 additions & 0 deletions configs/pinecube_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pinecube"
BR2_OPTIMIZE_2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME="pinecube"
BR2_TARGET_GENERIC_ISSUE="Welcome to PINECUBE"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_TZ_INFO=y
BR2_ROOTFS_OVERLAY="board/common/overlay board/pinecube/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15"
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/pinecube/kernel-extra.config"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-s3-pinecube"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_GZIP=y
BR2_PACKAGE_JQ=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_NTFS_3G=y
BR2_PACKAGE_B43_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_RTL8189ES=y
BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBSSH2=y
BR2_PACKAGE_LIBFUSE=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBCAP=y
BR2_PACKAGE_PCRE=y
BR2_PACKAGE_PCRE_UCP=y
BR2_PACKAGE_SEMVER_SORT=y
BR2_PACKAGE_AUTOSSH=y
BR2_PACKAGE_CHRONY=y
BR2_PACKAGE_CRDA=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_NET_TOOLS=y
BR2_PACKAGE_NETCAT=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_SNTP=y
# BR2_PACKAGE_NTP_NTPD is not set
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_BASH=y
BR2_PACKAGE_LOGROTATE=y
BR2_PACKAGE_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_NANO=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pinecube"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_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/pinecube/boot.cmd"
17 changes: 17 additions & 0 deletions configs/pinecube_initramfs_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pinecube-initramfs"
BR2_OPTIMIZE_2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_GENERIC_HOSTNAME="pinecube"
BR2_TARGET_GENERIC_ISSUE="Welcome to PINECUBE"
BR2_ROOTFS_OVERLAY="board/common/overlay-initramfs board/pinecube/overlay-initramfs"
BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox_initramfs.config"
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
# BR2_TARGET_ROOTFS_TAR is not set
1 change: 1 addition & 0 deletions package/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,7 @@ endmenu
source "package/rs485conf/Config.in"
source "package/rtc-tools/Config.in"
source "package/rtl8188eu/Config.in"
source "package/rtl8189es/Config.in"
source "package/rtl8189fs/Config.in"
source "package/rtl8723bs/Config.in"
source "package/rtl8723bu/Config.in"
Expand Down
10 changes: 10 additions & 0 deletions package/rtl8189es/Config.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
config BR2_PACKAGE_RTL8189ES
bool "rtl8189es"
depends on BR2_LINUX_KERNEL
help
Wireless driver rtl8189es.

https://github.com/jwrdegoede/rtl8189ES_linux.git

comment "rtl8189es needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
2 changes: 2 additions & 0 deletions package/rtl8189es/rtl8189es.hash
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Locally calculated
sha256 74325014c1a8503b3a7e48ad06997baddad8c1dae86bb79f4368532cc3e75fb2 rtl8189es-39c17661136da48f8e9c644194dce6a7f5076896.tar.gz
17 changes: 17 additions & 0 deletions package/rtl8189es/rtl8189es.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
################################################################################
#
# rtl8189es
#
################################################################################

RTL8189ES_VERSION = 39c17661136da48f8e9c644194dce6a7f5076896
RTL8189ES_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189ES_VERSION))
RTL8189ES_LICENSE = GPL-2.0

RTL8189ES_MODULE_MAKE_OPTS = \
CONFIG_RTL8189ES=m \
KVER=$(LINUX_VERSION_PROBED) \
KSRC=$(LINUX_DIR)

$(eval $(kernel-module))
$(eval $(generic-package))