Skip to content

Commit

Permalink
New extended lunch target for base_aaos
Browse files Browse the repository at this point in the history
Tracked-On: OAM-120381
Signed-off-by: sgnanase <[email protected]>
  • Loading branch information
sgnanase authored and sysopenci committed Jun 20, 2024
1 parent e909459 commit 7093ad5
Show file tree
Hide file tree
Showing 21 changed files with 561 additions and 0 deletions.
61 changes: 61 additions & 0 deletions aaos_iasw/AndroidBoard.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
DOCKERD_ENV_RESOLV_CONF := $(PRODUCT_OUT)/system/etc/resolv.conf
$(DOCKERD_ENV_RESOLV_CONF):
@ln -sf /data/vendor/docker/etc/resolv.conf $(PRODUCT_OUT)/system/etc/resolv.conf
$(PRODUCT_OUT)/system.img: $(DOCKERD_ENV_RESOLV_CONF)

LIC_COMMON_SOURCE := $(PRODUCT_OUT)/vendor/etc/docker/common.tar.gz
$(LIC_COMMON_SOURCE):
@mkdir -p $(PRODUCT_OUT)/vendor/etc/docker
ifneq ($(wildcard $(TOP)/vendor/intel/weston-in-docker/common),)
@tar --exclude .git -czf $(PRODUCT_OUT)/vendor/etc/docker/common.tar.gz -C $(TOP)/vendor/intel/weston-in-docker/common .
endif

$(PRODUCT_OUT)/vendor.img: $(LIC_COMMON_SOURCE)

BUILDIN_DOCKER_IMAGE ?= false

.PHONY: lic_resources
lic_resources:
ifneq ($(wildcard $(TOP)/vendor/intel/weston-in-docker/gamecore),)
@rm -rf $(PRODUCT_OUT)/docker/lic/gamecore
@mkdir -p $(PRODUCT_OUT)/docker/lic/gamecore
@cp -r $(TOP)/vendor/intel/weston-in-docker/gamecore/* $(TOP)/vendor/intel/weston-in-docker/gamecore/.* $(TOP)/vendor/intel/weston-in-docker/common/* $(PRODUCT_OUT)/docker/lic/gamecore
@tar --exclude .git -cf $(PRODUCT_OUT)/vendor/etc/docker/gamecore.tar -C $(PRODUCT_OUT)/docker/lic/gamecore .
endif
ifneq ($(wildcard $(TOP)/vendor/intel/weston-in-docker/aicore),)
@tar --exclude .git -cf $(PRODUCT_OUT)/vendor/etc/docker/aicore.tar -C $(TOP)/vendor/intel/weston-in-docker/aicore .
endif

define lic_base_build
if [ -z "$$(docker images $(2):$(3) | grep $(2))" ]; then DOCKER_BUILDKIT=0 docker build --build-arg http_proxy=$(http_proxy) --build-arg https_proxy=$(https_proxy) --build-arg no_proxy=localhost -f $(1)/Dockerfile.base -t $(2):$(3) $(1); else echo "Reuse existing $(2):$(3) "; fi
endef

define lic_build
@mkdir -p $(2)
@cp $(1)/TAG $(2)
@DOCKER_BUILDKIT=0 docker build --build-arg http_proxy=$(http_proxy) --build-arg https_proxy=$(https_proxy) --build-arg no_proxy=localhost -t $(3):$(4) $(1)
@docker save $(3):$(4) | gzip > $(2)/$(3).tar.gz
@docker rmi $(3):$(4)
endef

GAMECORE_VERSION := $(shell cat $(TOP)/vendor/intel/weston-in-docker/gamecore/TAG)
GAMECORE_BASE_VERSION := $(shell cat $(TOP)/vendor/intel/weston-in-docker/gamecore/BASE_TAG)
AICORE_VERSION := $(shell cat $(TOP)/vendor/intel/weston-in-docker/aicore/TAG)
AICORE_BASE_VERSION := $(shell cat $(TOP)/vendor/intel/weston-in-docker/aicore/BASE_TAG)

.PHONY: lic
lic: .KATI_NINJA_POOL := console
lic:
@rm -rf $(PRODUCT_OUT)/docker/lic/gamecore
@mkdir -p $(PRODUCT_OUT)/docker/lic/gamecore
@cp -r $(TOP)/vendor/intel/weston-in-docker/gamecore/* $(TOP)/vendor/intel/weston-in-docker/gamecore/.* $(TOP)/vendor/intel/weston-in-docker/common/* $(PRODUCT_OUT)/docker/lic/gamecore
$(call lic_base_build,$(PRODUCT_OUT)/docker/lic/gamecore,gamecore-base,$(GAMECORE_BASE_VERSION))
$(call lic_build,$(PRODUCT_OUT)/docker/lic/gamecore,$(PRODUCT_OUT)/vendor/etc/docker/image/gamecore,gamecore,$(GAMECORE_VERSION))
$(call lic_base_build,$(TOP)/vendor/intel/weston-in-docker/aicore,aicore-base,$(AICORE_BASE_VERSION))
$(call lic_build,$(TOP)/vendor/intel/weston-in-docker/aicore,$(PRODUCT_OUT)/vendor/etc/docker/image/aicore,aicore,$(AICORE_VERSION))

ifeq ($(BUILDIN_DOCKER_IMAGE),true)
$(PRODUCT_OUT)/vendor.img: lic
else
$(PRODUCT_OUT)/vendor.img: lic_resources
endif
22 changes: 22 additions & 0 deletions aaos_iasw/AndroidProducts.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# Copyright 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aaos_iasw.mk \

COMMON_LUNCH_CHOICES += \
aaos_iasw-userdebug

24 changes: 24 additions & 0 deletions aaos_iasw/BoardConfig.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# Copyright 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/docker

BOARD_KERNEL_CMDLINE += enforcing=0
ifeq ($(BOOTCONFIG_ENABLE), true)
BOARD_BOOTCONFIG += androidboot.selinux=permissive
else
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
endif
22 changes: 22 additions & 0 deletions aaos_iasw/aaos_iasw.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# Copyright 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

$(call inherit-product, device/intel/project-celadon/base_aaos/base_aaos.mk)
include device/intel/project-celadon/aaos_iasw/AndroidBoard.mk
include device/intel/project-celadon/aaos_iasw/BoardConfig.mk
include device/intel/project-celadon/aaos_iasw/device.mk

PRODUCT_NAME := aaos_iasw
58 changes: 58 additions & 0 deletions aaos_iasw/device.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
# Copyright 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/../base_aaos/fstab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.base_aaos \
$(LOCAL_PATH)/../base_aaos/fstab:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.base_aaos \
$(LOCAL_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.aaos_iasw.rc


PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/extra_files/docker/lic_install.sh:/vendor/bin/lic_install.sh \
$(LOCAL_PATH)/extra_files/docker/docker_manager:/vendor/bin/docker_manager \
$(LOCAL_PATH)/extra_files/docker/containerd:/vendor/bin/containerd \
$(LOCAL_PATH)/extra_files/docker/containerd-shim-runc-v2:/vendor/bin/containerd-shim-runc-v2 \
$(LOCAL_PATH)/extra_files/docker/docker:/vendor/bin/docker \
$(LOCAL_PATH)/extra_files/docker/dockerd:/vendor/bin/dockerd \
$(LOCAL_PATH)/extra_files/docker/dockerd-dev:/vendor/bin/dockerd-dev \
$(LOCAL_PATH)/extra_files/docker/runc:/vendor/bin/runc \
$(LOCAL_PATH)/extra_files/docker/99-ignore-keyboard.rules:/vendor/etc/docker/config/99-ignore-keyboard.rules \
$(LOCAL_PATH)/extra_files/docker/99-ignore-mouse.rules:/vendor/etc/docker/config/99-ignore-mouse.rules \
$(LOCAL_PATH)/extra_files/docker/config.toml:/vendor/etc/docker/etc/containerd/config.toml \
$(LOCAL_PATH)/extra_files/docker/daemon.json:/vendor/etc/docker/etc/docker/daemon.json \

PRODUCT_PACKAGES += sumClientInAndroid \
multiplyServiceInAndroid \
multiplyClientInAndroid \
subtractServiceApplicationInAndroid \
SharedBufferServiceInAndroid \
SharedBufferClientInAndroid \
Steam \
Genshin \
Epic \
LIC \
liblic-epic \
liblic-genshin \
liblic-steam \
liblic-proxy \
ContainerManager \
libstreamingbindersdk \
libaaudiosdk

PRODUCT_PROPERTY_OVERRIDES += \
vendor.nn.hal.grpc_socket_path=/data/vendor/neuralnetworks/ai.socket \
persist.vendor.lic.device=/dev/dri/renderD129
4 changes: 4 additions & 0 deletions aaos_iasw/extra_files/docker/99-ignore-keyboard.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ACTION=="add|change", KERNEL=="event[0-9]*", \
ENV{ID_VENDOR_ID}=="03f0", \
ENV{ID_MODEL_ID}=="0324", \
ENV{LIBINPUT_IGNORE_DEVICE}="1"
4 changes: 4 additions & 0 deletions aaos_iasw/extra_files/docker/99-ignore-mouse.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ACTION=="add|change", KERNEL=="event[0-9]*", \
ENV{ID_VENDOR_ID}=="046d", \
ENV{ID_MODEL_ID}=="c52b", \
ENV{LIBINPUT_IGNORE_DEVICE}="1"
16 changes: 16 additions & 0 deletions aaos_iasw/extra_files/docker/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
root = "/data/vendor/docker/var/lib/containerd"
state = "/data/vendor/docker/run/containerd"
imports = ["/data/vendor/docker/etc/containerd/runtime_*.toml", "./debug.toml"]

[grpc]
address = "/data/vendor/docker/run/containerd/containerd.sock"

[debug]
address = "/data/vendor/docker/run/containerd/debug.sock"

[plugins]
[plugins.opt]
path = "/data/vendor/docker/opt"
[plugins.cri.cni]
bin_dir = "/data/vendor/docker/opt/cni/bin"
conf_dir = "/data/vendor/docker/etc/cni/net.d"
Binary file added aaos_iasw/extra_files/docker/containerd
Binary file not shown.
Binary file not shown.
12 changes: 12 additions & 0 deletions aaos_iasw/extra_files/docker/daemon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"data-root": "/data/vendor/docker/lib/docker",
"exec-root": "/data/vendor/docker/run/docker",
"pidfile": "/data/vendor/docker/run/docker.pid",
"hosts": [
"unix:///data/vendor/docker/run/docker.sock"
],
"storage-driver": "overlay2",
"insecure-registries": [
"localhost:5000"
]
}
Binary file added aaos_iasw/extra_files/docker/docker
Binary file not shown.
Binary file added aaos_iasw/extra_files/docker/docker_manager
Binary file not shown.
15 changes: 15 additions & 0 deletions aaos_iasw/extra_files/docker/dockerd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/system/bin/sh

opts='rw,nosuid,nodev,noexec,relatime'
cgroups='cpu cpuset devices memory'

for cg in ${cgroups}; do
if ! mountpoint -q "/sys/fs/cgroup/${cg}" 2>/dev/null; then
mkdir -p "/sys/fs/cgroup/${cg}"
mount -t cgroup -o "${opts},${cg}" "${cg}" "/sys/fs/cgroup/${cg}" \
|| rmdir "/sys/fs/cgroup/${cg}"
fi
done

dockerd-dev $@

Binary file added aaos_iasw/extra_files/docker/dockerd-dev
Binary file not shown.
Loading

0 comments on commit 7093ad5

Please sign in to comment.