mirror of https://github.com/OpenIPC/composer.git
Update CIP37210 project
parent
c78b2b4fc7
commit
c085edca90
|
@ -0,0 +1,174 @@
|
|||
|
||||
ROOT_DIR := $(CURDIR)
|
||||
BR_VER ?= 2021.02.12
|
||||
BR_DIR := $(ROOT_DIR)/buildroot-$(BR_VER)
|
||||
|
||||
ifeq ($(PLATFORM),)
|
||||
ifneq ($(BOARD),)
|
||||
FULL_PATH := $(shell find br-ext-chip-* -name "$(BOARD)*_defconfig")
|
||||
ifeq ($(FULL_PATH),)
|
||||
FULL_PATH := $(error Cannot find anything for $(BOARD))
|
||||
else ifneq ($(shell echo $(FULL_PATH) | wc -w), 1)
|
||||
FULL_PATH := $(error For provided '$(BOARD)' multiple options found: $(FULL_PATH))
|
||||
endif
|
||||
|
||||
PLATFORM := $(shell echo $(FULL_PATH) | cut -d '/' -f 1 | cut -d '-' -f 4 )
|
||||
endif
|
||||
endif
|
||||
|
||||
BR_EXT_DIR := $(ROOT_DIR)/br-ext-chip-$(PLATFORM)
|
||||
SCRIPTS_DIR := $(ROOT_DIR)/scripts
|
||||
#BOARDS := $(shell ls -1 $(BR_EXT_DIR)/configs)
|
||||
|
||||
.PHONY: usage help clean distclean prepare install-deps all toolchain-params run-tests overlayed-rootfs-%
|
||||
|
||||
usage help:
|
||||
@echo -e \
|
||||
"\n\
|
||||
BR-OpenIPC usage:\n\
|
||||
- make help|usage - print this help\n\
|
||||
- make install-deps - install system deps\n\
|
||||
- make prepare - download and unpack buildroot\n\
|
||||
- make list-configs - show available hardware configs list\n\
|
||||
- make BOARD=<BOARD-ID> board-info - write to stdout information about selected board\n\
|
||||
- make BOARD=<BOARD-ID> all - build all needed for a board (toolchain, kernel and rootfs images)\n\
|
||||
- make overlayed-rootfs-<FS-TYPE> ROOTFS_OVERLAYS=... - create rootfs image that contains original\n\
|
||||
- make clean - cleaning before reassembly\n\
|
||||
- make distclean - switching to the factory state\n\
|
||||
Buildroot target dir overlayed by some custom layers.\n\
|
||||
Example:\n\
|
||||
make overlayed-rootfs-squashfs ROOTFS_OVERLAYS=./examples/echo_server/overlay\n\
|
||||
"
|
||||
|
||||
distclean:
|
||||
@rm -rf output buildroot-$(BR_VER)
|
||||
|
||||
clean:
|
||||
@rm -rf output/target output/.config
|
||||
|
||||
prepare: $(BR_DIR)
|
||||
$(ROOT_DIR)/buildroot-$(BR_VER).tar.gz:
|
||||
wget -O $@ -nv \
|
||||
--retry-connrefused --continue --timeout=15 \
|
||||
http://buildroot.org/downloads/buildroot-$(BR_VER).tar.gz
|
||||
|
||||
$(BR_DIR): $(ROOT_DIR)/buildroot-$(BR_VER).tar.gz
|
||||
tar -C $(ROOT_DIR) -xf buildroot-$(BR_VER).tar.gz
|
||||
rm -f buildroot-$(BR_VER).tar.gz
|
||||
|
||||
|
||||
install-deps:
|
||||
ifneq ($(shell id -u), 0)
|
||||
@echo "You must be root to perform this action."
|
||||
else
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||
apt-get -y install \
|
||||
build-essential git make libncurses-dev wget curl \
|
||||
cpio rsync bc unzip file
|
||||
endif
|
||||
|
||||
|
||||
%_info:
|
||||
@echo
|
||||
@cat $(BR_EXT_DIR)/board/$(subst _info,,$@)/config | grep RAM_LINUX_SIZE
|
||||
$(eval VENDOR := $(shell echo $@ | cut -d "_" -f 1))
|
||||
$(eval FAMILY := $(shell cat $(BR_EXT_DIR)/board/$(subst _info,,$@)/config | grep FAMILY | cut -d "=" -f 2))
|
||||
$(eval CHIP := $(shell echo $@ | cut -d "_" -f 3))
|
||||
@cat $(BR_EXT_DIR)/board/$(FAMILY)/$(CHIP).config
|
||||
|
||||
buildroot-version:
|
||||
@echo $(BR_VER)
|
||||
|
||||
has-nand:
|
||||
@sed -rn "s/^BR2_TARGET_ROOTFS_UBI=(y)/\1/p" $(FULL_PATH)
|
||||
|
||||
toolname:
|
||||
@$(SCRIPTS_DIR)/show_toolchains.sh $(FULL_PATH) $(BR_VER)
|
||||
|
||||
list-configs:
|
||||
@echo
|
||||
@ls -1 $(BR_EXT_DIR)/configs
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
OUT_DIR ?= $(ROOT_DIR)/output
|
||||
|
||||
# Buildroot considers relative paths relatively to its' own root directory. So we use absolute paths
|
||||
# to avoid ambiguity
|
||||
override OUT_DIR := $(abspath $(OUT_DIR))
|
||||
BOARD_MAKE := $(MAKE) -C $(BR_DIR) BR2_EXTERNAL=$(BR_EXT_DIR) O=$(OUT_DIR)
|
||||
|
||||
define CREATE_TOOLCHAIN_PARAMS
|
||||
eval $$($(BOARD_MAKE) -s --no-print-directory VARS=GNU_TARGET_NAME printvars) \
|
||||
&& $(SCRIPTS_DIR)/create_toolchain_binding.sh $(OUT_DIR)/host/bin $$GNU_TARGET_NAME \
|
||||
> $(OUT_DIR)/toolchain-params.mk
|
||||
endef
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
$(OUT_DIR)/.config:
|
||||
ifndef BOARD
|
||||
@echo "Variable BOARD must be defined to initialize output directory" >&2 && exit 1
|
||||
endif
|
||||
$(BOARD_MAKE) BR2_DEFCONFIG=$(BR_EXT_DIR)/configs/$(BOARD)_defconfig defconfig
|
||||
|
||||
|
||||
$(OUT_DIR)/toolchain-params.mk: $(OUT_DIR)/.config $(SCRIPTS_DIR)/create_toolchain_binding.sh
|
||||
$(CREATE_TOOLCHAIN_PARAMS)
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# build all needed for a board
|
||||
all: $(OUT_DIR)/.config $(OUT_DIR)/toolchain-params.mk
|
||||
$(BOARD_MAKE) all
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# re-create params file
|
||||
toolchain-params:
|
||||
$(CREATE_TOOLCHAIN_PARAMS)
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# create rootfs image that contains original Buildroot target dir overlayed by some custom layers
|
||||
# space-separated list of overlays
|
||||
|
||||
ROOTFS_OVERLAYS ?=
|
||||
# overlayed rootfs directory
|
||||
ROOTFS_OVERLAYED_DIR ?= $(OUT_DIR)/target-overlayed
|
||||
# overlayed rootfs image's name (without prefix)
|
||||
ROOTFS_OVERLAYED_IMAGE ?= rootfs-overlayed
|
||||
|
||||
overlayed-rootfs-%: $(OUT_DIR)/.config
|
||||
$(SCRIPTS_DIR)/create_overlayed_rootfs.sh $(ROOTFS_OVERLAYED_DIR) $(OUT_DIR)/target $(ROOTFS_OVERLAYS)
|
||||
$(BOARD_MAKE) $(subst overlayed-,,$@) \
|
||||
BASE_TARGET_DIR=$(abspath $(ROOTFS_OVERLAYED_DIR)) \
|
||||
ROOTFS_$(call UPPERCASE,$(subst overlayed-rootfs-,,$@))_FINAL_IMAGE_NAME=$(ROOTFS_OVERLAYED_IMAGE).$(subst overlayed-rootfs-,,$@)
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
board-info:
|
||||
@cat $(BR_EXT_DIR)/board/$(BOARD)/config | grep RAM_LINUX_SIZE
|
||||
$(eval VENDOR := $(shell echo $(BOARD) | cut -d "_" -f 1))
|
||||
$(eval FAMILY := $(shell cat $(BR_EXT_DIR)/board/$(BOARD)/config | grep FAMILY | cut -d "=" -f 2))
|
||||
$(eval CHIP := $(shell echo $(BOARD) | cut -d "_" -f 3))
|
||||
@cat $(BR_EXT_DIR)/board/$(FAMILY)/$(CHIP).config
|
||||
@cat $(BR_EXT_DIR)/board/$(BOARD)/config
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# such targets (with trimmed `br-` prefix) are passed to Buildroot's Makefile
|
||||
br-%: $(OUT_DIR)/.config
|
||||
$(BOARD_MAKE) $(subst br-,,$@)
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
run-tests:
|
||||
$(MAKE) -C $(ROOT_DIR)/tests
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# there are some extra targets of specific packages
|
||||
include $(sort $(wildcard $(ROOT_DIR)/extra/*.mk))
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# util stuff is below
|
||||
UPPERCASE = $(shell echo $(1) | tr a-z A-Z)
|
|
@ -0,0 +1,108 @@
|
|||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
BR2_ARM_EABI=y
|
||||
# BR2_ARM_INSTRUCTIONS_THUMB is not set
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
BR2_DEFAULT_KERNEL_VERSION="4.9.37"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PER_PACKAGE_DIRECTORIES=y
|
||||
BR2_GCC_VERSION_8_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="4.9.37"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/kernel/hi3518ev200.generic.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_XZ=y
|
||||
BR2_LINUX_KERNEL_EXT_HISI_PATCHER=y
|
||||
BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516cv200/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-hi3518ev200"
|
||||
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_HISI_GPIO is not set
|
||||
BR2_PACKAGE_HISILICON_OSDRV_HI3516CV200=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=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 is not set
|
||||
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_LINUX_FIRMWARE_OPENIPC_RTL8188EU=y
|
||||
# BR2_PACKAGE_RTL8188EU is not set
|
||||
# BR2_PACKAGE_RTL8188FU_OPENIPC is not set
|
||||
|
||||
# WIREGUARD
|
||||
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set
|
||||
# BR2_PACKAGE_WIREGUARD_TOOLS is not set
|
||||
|
||||
# MQTT
|
||||
BR2_PACKAGE_MOSQUITTO=y
|
||||
# BR2_PACKAGE_MOSQUITTO_BROKER is not set
|
||||
|
||||
# DEBUG
|
||||
BR2_PACKAGE_HOST_GDB=y
|
||||
BR2_PACKAGE_GDB=y
|
Loading…
Reference in New Issue