The support for
GRUB_CMDLINE_LINUX_ACRN_REPLACE_DEFAULT
GRUB_CMDLINE_LINUX_ACRN_REPLACE
to override kernel parameter settings when booting ACRN Service VM has been
discontinued in favor of setting the kernel parameters in the scenario
configuration properly.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Read kernel boot parameters for ACRN Service VM from respective ACRN scenario
and add them to the kernel commanline in generated grub configuration.
The only exception is removing the root=XXX kernel parameter as given
in the scenario configuration, since grub helper scripts on Debian/Ubuntu
systems detect the root partition automatically.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Since we have to adapt various data, e.g. bootparams, at install time,
preserve the respective XML configuration to get the required data from there.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Just add an example for ApolloLake base board.
The share+initrd scenario enables ramdisk_mod attribute as needed for
grub-acrn package to work an be able to install e.f. on a standard Debian
system.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
This has been added for test purposes and as an example for how to add a
configuration outside the config_tools/data section.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Provide local APR repository as part of the result in the distribution's
build result folder and prepare this folder as a local APT repository for
easy install on a target system.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
To ease building ACRN with all its requirements, provide a distribution aware,
self-contained docker build environment to build regular Debian packages.
For Debian Buster(10) and Ubuntu Focal Fossa(20.04 LTS) some build tools are
grabbed from their respective backports repositories. This provides a much
easier alignment with the more resent distributions.
There are three packages to be re-packaged to accommodate the build needs as
well as the runtime needs of the ACRN packages:
* python3-elementpath_2.4.0-1
* python3-xmlschema_1.9.2-1
* acpica-tools_20200925-1
These packages are built during docker image build time and provided within
a local APT repository for installation at build time, i.e. when running the
respective docker container.
The multistage Dockerfile separates the required pre-build stages and reduces
the resulting image footprint of the final docker image. There are separate
docker images for each distribution.
To summarize the build steps the script acrn-docker-build.sh is provided. To
control the vendor and the distribution for the build, just set the
environment variables VENDOR and DISTRO before calling the script from the
top directory of the ACRN hypervisor workspace, e.g.:
VENDOR=debian DISTRO=bullseye debian/docker/acrn-docker-build.sh
or
VENDOR=ubuntu DISTRO=focal debian/docker/acrn-docker-build.sh
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
As required for config tools python3-xmlschema_1.9.2-1 and
python3-elementpath_2.4.0-1 must be used.
This might break the requirements for other packages on distributions
providing and depending on more recent versions of these packages.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Add support to generate Debian packages.
For details see debian/README.
debian/changelog is manually intialized, ready to be updated by gbp dch
command.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Use needed constants from libderm instead of directly using
kernel UAPI.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Since any uuid relevant action directly uses Linux kernel UAPI
(linux/uuid.h) the use of libuuid is not required.
Tracked-On: #6688
Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
After commit f8f1689a8 ("config_tools: do not apply distinct-values on a
union of node-set"), it has been confirmed that the reported build issue no
longer exists when using the latest elementpath (2.5.0) and
xmlschema (1.10.0). So this patch removes the version constraints in
requirements.txt.
Tracked-On: #7372
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Step 2 should be available after board is imported/created, and step
3 should follow step 2.
Tracked-On: #7435
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
If the user select "Kernel based (Virtual Host)" in virtio_framework
entry, the "vhost" string will be added to the dm parameter.
The generated launch script will look like below:
"virtio-net tap=WaaG,vhost,mac_seed=${mac:0:17}-POST_STD_VM1"
Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Currently, the “backend_device_file” entry is a text combination of the
elements `//device-classes/inputs/input/name` and `//device-classes/inputs/input/phys`.
The format <name>:<phys> is shown in UI and the generated launch scripts.
However, we find ":" in some device physical path in adl-s-crb platform,
this will result in script can't correctly distinguish <name> and <phys> by a colon.
And we are not sure if colon will be found in the name variable in the future.
So this patch updates the text format of backend_device_file to
"Device name: xxx, Device physical path: xxx"
And the new text format will be shown in the UI and the generated launch script.
Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
1. add Vue devtools support
2. update project dependencies
3. refactor configurator source code tree for private library hook
4. fix build issue
5. dynamic load scenario JSON schema(fix cache issue)
6. add vjsf 1.12.2 (latest) for private package dependencies
7. remove vjsf unnecessary files
8. use private vjsf as configurator dependencies
9. Add custom IVSHMEM_REGION widget
10. add a script to populate default values
11. get default values before export scenario xml
12. specify widgets in XML schema
13. add missing vjsf license file
14. populate default values to empty nodes
15. when user clicks save button, update formData with each field default value
16. fix when the user clicks the save button will collapse configFom
17. add success message for saving scenario XML
vue-json-schema-form 1.12.2 (latest)link: b30ea7c2d6/packages/lib
Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
Support detecting connected usb devices in board_inspector and list them
in the usb mediator configuration menu.
Tracked-On: #7424
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
During conversion from xml to scenario.json, elements with "maxOccurs"
property is processed as json array, and (most) properties of that elements
goes to the json array. However the "enum" property should belong to the
array item, not the array itself.
Tracked-On: #7421
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Currently dynamicEnum hook returns all available options (enums) as a
list of strings. However in some cases strings need to be converted to
target types.
One example is CPU affinity. The dynamicEnum should produce a list of
all available pCPUIDs (a list of integers), instead of a list of
strings.
This patch adds a converter in get_enum to do the type conversion.
Tracked-On: #7420
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Previously if user creates a shared scenario and adds a pre-launched VM,
the pre-launched VM will be assigned a VMID that's greater than service
VM, which will be blocked by scenario validation.
This patch re-assigns the VMID before saving as scenario XMLs based on
their load order. The UI-only VM name will have no impact on VMID that's
actually written to scenario XML.
Tracked-On: #7419
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Open folder callback should append a path split after selecting working
folder, same way as it did with default one.
Tracked-On: #7418
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
1.Temporarily store the log in the form of tempfile,
and the temporary file will be deleted after the summary log information is displayed.
2.Now, the logs will be printed when they generated as well.
Tracked-On: #6689
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
update the hugepages algorithm as the following steps.
1. calculate the total hugepages of service vm using the formula.
"total memory - the memory consumed by pre-launched VMs - 3G
-1G(memory need by service vm supporting virtio gpu)
-300M*num(number of virtio gpu instance)"
2. calculate hugepage 2M/1G based post-launched vm memory setting.
3. correct the 2M/1G hugepages with the total hugepages in step 1.
"correct_mb, correct_gb= math.modf(total hugepages - the memory
consumed by Post_launched vm)
hugepages_1gb = hugepages_1gb + correct_gb
hugepages_2mb = hugepages_2mb + math.ceil(correct_mb*1024/2)"
Tracked-On: #7301
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
EDID uses the bytes of 38-53 to support up to 8 standard modes. And it is
based on the mechanism: Byte 0 defines the xres / 8 - 31 and byte 1 defines
the aspect_ratio/refresh_rate.
But now it uses the incorrect logic in course of adding standard mode, which
causes that no standard mode is added in EDID block.
Fix it and add another two standard modes so that the guest_vm can parse
more modes from EDID.
Tracked-On: #7376
Acked-by: Wang Yu <yu1.wang@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
The EDID uses the bytes of 54-125 to define the four detailed_timing_blocks.
But the static offset is used to update the DTB. This will cause that
the incorrect offset is used for DTB if the edid_generate is called several
times.
Tracked-On: #7376
Acked-by: Wang Yu <yu1.wang@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Update board.xml file according to board inspector modification
for removing nowait parameter in cmdline by commit: 4b81a2d89
Tracked-On: #7371
Signed-off-by: zhongzhenx.liu <zhongzhenx.liu@intel.com>
After replacing partitioned ACRN deb with shared deb, the stale
multiboot module for ACPI1.bin was left in ACRN grub entry because it
was taken as kernel image.
Tracked-On: #7400
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>