From nobody Sun Mar 9 22:36:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1741310122; cv=none; d=zohomail.com; s=zohoarc; b=DwA7TxxvMEZ4kIM013ii+5AicfHGuPbGpqOuxHQH15rGXd/bkecsjj882pEffpo8sOKNVjTKSaszyzJgqfUTb6hlF+gRlvU9pLXwt94To3Si/bQ9MEiqTr/rNAcBB+yz2MCZFzNkrBDv4hUWLF8oDGn33tvL3VVbGqRBIk7jOp8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741310122; h=Content-Type:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=W6Svvag2cYuCaCVflqypPGZGFSV3IYVzxg6djmh5KVc=; b=FF3KK9P+wX0bkmCU4se3HOFiYtdU6hNTDma0Jf4cR9YzAPaPj8mcLVgFeKX9qFrP9fD0W+tZNBTDfWVW7/zPeU10wpt+k7C42h46X89bipzFMmZLxffIE1PWyhvI6xypilkPXW5QLo85Tvo30F/snstWsrY9JD6N/SO6qlL0YkI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1741310122178533.4212146271132; Thu, 6 Mar 2025 17:15:22 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.904476.1312355 (Exim 4.92) (envelope-from ) id 1tqMIP-0003hi-ML; Fri, 07 Mar 2025 01:14:37 +0000 Received: by outflank-mailman (output) from mailman id 904476.1312355; Fri, 07 Mar 2025 01:14:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tqMIP-0003hb-IC; Fri, 07 Mar 2025 01:14:37 +0000 Received: by outflank-mailman (input) for mailman id 904476; Fri, 07 Mar 2025 01:14:37 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1tqMIP-0003hV-5D for xen-devel@lists.xenproject.org; Fri, 07 Mar 2025 01:14:37 +0000 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 85d5a64c-faf1-11ef-9898-31a8f345e629; Fri, 07 Mar 2025 02:14:31 +0100 (CET) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 181A0A45311; Fri, 7 Mar 2025 01:09:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD111C4CEE0; Fri, 7 Mar 2025 01:14:29 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 85d5a64c-faf1-11ef-9898-31a8f345e629 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741310070; bh=wz3Two21NYziQjSHAjug+noyuWLf6PHgwrIQshSghL4=; h=Date:From:To:cc:Subject:From; b=Pj6iDh1I8dnyaDJuASUe+xKgR0NL0V8Aj9XaxFnPjGa83WLSYqMKyngnE4GYOxiLB xExGJbaQ5fZzjmso69JnyurOIbg+82c325nz7UipqKa8sIRQAQn17oIIlTkU2QZNOK rOnRfuM57JPhQ1BfMerYjgPpRMiwWj4jLC1C7RqD6+Gkp4YtLBhvKi3kPDvJos5GSo ImkspoZXn7HQPGlqzIaeeOvQY7vM8+QyDOWTDDYKHihlASGmajl9OAW6YcDTaoUSf2 Zffs+8gIDtMApCAuKM2KEFBdg9X1K/vnOzJ0JQesXswPc0Re7Nxhx5LYUatAFz/mrz QfgnVB3ya2r+w== Date: Thu, 6 Mar 2025 17:14:28 -0800 (PST) From: Stefano Stabellini X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop To: xen-devel@lists.xenproject.org cc: sstabellini@kernel.org, VictorM.Lira@amd.com, marmarek@invisiblethingslab.com Subject: [PATCH v2] docs: hardware runners setup Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-677741637-1741310070=:2600338" X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1741310125164019000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-677741637-1741310070=:2600338 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Document how to setup a new hardware runner Signed-off-by: Victor Lira Signed-off-by: Stefano Stabellini Reviewed-by: Marek Marczykowski-G=C3=B3recki --- v2: add external references and more examples diff --git a/docs/misc/ci.rst b/docs/misc/ci.rst index 7aee55c5d2..8d9ebfb39d 100644 --- a/docs/misc/ci.rst +++ b/docs/misc/ci.rst @@ -19,6 +19,55 @@ After getting access to relevant runners, few extra chan= ges are necessary in set 2. Expand "Variables" section and add ``QUBES_JOBS=3Dtrue`` variable for Q= ubes runners. 3. Go to Settings -> Repository, expand "Branch rules" section and add a r= ule for protected branches - only those branches will get tests on the hard= ware runners. It's okay to use a pattern for branch name, and it's okay to = allow force push. =20 +How to Set Up a New Hardware Runner +*********************************** + +A hardware runner is a GitLab runner designed to execute Xen tests on real= hardware, such as an embedded board or a laptop. The GitLab runner runs on= a controller PC, which is connected to the target board used for Xen testi= ng. The controller PC can be any system, from a workstation to a Raspberry = Pi. + +Steps to Set Up the Controller PC: + +1. Install the Docker service + - Follow the instructions at: [Docker Installation Guide](https://docs.= docker.com/engine/install/ubuntu/#install-using-the-repository) + +2. Install the GitLab Runner service + - Follow the instructions at: [GitLab Runner Installation Guide](https:= //docs.gitlab.com/runner/install/linux-repository/#install-gitlab-runner) + +3. Register the runner with GitLab + - Generate a runner token with a specific tag to identify it. + - Run `gitlab-runner register` and enter the token. Accepting the defau= lt settings is sufficient. + +These steps are common for setting up any GitLab runner. However, for hard= ware runners, additional configurations are required to enable the controll= er PC to: + +- Power on and off the target board. +- Connect to the serial interface of the target board. +- Establish an Ethernet connection with the target board. +- Run a TFTP server with a TFTP root directory accessible by GitLab contai= ner tests. + - This allows the test script to place binaries, such as Xen, in the TFT= P root before powering on the target board. + +To enable the required capabilities, edit the GitLab Runner configuration = file located at `/etc/gitlab-runner/config.toml`: + +- Map the TFTP boot directory. +- Map the serial device of the target board. + +Example Configuration: + + volumes =3D ["/scratch/gitlab-runner:/scratch/gitlab-runner"] + devices =3D ["/dev/ttyUSB0:/dev/ttyUSB0"] + +After making these changes, restart the GitLab Runner service: + + gitlab-runner restart + +This completes the setup of the hardware runner. The system is now ready f= or executing Xen tests on real hardware. As an example, to execute tests on= an AMD x86 embedded board, we currently use the following script: + + automation/scripts/xilinx-smoke-dom0-x86_64.sh + +Other examples are available under automation/scripts, such as +automation/scripts/qubes-x86-64.sh, and at external locations: +``_, +``_. + + Selecting individual tests ************************** =20 --8323329-677741637-1741310070=:2600338--