mirror of https://github.com/OpenIPC/firmware.git
Merge branch 'master' of github.com:OpenIPC/firmware
commit
15da8d2682
.github/workflows
br-ext-chip-goke
board/gk710x/kernel
package
general/package/goke-osdrv-gk710x
files
|
@ -0,0 +1,130 @@
|
|||
name: "GK7102"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_core:
|
||||
name: OpenIPC firmware for GK7102
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
id: checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install build dependencies
|
||||
id: install
|
||||
run: |
|
||||
make install-deps
|
||||
mkdir -p tmp
|
||||
|
||||
- name: Free disk space
|
||||
id: freshing
|
||||
run: |
|
||||
sudo swapoff -a
|
||||
sudo rm -f /swapfile
|
||||
sudo apt clean
|
||||
docker rmi $(docker image ls -aq)
|
||||
df -h
|
||||
|
||||
- name: Prepare buildroot
|
||||
id: prepare
|
||||
run: |
|
||||
HEAD_TAG=$(git tag --points-at HEAD)
|
||||
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
|
||||
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
|
||||
if [ -z "$HEAD_TAG" ]; then
|
||||
TAG_NAME="latest"
|
||||
RELEASE_NAME="Development Build"
|
||||
PRERELEASE=true
|
||||
else
|
||||
TAG_NAME=${{ github.ref }}
|
||||
RELEASE_NAME="Release ${{ github.ref }}"
|
||||
PRERELEASE=false
|
||||
fi
|
||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
||||
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
|
||||
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
|
||||
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
|
||||
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE
|
||||
make prepare
|
||||
|
||||
- name: Build GK7102 firmware
|
||||
id: build-gk7102-firmware
|
||||
continue-on-error: true
|
||||
run: |
|
||||
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.gk7102-br.tgz"
|
||||
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE
|
||||
make PLATFORM=goke BOARD=unknown_unknown_gk7102_openipc all
|
||||
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... GK7102" >> $GITHUB_ENV && exit 1
|
||||
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... GK7102" >> $GITHUB_ENV && exit 1
|
||||
cd ${GITHUB_WORKSPACE}/output/images
|
||||
mv uImage uImage.gk7102
|
||||
mv rootfs.squashfs rootfs.squashfs.gk7102
|
||||
tar -C ${GITHUB_WORKSPACE}/output/images -cvzf $ARCHIVE_FW rootfs.squashfs.fh8856 uImage.gk7102
|
||||
|
||||
- name: Build GK7102 SDK
|
||||
id: build-gk7102-sdk
|
||||
continue-on-error: true
|
||||
run: |
|
||||
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
|
||||
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
|
||||
cd $GITHUB_WORKSPACE/output
|
||||
make sdk
|
||||
|
||||
- name: Send warning message to telegram channel
|
||||
env:
|
||||
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
|
||||
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
|
||||
if: steps.build-gk7102-firmware.outcome != 'success' || steps.build-gk7102-sdk.outcome != 'success'
|
||||
run: |
|
||||
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
|
||||
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... GK7102}"
|
||||
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
|
||||
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
|
||||
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
|
||||
|
||||
- name: Create release
|
||||
uses: actions/create-release@v1
|
||||
continue-on-error: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ env.TAG_NAME }}
|
||||
release_name: ${{ env.RELEASE_NAME }}
|
||||
draft: false
|
||||
prerelease: ${{ env.PRERELEASE }}
|
||||
|
||||
- name: Upload FW to release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
continue-on-error: true
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.ARCHIVE_FW }}
|
||||
asset_name: "openipc.gk7102-br.tgz"
|
||||
tag: ${{ env.TAG_NAME }}
|
||||
overwrite: true
|
||||
|
||||
- name: Upload SDK to release
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
continue-on-error: true
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.ARCHIVE_SDK }}
|
||||
asset_name: "arm-openipc-gk7102-linux-musleabi_sdk-buildroot.tar.gz"
|
||||
tag: ${{ env.TAG_NAME }}
|
||||
overwrite: true
|
||||
|
||||
- name: Send binary file to telegram channel
|
||||
env:
|
||||
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
|
||||
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
|
||||
run: |
|
||||
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
|
||||
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
|
||||
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
|
||||
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"
|
|
@ -4,6 +4,7 @@ source "$BR2_EXTERNAL_GOKE_PATH/package/aura-httpd/Config.in"
|
|||
source "$BR2_EXTERNAL_GOKE_PATH/package/dropbear-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/fdk-aac-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/fwprintenv-openipc/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk710x/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk7205v200/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/ipctool/Config.in"
|
||||
source "$BR2_EXTERNAL_GOKE_PATH/package/json-c-openipc/Config.in"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,65 @@
|
|||
#ifndef __LINUX_COMPILER_H
|
||||
#error "Please don't include <linux/compiler-gcc7.h> directly, include <linux/compiler.h> instead."
|
||||
#endif
|
||||
|
||||
#define __used __attribute__((__used__))
|
||||
#define __must_check __attribute__((warn_unused_result))
|
||||
#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
|
||||
/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
to them will be unlikely. This means a lot of manual unlikely()s
|
||||
are unnecessary now for any paths leading to the usual suspects
|
||||
like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
older compilers]
|
||||
|
||||
Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
in the preprocessor, but we can live with this because they're unreleased.
|
||||
Maketime probing would be overkill here.
|
||||
|
||||
gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
a special section, but I don't see any sense in this right now in
|
||||
the kernel context */
|
||||
#define __cold __attribute__((__cold__))
|
||||
|
||||
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
|
||||
#ifndef __CHECKER__
|
||||
# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
# define __compiletime_error(message) __attribute__((error(message)))
|
||||
#endif /* __CHECKER__ */
|
||||
|
||||
/*
|
||||
* Mark a position in code as unreachable. This can be used to
|
||||
* suppress control flow warnings after asm blocks that transfer
|
||||
* control elsewhere.
|
||||
*
|
||||
* Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
* this in the preprocessor, but we can live with this because they're
|
||||
* unreleased. Really, we need to have autoconf for the kernel.
|
||||
*/
|
||||
#define unreachable() __builtin_unreachable()
|
||||
|
||||
/* Mark a function definition as prohibited from being cloned. */
|
||||
#define __noclone __attribute__((__noclone__))
|
||||
|
||||
/*
|
||||
* Tell the optimizer that something else uses this function or variable.
|
||||
*/
|
||||
#define __visible __attribute__((externally_visible))
|
||||
|
||||
/*
|
||||
* GCC 'asm goto' miscompiles certain code sequences:
|
||||
*
|
||||
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
*
|
||||
* Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
*
|
||||
* (asm goto is automatically volatile - the naming reflects this.)
|
||||
*/
|
||||
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
|
||||
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
#define __HAVE_BUILTIN_BSWAP32__
|
||||
#define __HAVE_BUILTIN_BSWAP64__
|
||||
#define __HAVE_BUILTIN_BSWAP16__
|
||||
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,11 @@
|
|||
--- a/scripts/dtc/dtc-lexer.lex.c_shipped 2015-08-07 22:08:04.000000000 +0300
|
||||
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped 2021-11-01 22:15:12.347053553 +0300
|
||||
@@ -637,7 +637,7 @@
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+extern YYLTYPE yylloc;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
#define YY_USER_ACTION \
|
|
@ -0,0 +1,96 @@
|
|||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm1176jzf_s=y
|
||||
BR2_ARM_EABI=y
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="3.4.43"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PER_PACKAGE_DIRECTORIES=y
|
||||
BR2_GCC_VERSION_7_X=y
|
||||
# BR2_TOOLCHAIN_USES_UCLIBC is not set
|
||||
# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
|
||||
# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
|
||||
BR2_TOOLCHAIN_USES_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.4.43"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/gk710x.generic.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
BR2_LINUX_KERNEL_EXT_GOKE_PATCHER=y
|
||||
BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST="$(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/patches/ $(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/overlay"
|
||||
|
||||
# Filesystem
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
|
||||
|
||||
# OpenIPC configuration
|
||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
|
||||
BR2_TARGET_GENERIC_HOSTNAME="openipc-gk7102"
|
||||
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
|
||||
|
||||
# OpenIPC packages
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
|
||||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
|
||||
BR2_PACKAGE_FWPRINTENV_OPENIPC=y
|
||||
BR2_PACKAGE_HASERL=y
|
||||
BR2_PACKAGE_GOKE_OSDRV_GK710X=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
BR2_PACKAGE_LAME_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
|
||||
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||
# BR2_PACKAGE_MAJESTIC_GK710X=y
|
||||
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
|
||||
BR2_PACKAGE_MICROBE_WEB=y
|
||||
# BR2_PACKAGE_MINI_SNMPD is not set
|
||||
BR2_PACKAGE_MOTORS=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
# BR2_PACKAGE_SSHPASS is not set
|
||||
BR2_PACKAGE_UACME_OPENIPC=y
|
||||
BR2_PACKAGE_VTUND_OPENIPC=y
|
||||
BR2_PACKAGE_YAML_CLI=y
|
||||
|
||||
# WiFi
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
|
||||
# BR2_PACKAGE_RTL8188EU is not set
|
||||
|
||||
# WIREGUARD
|
||||
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
|
@ -0,0 +1,96 @@
|
|||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm1176jzf_s=y
|
||||
BR2_ARM_EABI=y
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="3.4.43"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PER_PACKAGE_DIRECTORIES=y
|
||||
BR2_GCC_VERSION_7_X=y
|
||||
# BR2_TOOLCHAIN_USES_UCLIBC is not set
|
||||
# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
|
||||
# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
|
||||
BR2_TOOLCHAIN_USES_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.4.43"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/gk710xs.generic.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
BR2_LINUX_KERNEL_EXT_GOKE_PATCHER=y
|
||||
BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST="$(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/patches/ $(BR2_EXTERNAL_GOKE_PATH)/board/gk710x/kernel/overlay"
|
||||
|
||||
# Filesystem
|
||||
# BR2_TARGET_TZ_INFO is not set
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
|
||||
BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh"
|
||||
|
||||
# OpenIPC configuration
|
||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2"
|
||||
BR2_TARGET_GENERIC_HOSTNAME="openipc-gk7102s"
|
||||
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
|
||||
|
||||
# OpenIPC packages
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"
|
||||
BR2_PACKAGE_DROPBEAR_OPENIPC=y
|
||||
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
|
||||
BR2_PACKAGE_FWPRINTENV_OPENIPC=y
|
||||
BR2_PACKAGE_HASERL=y
|
||||
BR2_PACKAGE_GOKE_OSDRV_GK710X=y
|
||||
BR2_PACKAGE_IPCTOOL=y
|
||||
BR2_PACKAGE_JSON_C=y
|
||||
BR2_PACKAGE_LAME_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC=y
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
|
||||
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
|
||||
BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC=y
|
||||
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
|
||||
BR2_PACKAGE_LIBOGG_OPENIPC=y
|
||||
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
BR2_PACKAGE_MAJESTIC_FONTS=y
|
||||
# BR2_PACKAGE_MAJESTIC_GK710X=y
|
||||
BR2_PACKAGE_MBEDTLS_OPENIPC=y
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
|
||||
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
|
||||
BR2_PACKAGE_MICROBE_WEB=y
|
||||
# BR2_PACKAGE_MINI_SNMPD is not set
|
||||
BR2_PACKAGE_MOTORS=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC=y
|
||||
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
|
||||
# BR2_PACKAGE_SSHPASS is not set
|
||||
BR2_PACKAGE_UACME_OPENIPC=y
|
||||
BR2_PACKAGE_VTUND_OPENIPC=y
|
||||
BR2_PACKAGE_YAML_CLI=y
|
||||
|
||||
# WiFi
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
|
||||
# BR2_PACKAGE_RTL8188EU is not set
|
||||
|
||||
# WIREGUARD
|
||||
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||
BR2_PACKAGE_WIREGUARD_TOOLS=y
|
|
@ -4,6 +4,7 @@ include $(BR2_EXTERNAL_GOKE_PATH)/package/aura-httpd/aura-httpd.mk
|
|||
include $(BR2_EXTERNAL_GOKE_PATH)/package/dropbear-openipc/dropbear-openipc.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/goke-osdrv-gk710x.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk7205v200/goke-osdrv-gk7205v200.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/ipctool/ipctool.mk
|
||||
include $(BR2_EXTERNAL_GOKE_PATH)/package/json-c-openipc/json-c-openipc.mk
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../general/package/goke-osdrv-gk710x
|
26
building.sh
26
building.sh
|
@ -135,6 +135,26 @@ fh8858v210() {
|
|||
|
||||
#################################################################################
|
||||
|
||||
gk7101() {
|
||||
soc="gk7101"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7101s() {
|
||||
soc="gk7101s"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7102() {
|
||||
soc="gk7102"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7102s() {
|
||||
soc="gk7102s"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7205v200() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
|
@ -482,6 +502,10 @@ xm550() {
|
|||
#
|
||||
#######
|
||||
#
|
||||
# gk7101 # testing..
|
||||
# gk7101s # testing..
|
||||
# gk7102 # testing..
|
||||
gk7102s # testing..
|
||||
# gk7202v300 # testing..
|
||||
# gk7205v200 # OpenIPC
|
||||
# gk7205v200_fpv # FPV
|
||||
|
@ -560,7 +584,7 @@ xm550() {
|
|||
# t10 # testing..
|
||||
# t20 # testing..
|
||||
# t30 # testing..
|
||||
t31 # testing..
|
||||
# t31 # testing..
|
||||
#
|
||||
#######
|
||||
#
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
config BR2_PACKAGE_GOKE_OSDRV_GK710X
|
||||
bool "goke-osdrv-gk710x"
|
||||
help
|
||||
goke-osdrv-gk710x - Goke kernel modules and libs
|
||||
|
||||
https://openipc.org
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,72 @@
|
|||
#!/bin/sh
|
||||
|
||||
DAEMON="majestic"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
|
||||
DAEMON_ARGS="-s"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
load_majestic() {
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
|
||||
-- $DAEMON_ARGS
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
# The daemon does not create a pidfile, and use "-m" to instruct start-stop-daemon to create one.
|
||||
start() {
|
||||
logger -s -p daemon.info -t goke "Checking MAC address"
|
||||
if [ "$(fw_printenv -n ethaddr)" = "00:00:23:34:45:66" ]; then
|
||||
logger -s -p daemon.info -t goke "The eth0 interface has a lousy MAC, you have to change it.."
|
||||
else
|
||||
logger -s -p daemon.info -t goke "The eth0 interface has a correct MAC - $(fw_printenv -n ethaddr)"
|
||||
fi
|
||||
#
|
||||
logger -s -p daemon.info -t goke "Loading of kernel modules and initialization of the video system has started"
|
||||
export TZ=$(cat /etc/TZ)
|
||||
# load_goke
|
||||
#
|
||||
# load_majestic
|
||||
}
|
||||
|
||||
stop() {
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
start-stop-daemon -K -q -p "$PIDFILE"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
rm -f "$PIDFILE"
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
sleep 1
|
||||
reload
|
||||
}
|
||||
|
||||
reload() {
|
||||
load_majestic
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart|reload)
|
||||
"$1";;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
|
@ -0,0 +1,87 @@
|
|||
#!/bin/sh
|
||||
|
||||
# on GK7205V200:
|
||||
# GPIO1_0 -> GPIO8 (1*8+0 = 8)
|
||||
# GPIO1_1 -> GPIO9 (1*8+1 = 9)
|
||||
|
||||
# on GK7205V300:
|
||||
# GPIO1_3 -> GPIO11
|
||||
# GPIO1_2 -> GPIO10
|
||||
|
||||
#(normal mode)
|
||||
ir_cut_enable() {
|
||||
# pin_mux
|
||||
echo "$gpio_0" >/sys/class/gpio/unexport
|
||||
echo "$gpio_1" >/sys/class/gpio/unexport
|
||||
echo "$gpio_0" >/sys/class/gpio/export
|
||||
echo "$gpio_1" >/sys/class/gpio/export
|
||||
|
||||
# dir
|
||||
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
|
||||
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
|
||||
|
||||
# data, gpio_1: 0, gpio_0: 1 (normal mode)
|
||||
echo "1" >/sys/class/gpio/gpio$gpio_0/value
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_1/value
|
||||
|
||||
#sleep 1s
|
||||
sleep 1
|
||||
|
||||
# back to original
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_0/value
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_1/value
|
||||
}
|
||||
|
||||
# (ir mode)
|
||||
ir_cut_disable() {
|
||||
# pin_mux
|
||||
echo "$gpio_0" >/sys/class/gpio/unexport
|
||||
echo "$gpio_1" >/sys/class/gpio/unexport
|
||||
echo "$gpio_0" >/sys/class/gpio/export
|
||||
echo "$gpio_1" >/sys/class/gpio/export
|
||||
|
||||
# dir
|
||||
echo "out" >/sys/class/gpio/gpio$gpio_0/direction
|
||||
echo "out" >/sys/class/gpio/gpio$gpio_1/direction
|
||||
|
||||
# data, gpio_1: 1, gpio_0: 0 (ir mode)
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_0/value
|
||||
echo "1" >/sys/class/gpio/gpio$gpio_1/value
|
||||
|
||||
#sleep 1s
|
||||
sleep 1
|
||||
|
||||
# back to original
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_0/value
|
||||
echo "0" >/sys/class/gpio/gpio$gpio_1/value
|
||||
}
|
||||
|
||||
gpio_0=0
|
||||
gpio_1=0
|
||||
|
||||
if [ $# -lt 2 ]; then
|
||||
echo "usage : ./ircut_demo <chip> <mode>"
|
||||
echo "for example:"
|
||||
echo "ir mode : ./ircut_demo gk7205v200 1"
|
||||
else
|
||||
if [ $1 = "gk7205v200" ]; then
|
||||
gpio_0=8
|
||||
gpio_1=9
|
||||
elif [ $1 = "gk7205v300" ]; then
|
||||
gpio_0=11
|
||||
gpio_1=10
|
||||
else
|
||||
echo "wrong chipid: $1, please select: gk7205v200 or gk7205v300."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $2 -eq 0 ]; then
|
||||
echo "normal mode, ir_cut on"
|
||||
ir_cut_enable >/dev/null
|
||||
elif [ $2 -eq 1 ]; then
|
||||
echo "ir mode, ir_cut off"
|
||||
ir_cut_disable >/dev/null
|
||||
else
|
||||
echo "invalid mode, please slect 0 or 1."
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
|
||||
kernel_ver=$(uname -r)
|
||||
cd /lib/modules/$kernel_ver/goke
|
||||
|
||||
USE_OLD_SENSOR_DRIVER=NO #YES or NO, default no use.
|
||||
USE_LOAD_HAL_DRIVER=YES #YES or NO, default no use.
|
||||
|
||||
if [ $USE_LOAD_HAL_DRIVER = "YES" ];then
|
||||
insmod hal.ko
|
||||
fi
|
||||
insmod hw_crypto.ko
|
||||
insmod media.ko
|
||||
insmod audio.ko
|
||||
|
||||
if [ $USE_OLD_SENSOR_DRIVER = "YES" ]; then
|
||||
if [ -e ${1}.ko ];then
|
||||
insmod ${1}.ko
|
||||
else
|
||||
echo "${1}.ko is no exist."
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
insmod sensor.ko
|
||||
# Use sensor.ko
|
||||
rm /tmp/sensor_hw.bin -f
|
||||
rm /tmp/sensor_ex.ko -f
|
||||
if [ $# -ne 1 ] ;then
|
||||
sensordetect
|
||||
else
|
||||
if [ -e /etc/sensors/$1"_hw.bin" ];then
|
||||
if [ -e /tmp/sensor_hw.bin ]; then
|
||||
rm /tmp/sensor_hw.bin -f
|
||||
fi
|
||||
ln -s /etc/sensors/$1"_hw.bin" /tmp/sensor_hw.bin
|
||||
else
|
||||
echo "\"/etc/sensors/${1}_hw.bin\" is no exist."
|
||||
exit 0
|
||||
fi
|
||||
if [ -e $1"_ex.ko" ];then
|
||||
if [ -e /tmp/sensor_ex.ko ]; then
|
||||
rm /tmp/sensor_ex.ko -f
|
||||
fi
|
||||
ln -s $1"_ex.ko" /tmp/sensor_ex.ko
|
||||
else
|
||||
echo "\"${1}_ex.ko\" is no exist."
|
||||
fi
|
||||
fi
|
||||
if [ -e /tmp/sensor_ex.ko ];then
|
||||
insmod /tmp/sensor_ex.ko
|
||||
fi
|
||||
fi
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,36 @@
|
|||
################################################################################
|
||||
#
|
||||
# goke-osdrv-gk710x
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GOKE_OSDRV_GK710X_VERSION =
|
||||
GOKE_OSDRV_GK710X_SITE =
|
||||
GOKE_OSDRV_GK710X_LICENSE = MIT
|
||||
GOKE_OSDRV_GK710X_LICENSE_FILES = LICENSE
|
||||
|
||||
define GOKE_OSDRV_GK710X_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/script/S95goke
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/sensor/config/*.bin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/firmware
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/firmware $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/sensor/fw/*.bin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/3.4.43/goke
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.4.43/goke $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/kmod/*.ko
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.4.43/goke $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/sensor/*.ko
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/script/load_*
|
||||
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/script/ircut_demo
|
||||
|
||||
# $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/sensors
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
|
||||
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(BR2_EXTERNAL_GOKE_PATH)/package/goke-osdrv-gk710x/files/lib/*.so
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
Reference in New Issue