9 Commits
Author SHA1 Message Date
Ahmed KaricandMattias Walström 8227f1bcde test: enable running infix tests from external projects
Minor adjustments have been made to enable calling infix tests from an
external project (i.e. 'make test' target).
This essentially allows running any external test (or a group of tests)
using the infix-9pm tool.
2024-08-30 12:26:39 +02:00
Tobias Waldekranz 81f05d1539 build: Allow relative relative output paths
Before this change, this invocation...

    make O=x-x64 x86_64_defconfig

...would use the output directory...

    /path/to/infix/buildroot/x-x64

...which is not the expected behavior. This would happen because
Buildroot will, naturally, expand relative paths based on _its_ top
directory.

Therefore, translate any relative paths to absolute ones based on
_Infix's_ top directory, before handing control over to Buildroot,
such that the expected...

    /path/to/infix/x-x64

...output directory is used.
2024-06-17 14:59:27 +02:00
Joachim Wiberg 14418725f4 Wrap Buildroot 'legal-info' build target to include Linux license
When building a Linux kernel that does not match the latest kernel known
by Buildroot, the license file is disabled and nothing is extracted.
For an introduction to this see Buildroot gaf33b1c.

To work around this in Infix we wrap the 'legal-info' build target to
set the license file variable and trigger the license extraction anyway.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-04-11 06:19:07 +02:00
Joachim Wiberg 5386ec9a3a test,doc,board: Infamy Made Easy
As of 4768cae6, we can use conserver/telnet to connect to the docker0
bridge IP:90XX, where XX is DUTXX.  This was a great UX improvement
and this patch set aims to further the experience by:

 - allow running Infamy (infix-test container) completely rootless¹
 - reduce the expsed port range 50->10 (can be improved further)
 - use 'podman --publish-all' ports, which allocates ten random
   ports for the exposed Qemu telnet ports
 - add Quick Start Guide to doc/testing.md

This restores the possiblity of running multiple "make test-sh"
instances, e.g., when multiple users share the same server.

The 'console' script included in this commit uses 'podman inspect' to
find the port number for a given DUT, and optional instance.  It takes
either the console/dut number (1-N), or the dut name from the topology.

Also in this commit:
 - set hostname for easy identification (for console script)
 - set conatainer --name to hostname
 - adjust workdir from buildroot to infix/test
 - simplify PS1 and add time to prompt (when did the test finish?)

When running 'make test-sh' the prompt now tells you which instance you
are running, e.g., infmay10.  Calling 'console 1 infamy10' connects to
console 1 (port 9001) on the infamy10 instance.

For more information, see the Quick Start Guide in doc/testing.md.  It
shows how to use the new helper scripts: console and shell.

Fix #227

_______
¹) devs using podman, instead of docker, with slirp4netns installed, can
   run the infix-test container completely rootless.  We like this, and
   as of today podman is our recommendation.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg 2caf729ee8 github: enable building local src in host mode for analysis
Install libyang and sysrepo from source, too old packages in ubuntu-latest.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-11-17 18:04:18 +01:00
Joachim Wiberg 005eb58958 src: add support for host build check, for Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-11-17 12:59:39 +01:00
Tobias Waldekranz 4232b22b76 qemu: Add virtualization support
The virtualized system is configured through kconfig under "External
Options"->"QEMU Virtualization".

To launch the system, simply run "make run". This works both from
output directories, and from the infix root with O= set.
2022-11-17 00:19:23 +01:00
Joachim Wiberg fb018ece43 Minor fixups, make buildroot/Makefile and order-only dep
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-16 08:23:10 +02:00
Joachim Wiberg a441f9a988 Create basic BR2_EXTERNAL, with a twist
Initial defconfig is based on Buildroot qemu_x86_64_defconfig, with a
Bootlin pre-built toolchain and a very basic qemu.sh script, generated
by a local post-image.sh, for `make run`.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-09 19:52:45 +02:00