From ce27ccb2ae3177aa5764d856c3e47423b8689978 Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" Date: Tue, 13 Sep 2022 12:08:30 +0300 Subject: [PATCH] Add ssc30kq_add project --- projects/ssc30kq_add/Makefile | 174 ++++++++++++++++++ .../br-ext-chip-sigmastar/Config.in | 1 + .../br-ext-chip-sigmastar/board/.dot | 0 .../br-ext-chip-sigmastar/configs/.dot | 0 .../package/sigmastar-osdrv-infinity6e | 1 + .../general/overlay/etc/composer.ini | 2 + .../sigmastar-osdrv-infinity6e/Config.in | 0 .../files/kmod/.dot | 0 .../files/script/.dot | 0 .../files/sensor/.dot | 0 .../files/sensor/config/.dot | 0 .../sigmastar-osdrv-infinity6e.mk | 0 12 files changed, 178 insertions(+) create mode 100644 projects/ssc30kq_add/Makefile create mode 100644 projects/ssc30kq_add/br-ext-chip-sigmastar/Config.in create mode 100644 projects/ssc30kq_add/br-ext-chip-sigmastar/board/.dot create mode 100644 projects/ssc30kq_add/br-ext-chip-sigmastar/configs/.dot create mode 120000 projects/ssc30kq_add/br-ext-chip-sigmastar/package/sigmastar-osdrv-infinity6e create mode 100644 projects/ssc30kq_add/general/overlay/etc/composer.ini create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/Config.in create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/kmod/.dot create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/script/.dot create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/.dot create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/config/.dot create mode 100644 projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/sigmastar-osdrv-infinity6e.mk diff --git a/projects/ssc30kq_add/Makefile b/projects/ssc30kq_add/Makefile new file mode 100644 index 0000000..ccc9d0a --- /dev/null +++ b/projects/ssc30kq_add/Makefile @@ -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-info - write to stdout information about selected board\n\ + - make BOARD= all - build all needed for a board (toolchain, kernel and rootfs images)\n\ + - make overlayed-rootfs- 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) diff --git a/projects/ssc30kq_add/br-ext-chip-sigmastar/Config.in b/projects/ssc30kq_add/br-ext-chip-sigmastar/Config.in new file mode 100644 index 0000000..184b891 --- /dev/null +++ b/projects/ssc30kq_add/br-ext-chip-sigmastar/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_SIGMASTAR_PATH/package/sigmastar-osdrv-infinity6e/Config.in" diff --git a/projects/ssc30kq_add/br-ext-chip-sigmastar/board/.dot b/projects/ssc30kq_add/br-ext-chip-sigmastar/board/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/br-ext-chip-sigmastar/configs/.dot b/projects/ssc30kq_add/br-ext-chip-sigmastar/configs/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/br-ext-chip-sigmastar/package/sigmastar-osdrv-infinity6e b/projects/ssc30kq_add/br-ext-chip-sigmastar/package/sigmastar-osdrv-infinity6e new file mode 120000 index 0000000..8849835 --- /dev/null +++ b/projects/ssc30kq_add/br-ext-chip-sigmastar/package/sigmastar-osdrv-infinity6e @@ -0,0 +1 @@ +../../general/package/sigmastar-osdrv-infinity6e \ No newline at end of file diff --git a/projects/ssc30kq_add/general/overlay/etc/composer.ini b/projects/ssc30kq_add/general/overlay/etc/composer.ini new file mode 100644 index 0000000..8e6afdb --- /dev/null +++ b/projects/ssc30kq_add/general/overlay/etc/composer.ini @@ -0,0 +1,2 @@ +# +composer_message="This firmware was created with the Composer project." diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/Config.in b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/Config.in new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/kmod/.dot b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/kmod/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/script/.dot b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/script/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/.dot b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/config/.dot b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/files/sensor/config/.dot new file mode 100644 index 0000000..e69de29 diff --git a/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/sigmastar-osdrv-infinity6e.mk b/projects/ssc30kq_add/general/package/sigmastar-osdrv-infinity6e/sigmastar-osdrv-infinity6e.mk new file mode 100644 index 0000000..e69de29