[PATCH] config_tools: fix the issue for debuild on tgl-rvp with hybrid scenario


Zheng, Shuang
 

The debian build rule for calculating method for post launch vm ids is
changed from reading //vm/@id in scenario xmls directly to reading
//vm/@id in scenario xml and then plus vm id for service vm.

Tracked-On: #8245

Signed-off-by: szhen11 <shuang.zheng@...>
---
debian/rules | 3 +++
1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 3c04efeb7..40ccea039 100755
--- a/debian/rules
+++ b/debian/rules
@@ -245,10 +245,13 @@ override_dh_auto_install-arch:
chmod 644 $(DESTDIR)$(libdir)/acrn/$b/$s/acpi/*; \
fi; \
cp $(call sfile,$b,$s) $(DESTDIR)$(libdir)/acrn/$b/$s/scenario.xml; \
+ servicevmid=$$(xmllint --xpath '//vm[load_order="SERVICE_VM"]/@id' $(call sfile,$b,$s) 2>/dev/null || true); \
+ servicevmid=$$(echo "$${servicevmid}" | sed -e 's/[[:space:]]*id="\(.*\)"/\1/g'); \
vmids=$$(xmllint --xpath '//vm[load_order="POST_LAUNCHED_VM"]/@id' $(call sfile,$b,$s) 2>/dev/null || true); \
for vmid in $${vmids}; do \
mkdir -p $(DESTDIR)$(datadir)/acrn/launch-scripts/$b/$s/; \
id=$$(echo "$${vmid}" | sed -e 's/[[:space:]]*id="\(.*\)"/\1/g'); \
+ id=$$(($${id} - $${servicevmid})); \
$(call echo-silent,CREATE $(datadir)/acrn/launch-scripts/$b/$s/launch_user_vm_id$${id}.sh); \
misc/config_tools/launch_config/launch_cfg_gen.py \
--board $(call bfile,$b) --scenario $(call sfile,$b,$s) \
--
2.25.1


Junjie Mao
 

-----Original Message-----
From: Zheng, Shuang <shuang.zheng@...>
Sent: Thursday, October 20, 2022 3:46 PM
To: acrn-dev@...
Cc: Mao, Junjie <junjie.mao@...>; Buchsbaum, Helmut <helmut.buchsbaum@tttech-
industrial.com>; Zheng, Shuang <shuang.zheng@...>
Subject: [PATCH] config_tools: fix the issue for debuild on tgl-rvp with hybrid scenario

The debian build rule for calculating method for post launch vm ids is
changed from reading //vm/@id in scenario xmls directly to reading
//vm/@id in scenario xml and then plus vm id for service vm.
Since the objective here is to generate the launch scripts for all VMs, how about invoking the launch_cfg_gen.py script just once without VM ID? That will do exactly the same thing.

---
Best Regards
Junjie Mao


Tracked-On: #8245

Signed-off-by: szhen11 <shuang.zheng@...>
---
debian/rules | 3 +++
1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 3c04efeb7..40ccea039 100755
--- a/debian/rules
+++ b/debian/rules
@@ -245,10 +245,13 @@ override_dh_auto_install-arch:
chmod 644 $(DESTDIR)$(libdir)/acrn/$b/$s/acpi/*; \
fi; \
cp $(call sfile,$b,$s) $(DESTDIR)$(libdir)/acrn/$b/$s/scenario.xml; \
+ servicevmid=$$(xmllint --xpath '//vm[load_order="SERVICE_VM"]/@id' $(call
sfile,$b,$s) 2>/dev/null || true); \
+ servicevmid=$$(echo "$${servicevmid}" | sed -e 's/[[:space:]]*id="\(.*\)"/\1/g');
\
vmids=$$(xmllint --xpath '//vm[load_order="POST_LAUNCHED_VM"]/@id' $(call
sfile,$b,$s) 2>/dev/null || true); \
for vmid in $${vmids}; do \
mkdir -p $(DESTDIR)$(datadir)/acrn/launch-scripts/$b/$s/; \
id=$$(echo "$${vmid}" | sed -e 's/[[:space:]]*id="\(.*\)"/\1/g'); \
+ id=$$(($${id} - $${servicevmid})); \
$(call echo-silent,CREATE $(datadir)/acrn/launch-
scripts/$b/$s/launch_user_vm_id$${id}.sh); \
misc/config_tools/launch_config/launch_cfg_gen.py \
--board $(call bfile,$b) --scenario $(call sfile,$b,$s) \
--
2.25.1