summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--agl_services_build/yocto-layer/meta-google/classes/google-image-overlay.bbclass40
-rw-r--r--agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image.bbappend8
-rw-r--r--agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/dumpstate_grpc_server.service (renamed from hal/dumpstate/1.1/agl_build/scripts/dumpstate_grpc_server.service)2
l---------agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/dumpstate_grpc_server.service1
l---------agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/vehicle_hal_grpc_server.service1
-rw-r--r--agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/vehicle_hal_grpc_server.service (renamed from hal/vehicle/2.0/agl_build/scripts/vehicle_hal_grpc_server.service)2
6 files changed, 52 insertions, 2 deletions
diff --git a/agl_services_build/yocto-layer/meta-google/classes/google-image-overlay.bbclass b/agl_services_build/yocto-layer/meta-google/classes/google-image-overlay.bbclass
new file mode 100644
index 0000000..e0611ae
--- /dev/null
+++ b/agl_services_build/yocto-layer/meta-google/classes/google-image-overlay.bbclass
@@ -0,0 +1,40 @@
+# When inherited by an image recipe, this class provide simple way to
+# put configuration files into rootfs.
+
+ROOTFS_POSTPROCESS_COMMAND_append = "install_google_overlay ; "
+
+python install_google_overlay() {
+ """Fetch and install overlays into rootfs
+
+ Fetch overlays from GOOGLE_OVERLAY_SRC_URI and copy the files
+ inside the folders listed in GOOGLE_OVERLAY_ROOT_DIRS to rootfs.
+
+ GOOGLE_OVERLAY_ROOT_DIRS contains only names of folders, no path.
+
+ GOOGLE_OVERLAY_SRC_URI must be used to get dirs in GOOGLE_OVERLAY_ROOT_DIRS
+ imported to the workdir, it's the same as SRC_URI, so it's
+ possible to use distant repository, tarballs, etc.
+ """
+ workdir = d.getVar('WORKDIR', True)
+ rootfs = d.getVar('IMAGE_ROOTFS', True)
+ srcs = (d.getVar("GOOGLE_OVERLAY_SRC_URI", True) or "").split()
+ overlay_root_dirs = (d.getVar('GOOGLE_OVERLAY_ROOT_DIRS', True) or '').split()
+
+ fetcher = bb.fetch2.Fetch(srcs, d)
+ fetcher.download()
+ fetcher.unpack(workdir)
+
+ for i in range(len(overlay_root_dirs)):
+ fullpath = os.path.join(workdir, overlay_root_dirs[i])
+
+ if not os.path.isdir(fullpath):
+ bb.fatal(fullpath +
+ " : directory not found, please check your"\
+ " GOOGLE_OVERLAY_ROOT_DIRS and GOOGLE_OVERLAY_SRC_URI variables.")
+ break
+ os.system("cp -dr " + os.path.join(fullpath, "*") + " " + rootfs)
+}
+
+do_rootfs[vardeps] += "GOOGLE_OVERLAY_ROOT_DIRS GOOGLE_OVERLAY_SRC_URI"
+
+# Copied from https://patchwork.openembedded.org/patch/138100/
diff --git a/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image.bbappend b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image.bbappend
index 5913c45..4fd6ac9 100644
--- a/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image.bbappend
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image.bbappend
@@ -1 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+GOOGLE_OVERLAY_SRC_URI = "file://google-overlay"
+
+GOOGLE_OVERLAY_ROOT_DIRS = "google-overlay"
+
IMAGE_INSTALL += "packagegroup-google-agl"
+
+inherit google-image-overlay
diff --git a/hal/dumpstate/1.1/agl_build/scripts/dumpstate_grpc_server.service b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/dumpstate_grpc_server.service
index f709125..72289fb 100644
--- a/hal/dumpstate/1.1/agl_build/scripts/dumpstate_grpc_server.service
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/dumpstate_grpc_server.service
@@ -5,7 +5,7 @@ Wants=coqos-virtio-vsock.service
After=coqos-virtio-vsock.service
[Service]
-ExecStart=/bin/dumpstate_grpc_server -server_addr vsock:2:9310
+ExecStart=/usr/bin/dumpstate_grpc_server -server_addr vsock:2:9310
Restart=always
[Install]
diff --git a/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/dumpstate_grpc_server.service b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/dumpstate_grpc_server.service
new file mode 120000
index 0000000..e2a37ae
--- /dev/null
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/dumpstate_grpc_server.service
@@ -0,0 +1 @@
+/etc/systemd/system/dumpstate_grpc_server.service \ No newline at end of file
diff --git a/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/vehicle_hal_grpc_server.service b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/vehicle_hal_grpc_server.service
new file mode 120000
index 0000000..533ed97
--- /dev/null
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/multi-user.target.wants/vehicle_hal_grpc_server.service
@@ -0,0 +1 @@
+/etc/systemd/system/vehicle_hal_grpc_server.service \ No newline at end of file
diff --git a/hal/vehicle/2.0/agl_build/scripts/vehicle_hal_grpc_server.service b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/vehicle_hal_grpc_server.service
index ff8c602..64d950f 100644
--- a/hal/vehicle/2.0/agl_build/scripts/vehicle_hal_grpc_server.service
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/images/machine-image/sa8155/google-overlay/etc/systemd/system/vehicle_hal_grpc_server.service
@@ -5,7 +5,7 @@ Wants=coqos-virtio-vsock.service
After=coqos-virtio-vsock.service
[Service]
-ExecStart=/bin/vehicle_hal_grpc_server -server_cid 2 -server_port 9210 -power_state_file /tmp/power_state_marker -power_state_socket /tmp/power_state_socket
+ExecStart=/usr/bin/vehicle_hal_grpc_server -server_cid 2 -server_port 9210 -power_state_file /tmp/power_state_marker -power_state_socket /tmp/power_state_socket
Restart=always
[Install]