From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 300C89029A; Mon, 10 Oct 2022 23:32:35 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 3CD6490158; Mon, 10 Oct 2022 23:32:24 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by atuin.qyliss.net (Postfix) with ESMTPS id 18AAA90075 for ; Mon, 10 Oct 2022 23:32:13 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 0BC325C01A9 for ; Mon, 10 Oct 2022 19:32:09 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Mon, 10 Oct 2022 19:32:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :content-transfer-encoding:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1665444729; x=1665531129; bh=+G XGAAhLxgkcWKYfQLT+tYcnFEMHS53Gy+xRV9alf4s=; b=dc347QXPfCx+pOpjlT eMwXQOxgz9FchLLyeqWkhdCPZwYu4DKR/AUV2w+VW1t8YTkT0EfMonRm31LMQSuN s5iQHWcKLhq8OsbfGSQpExDVVqvW4iHPEXNv7RrEuD7/MiLkpQUEFdp0fBWvFjy0 UeEyC7480a9v1tA0pSxkxsCxF9+beX/uUk8Ms5/uJ3eAXHCCBSDKhoW1WzLEiSBT 5/9v1JDPL78Zb4kqp6AXh2ZD7mT5ip64wKo85wk3LecVfR/4QHCo7KOurywZjpg1 1X2HdcP3WJlR6hOO9wuckHVCZ3pOdGY/KpVPsCFkpOIXGpAB5KhG1SX2fgx4p/bd xURw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1665444729; x=1665531129; bh=+GXGAAhLxgkcW KYfQLT+tYcnFEMHS53Gy+xRV9alf4s=; b=bST/vj4qtEppgA27A/lB9JoN5DTM/ 2VwFFpk0zSJiK3j8IXTZIHXF46BNXL4n6DQjr9ABgQejGjCXKXjSVQhbbKfe/igS IXPnMFj+DMhaBA5gFAI8mIr3oPCtJLOypFXO20bRfpEkqwStCeRhLFKtRPTigAnw oibNj+qh+sy/oqfhMyYZAdibFns1zuXbdekJeJSMlLYDOruOZRApcAYdqV8IHTcU zwkCfEVfI82k+wdtMT00I5udW7FmGDPrRySp2qQOFIwDgG2VrMOJLdmbk/CTQo+c 7D4x1tp6Kc5mWUqqxX/HG46+DQus+QkWPq/RLqdeYu4V2H7/rcDSmz2TA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeejhedgvddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgjfhgggfestdekre dtredttdenucfhrhhomheptehlhihsshgrucftohhsshcuoehhihesrghlhihsshgrrdhi sheqnecuggftrfgrthhtvghrnhepgfefudekvdelieelledufeevheeglefggedvudejvd dtffeuueevffehleejkedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomhepqhihlhhishhsseigvddvtddrqhihlhhishhsrdhnvght X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 10 Oct 2022 19:32:08 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id 20F08BB5; Mon, 10 Oct 2022 23:32:06 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH 05/22] vm-lib/make-vm.nix: support shared directories Date: Mon, 10 Oct 2022 23:28:45 +0000 Message-Id: <20221010232909.1953738-6-hi@alyssa.is> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221010232909.1953738-1-hi@alyssa.is> References: <20221010232909.1953738-1-hi@alyssa.is> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: O3DD4FT6WHZMUJXJ4NA5UMEQHKVZIPZX X-Message-ID-Hash: O3DD4FT6WHZMUJXJ4NA5UMEQHKVZIPZX X-MailFrom: qyliss@x220.qyliss.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.5 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Signed-off-by: Alyssa Ross --- vm-lib/make-vm.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/vm-lib/make-vm.nix b/vm-lib/make-vm.nix index 2c50ca5..61e0b2d 100644 --- a/vm-lib/make-vm.nix +++ b/vm-lib/make-vm.nix @@ -13,11 +13,12 @@ pkgs.pkgsStatic.callPackage ( { lib, runCommand, writeReferencesToFile, e2fsprogs, tar2ext4 }: -{ run, providers ? {} }: +{ run, providers ? {}, sharedDirs ? {} }: let inherit (lib) - any attrValues concatLists concatStrings hasInfix mapAttrsToList; + any attrValues concatLists concatStrings concatStringsSep hasInfix + mapAttrsToList; in assert !(any (hasInfix "\n") (concatLists (attrValues providers))); @@ -29,7 +30,7 @@ runCommand "spectrum-vm" { (mapAttrsToList (kind: map (vm: "${kind}/${vm}\n")) providers)); passAsFile = [ "providerDirs" ]; } '' - mkdir -p "$out"/{blk,providers} + mkdir -p "$out"/{blk,providers,shared-dirs} mkdir root cd root @@ -40,11 +41,22 @@ runCommand "spectrum-vm" { tar2ext4 -i ../run.tar -o "$out/blk/run.img" e2label "$out/blk/run.img" ext - pushd "$out/providers" + pushd "$out" + + pushd providers xargs -rd '\n' dirname -- < "$providerDirsPath" | xargs -rd '\n' mkdir -p -- xargs -rd '\n' touch -- < "$providerDirsPath" popd + pushd shared-dirs + ${concatStringsSep "\n" (mapAttrsToList (key: { path }: '' + mkdir ${lib.escapeShellArg key} + ln -s ${lib.escapeShellArgs [ path "${key}/dir" ]} + '') sharedDirs)} + popd + + popd + ln -s /usr/img/appvm/blk/root.img "$out/blk" ln -s /usr/img/appvm/vmlinux "$out" '' -- 2.37.1