From nobody Mon Sep 23 05:24:45 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XBrz23PXgz5X5dw for ; Mon, 23 Sep 2024 05:24:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XBrz20StCz4pjh; Mon, 23 Sep 2024 05:24:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727069086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTp3xDkOVkPJA8Y4NiaxE4aim/879K1BNjfTnep4AWI=; b=x2vYT8+40tIeMh1gzfuNgc5zKv16qwROhTmkQPVQiX8gCfHpGQyyWLPYGC8pLD1nsV7ebz fMCrEwiv8n24D5GCSWcKCB1YzgkOQcwQ/kdSnmxVLaH5veYEPc/RU8XlU7HD+UNf2J9jvV WL9v+GQ96btTEiVMYAgWerfIf07PgZF9GC5wXsZFSvFa5f+++y1/vbLIrgMmpswk2NYUDw ctd5WdiW0YYnJzp8t/eqkx+dgZ988JwMhuvLLMoFP23kZfUYAd8fDGmnGI2I5BHS1wW+oY 1g57rXBFnTVoSJ38hCjxsoef78f4jELtQPwu2cYyv/8DsK713mkRK/Hr3n80Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727069086; a=rsa-sha256; cv=none; b=HUTcmrtN31aQBAjyt2KwpKRKzR4N+fBGxEZ6qaN1knxdl2NBTeOCTexSDjf1GYi6aAEMP8 aBy6+5qXiKY+1N6IxVqMWBsq0IwvGNDz+M4uCMEWssiwJIj36Xhj/HW3aJPRx3IokaY3y/ Kl3JlQAhVDNTKMLrzznuciwazSU2N5V5CvWnwp4s71/Dmo14DOLGZnhM+7v63GL+M7RiGE Ge/ywHpRFPytkDKf2w7JocQZGHwCy/gEdTpbWAOYNEEvDEeBcGDHXK0sawS4+c/rP80igH VY8j/a7tpyiDtdwWVuxonpVyZXpU6UwZ1E9ayqKkZ/3pi89FMrl5CqJ9tzKNFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727069086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rTp3xDkOVkPJA8Y4NiaxE4aim/879K1BNjfTnep4AWI=; b=dqTFKJLQk/uqrutj+r5knh2FYdYOHcR2qYLf5g332ZIHJdI9ZPo8dsR8PaXmXXZ7va/qKF qAmcvoSqTYPQ+Y71PwUnkJjGXfv4UczxjQaK87xnZ+2KMW+2dBFUppZy/wpc+UT+N3IGkZ aesC/REEY8+qh0RB6RM4svjerp3idv902VZFzeHuYcTZA+gKVIs3I0zG/TNqsE/roXKWRn kaK1Qjs4APzlN4HYrDiyy8Z7Vsy2vEQc6uK4AIjqa5oYIJFOScEIYyP/NE/CAqyfRzTvYL YQpvT3MugBF+BrazyBt4tDSFgheA8/gt54VL/JQCWqgmCqhW1YiOFd2akbLo4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XBrz12f42zXlb; Mon, 23 Sep 2024 05:24:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48N5OjJA025771; Mon, 23 Sep 2024 05:24:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48N5OjeI025768; Mon, 23 Sep 2024 05:24:45 GMT (envelope-from git) Date: Mon, 23 Sep 2024 05:24:45 GMT Message-Id: <202409230524.48N5OjeI025768@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: b19f1b1894 - main - macros: Unbreak build List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b19f1b1894932071da107f210d1cbc6539d20175 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=b19f1b1894932071da107f210d1cbc6539d20175 commit b19f1b1894932071da107f210d1cbc6539d20175 Author: Fernando Apesteguía AuthorDate: 2024-09-23 05:23:37 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-23 05:23:37 +0000 macros: Unbreak build Use a warning instead of an error for now. --- shared/lib/InterDocumentReferencesMacro/extension.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/lib/InterDocumentReferencesMacro/extension.rb b/shared/lib/InterDocumentReferencesMacro/extension.rb index da18d39935..e05cfe0a6f 100644 --- a/shared/lib/InterDocumentReferencesMacro/extension.rb +++ b/shared/lib/InterDocumentReferencesMacro/extension.rb @@ -13,7 +13,7 @@ class InterDocumentReferencesMacro < Asciidoctor::Extensions::InlineMacroProcess text = attrs[2] if text.nil? || text.empty? - raise StandardError, "Crossref needs a description." + warn "Crossref needs a description." end doc = parent.document From nobody Mon Sep 23 15:52:56 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XC6vr3c7mz5W8p3 for ; Mon, 23 Sep 2024 15:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XC6vr35hDz4JsV; Mon, 23 Sep 2024 15:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727106776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xvxsk3HBavwaNkoggb/Us5+tGF1ufz6PM5x6ERM3BIc=; b=H2kcB4+yLZcJTudW6sdFE+kdW995ht34bo+Vm/q1DTYOIGZkfdYIciYLAcqxofjUE+Ia0f 3/skTjmrfKzBOUiQaAhjFJw/GK4jIB/7t2pu1Rs1/fgZYiPEgocIdrTwsA0kqtvJeyj8KQ 5sbUH1KL2QDFDjY81pSaVW3zEELg6jrJbcr7UiPwnGq3I89kY85C5Ixq8mc3DsU/kV500r XlLo4n3LTHQQDY3J14Eyxsbfe0WqVzRWuzGlDOzW0qYhMkGpbvpS8xGUsh03lizRpomETC qK2wi8FVnbRQ5uBzf900+RyKAmieDezfJGE70JJv7L82se/NLoxPiit12UX9qQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727106776; a=rsa-sha256; cv=none; b=Xjzmz4fk18DUmDiumDYaECYXdfhT++vQpNK/z4vc3KN9xdcAgFOi8Rpvr70O15u4Otj45M iHSq/FFDcQ6uCXQjhRgNeKH0oKi4K9m7s0srJDVwFlbgnkP8elc38ZmI86ELXLEvhrVEjD uFK4wLR6HNT5t3O1DVdyGAlSVKPLub88+WisYw6TtBKYA/ASUMyNWQraPjBGVJXBfRokVv XzPWyQC55IAy5x8u3HqCsm68pKyFINNmubwniu63oLDAdsMw7/R19tCiAvKGk8VM9oUfUZ lyi4waMpmNHpY+e1eMWtiADl9TluB57+vE+i7A3I4mG/ioKqPSw2A3TAzIu11w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727106776; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xvxsk3HBavwaNkoggb/Us5+tGF1ufz6PM5x6ERM3BIc=; b=t6YOR1ei05Klxgm8i4V9wiXlD/XZ54Tp0h+Pqqi5LKvFBPBQQWwuGi/fz1teBGmi9bjzxp utCaXfI+qbrkKiU5gWWKka6yLjHztfsT00xCg0OLN+Aa9b01TT9B6xPDBfdPjFMdghYQyt mkWaOdWnyDzuMxTm4XDfjt/v5xGnfNr8cpOpu7Qhh0HvtczcU5rcn6nXKM5ewqBqU1BLea 8i/UTK8/Hmg1PLUsoJM287xZFqPNy4QLKm1SGAqmFkCTa6Ye7pzm2dsYOcgZwBaXPJwH9d lvrSa8KT//249oT4oTUrXLY1bgALAyuS7LMQ/RsrYcLx47hfaoMpVnoJvcBclQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XC6vr2cgzzrTQ; Mon, 23 Sep 2024 15:52:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48NFqunE096009; Mon, 23 Sep 2024 15:52:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48NFqu9N096006; Mon, 23 Sep 2024 15:52:56 GMT (envelope-from git) Date: Mon, 23 Sep 2024 15:52:56 GMT Message-Id: <202409231552.48NFqu9N096006@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: 172312e266 - main - [administration]: add fernape@, tz@ to ports-secteam@ List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 172312e2666a3691bcd4ca2f096c251b4000a38a Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=172312e2666a3691bcd4ca2f096c251b4000a38a commit 172312e2666a3691bcd4ca2f096c251b4000a38a Author: Fernando Apesteguía AuthorDate: 2024-09-23 15:42:31 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-23 15:52:24 +0000 [administration]: add fernape@, tz@ to ports-secteam@ Discussed with ports-secteam@ in mail list. --- website/content/en/administration.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/content/en/administration.adoc b/website/content/en/administration.adoc index ad600bf1ff..71e9c44f5b 100644 --- a/website/content/en/administration.adoc +++ b/website/content/en/administration.adoc @@ -100,9 +100,11 @@ The https://www.freebsd.org/portmgr/charter/[portmgr team charter] describes the The primary responsibility of the FreeBSD Port Security Team is to provide rapid response to security incidents that affects the FreeBSD ports collection and protect the FreeBSD user community by keeping the community informed of bugs, exploits, popular attacks, and other risks. More details are available on the https://wiki.freebsd.org/PortsSecteam[Wiki page]. +* {fernape} * {fluffy} * {joneum} * {riggs} +* {tz} ''' From nobody Mon Sep 23 16:12:00 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XC7Kr2S2fz5WB0K for ; Mon, 23 Sep 2024 16:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XC7Kr20MYz4KWq; Mon, 23 Sep 2024 16:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727107920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vq5bQmkzEPW8E9UOZ1nlM6SySaWw3Eb1iNP62Ci7CyU=; b=ZsklYfO8ws9fnLtEfgP80xCXt9BCHTRxYiwG77/2euDp86ZCS6mezbz9FWbZniznciKhhj ddNkBEbr4CnwMmQlG1dl/Y6zr80veErAZvrWbl4nLB4klGfppWbukhK5jPdoSPN5phslo0 CWNdcFdvBxv3AaePNd9J92KyfFtmYflfq8SkbvORMIR9UrM2qLYFSS/lLSsf58emGaTdw5 BJkZGg3tizwCOclQbfJY5I5EnVEIDiZ8aQIYkvmN/tOAUkdBxgqvSkrHyN7SGmPAulLrj3 kAaiHZlBMstpAcBW1B0CjEyJXY5HcQBygIa+DM+q/F/EHYSln1ssAhQN317HBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727107920; a=rsa-sha256; cv=none; b=QX0EX2mwukSuU6RzhxYo9w99m9KZsUw6BGNmaWCVbrZzSmWkujU+064U9F/jImIOJFDS1T c+TxNXjYc44UKIdcuQbG+UkAGn/e25Eyu/m+hIPZskwaQwbe7wjOoG0766ld8XTVxqs0zg SAHGMHlAx7u2d9YF1RNtN83vGA8ohHEKNycc59mWrJzCmM3DuZEu4dkM17gXb+Xp/zQfUF KU7j6DtS0Kw2DAs4uJciJTV26fcbpJs9TeLGkpGmoPMTsr4uhcZeMixDrBbdXY/FzsrqwU dBwHqEs/gaYJSY8dk5mDxBSYu7EUJFSdYi8eb2I6VsNxpAHZsaCZPT5G1PaGeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727107920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vq5bQmkzEPW8E9UOZ1nlM6SySaWw3Eb1iNP62Ci7CyU=; b=vm+WmxpJvaoISQK7vI6fwQzrLL7WQALRIoblmwJiOaUqctuHYv/wF+ccwAiCmK/jA2lM5R +tdzUAqtrBmjz8PA7fcs8bFqJdi7UmsrUVwDxcSae1wz4P8odzMCpEnsSoPLXwspXnnHp+ aPn12v9lrh77qJKq9h5DKeUAFT57e+UOTft+nRhwwovk7Smy1cAs6YhH1xhmEzReZ+UXaN jOFJOPLCuZPvX7I6kHAIFE6Jlz3CD1+bEQ+x8zZsA7yFJyaEEQ+q0j4kixdRwxLRly9ufx cRc3QD1wi02CFqvrhMwpcpIEwKI64nzfJFUtS0DPx32rvoBf8yMFF3ms4oGN1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XC7Kr1bznzrwW; Mon, 23 Sep 2024 16:12:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48NGC0Cq028460; Mon, 23 Sep 2024 16:12:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48NGC0aL028444; Mon, 23 Sep 2024 16:12:00 GMT (envelope-from git) Date: Mon, 23 Sep 2024 16:12:00 GMT Message-Id: <202409231612.48NGC0aL028444@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: af92816e18 - main - [macros]: Report faulting anchor in warning List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af92816e18893fd4d6caa44a39ac63a1f2f9a5e5 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=af92816e18893fd4d6caa44a39ac63a1f2f9a5e5 commit af92816e18893fd4d6caa44a39ac63a1f2f9a5e5 Author: Fernando Apesteguía AuthorDate: 2024-09-23 12:27:57 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-23 16:11:45 +0000 [macros]: Report faulting anchor in warning --- shared/lib/InterDocumentReferencesMacro/extension.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/lib/InterDocumentReferencesMacro/extension.rb b/shared/lib/InterDocumentReferencesMacro/extension.rb index e05cfe0a6f..7d74ede1bb 100644 --- a/shared/lib/InterDocumentReferencesMacro/extension.rb +++ b/shared/lib/InterDocumentReferencesMacro/extension.rb @@ -13,7 +13,7 @@ class InterDocumentReferencesMacro < Asciidoctor::Extensions::InlineMacroProcess text = attrs[2] if text.nil? || text.empty? - warn "Crossref needs a description." + warn "Crossref '#{anchor}' needs a description." end doc = parent.document From nobody Mon Sep 23 16:12:46 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XC7Lk4tpRz5W9kN for ; Mon, 23 Sep 2024 16:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XC7Lk4Wshz4L7b; Mon, 23 Sep 2024 16:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727107966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9HyJsPCGTaV9xeB4hJKXhLoQpCPldFucMzn4x2OXSA=; b=KnlZJb7raJRHjo0Ja7D/+0HScrF5IPnpoOKz0zH6Ue4zYQFOrkFXYJ4XZvjl1LMTzOzKi4 OsMiPsynKKZG2tFRoV5fanQtZuRv9M1WmYzMdoiJtm28wZmI4c2IeWadF0d8yv8y3xwryc 45IBZhUIJc4fFLyKra0pX8t2Xu9slwxgAUcy80WWsr8kAeRGqen/Mz04ZimHpzzyZgCEfZ PZXev9ap1F/JNq6qU2I4OOTuw9eihi3bx1h6Bhus8wTTCofSJ1uzmk+nx/3jDfqTDOHDgQ cWHcbmLrhQwBBpiAkbHmeW7Cm9q5PQXeRGODfAioDn+ZcGYEVwqjKa/7ZNkYGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727107966; a=rsa-sha256; cv=none; b=NtKqM7jmzUIK3Wg6ORuIsJ3UZS4aFTv9yJerI49O9Q0ve02lsVqqYrEpYfiArjEfeeNzho nARhowVC8y1U6msQFRVIuRaNPVwaaSFI+DxTSEVp7mKy9kiclm66WlXBw03LVKdO2o6rWN 7bvMRLAWaj4mXJoAukSsy4KxYR6548Fd8ZUk+Sd7S3PRVc8ATJSG4GEBB2sD5Gc01LuZ1n izAgtlsT3hF4B7zZSqZNGXvZuR59LOs1YQH2DXoXb6GNvdOUu+r7W+wbFrjUBiDAmLh+D4 Y6d+NafwOIGae9P+zN0fKmfavBm/zd0mYoyS7sB7k7AeUFtbp0AoipfsNEgkMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727107966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b9HyJsPCGTaV9xeB4hJKXhLoQpCPldFucMzn4x2OXSA=; b=GOT0l/S4s8NcfVQenI24XfpjVcNBniWepm28Z09lB4C5+jx50mIb+y7f+Kv138PfIKiB9k Gc0bDSCE8dc4ynySDAOhzo0cl7SiAqyN2xfXs6k07c8D7PFocYZsDp7zL7f1P6tOC3PjA7 K5oXyEqiv6er06k0J0PRYsTxQgktYi+aoBQREqVcP9VKgVHjK1pcLItBSvQsccQbURLCby E0UZ8pOturrS0evaYTd+07imaox0Nxhd2aJ3w5zBbhCk7fq1SksBf4mgO0mNGgGoFExx23 cm8z12w+Du+ISgd6SK2bbkANfQWTs9IICLJBk+5UtgkXLHAje58q4rAFFnHwUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XC7Lk46S8zrGl; Mon, 23 Sep 2024 16:12:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48NGCkbm030776; Mon, 23 Sep 2024 16:12:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48NGCkl7030771; Mon, 23 Sep 2024 16:12:46 GMT (envelope-from git) Date: Mon, 23 Sep 2024 16:12:46 GMT Message-Id: <202409231612.48NGCkl7030771@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: c6f45f0053 - main - [documentation]: Fix more links List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c6f45f005306d23f396e1ec9ddff165312aad867 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=c6f45f005306d23f396e1ec9ddff165312aad867 commit c6f45f005306d23f396e1ec9ddff165312aad867 Author: Fernando Apesteguía AuthorDate: 2024-09-23 12:26:39 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-23 16:12:21 +0000 [documentation]: Fix more links * Add description for some missing crossref macros. * Remove a couple of dangling anchors * Remove spurious '.' at the beginning of some descriptions * Fix misspelled macro name --- .../en/articles/building-products/_index.adoc | 31 +++++++++---------- .../content/en/articles/ipsec-must/_index.adoc | 2 +- .../content/en/articles/ldap-auth/_index.adoc | 2 +- documentation/content/en/articles/pam/_index.adoc | 2 +- .../content/en/books/design-44bsd/_index.adoc | 8 ++--- .../content/en/books/dev-model/_index.adoc | 2 +- .../books/handbook/advanced-networking/_index.adoc | 8 ++--- .../content/en/books/handbook/audit/_index.adoc | 6 ++-- .../content/en/books/handbook/basics/_index.adoc | 20 ++++++------ .../content/en/books/handbook/boot/_index.adoc | 4 +-- .../en/books/handbook/bsdinstall/_index.adoc | 24 +++++++-------- .../content/en/books/handbook/config/_index.adoc | 2 +- .../en/books/handbook/cutting-edge/_index.adoc | 4 +-- .../content/en/books/handbook/disks/_index.adoc | 2 +- .../en/books/handbook/firewalls/_index.adoc | 2 +- .../content/en/books/handbook/l10n/_index.adoc | 8 ++--- .../content/en/books/handbook/mail/_index.adoc | 1 - .../content/en/books/handbook/security/_index.adoc | 2 +- .../en/books/handbook/serialcomms/_index.adoc | 10 +++--- .../en/books/porters-handbook/flavors/_index.adoc | 4 +-- .../books/porters-handbook/makefiles/_index.adoc | 36 +++++++++++----------- .../books/porters-handbook/pkg-files/_index.adoc | 2 +- .../en/books/porters-handbook/plist/_index.adoc | 4 +-- .../en/books/porters-handbook/special/_index.adoc | 16 +++++----- .../books/porters-handbook/upgrading/_index.adoc | 2 +- .../en/books/porters-handbook/uses/_index.adoc | 13 ++++---- .../books/fdp-primer/editor-config/_index.adoc | 2 +- .../content/zh-cn/books/handbook/users/_index.adoc | 2 +- .../zh-tw/books/porters-handbook/plist/_index.adoc | 2 +- 29 files changed, 111 insertions(+), 112 deletions(-) diff --git a/documentation/content/en/articles/building-products/_index.adoc b/documentation/content/en/articles/building-products/_index.adoc index 7f6007aa0a..30c7355e55 100644 --- a/documentation/content/en/articles/building-products/_index.adoc +++ b/documentation/content/en/articles/building-products/_index.adoc @@ -106,14 +106,14 @@ The rest of the article is structured as follows: FreeBSD makes an excellent foundation on which to build products: * FreeBSD source code is distributed under a liberal BSD license facilitating - its adoption in commercial products crossref:building-products[Mon2005] with minimum hassle. + its adoption in commercial products crossref:building-products[Mon2005,"Why you should use a BSD style license for your Open Source Project"] with minimum hassle. * The FreeBSD project has excellent engineering practices that can be leveraged. * The project offers exceptional transparency into its workings, allowing organizations using its code to plan effectively for the future. * The culture of the FreeBSD project, carried over from the Computer Science Research Group at The University of California, Berkeley - crossref:building-products[McKu1999-1], fosters high-quality work. Some features in FreeBSD define the state of the art. + crossref:building-products[McKu1999-1,"Why you should use a BSD style license for your Open Source Project"], fosters high-quality work. Some features in FreeBSD define the state of the art. -crossref:building-products[GoldGab2005] examines the business reasons for using open-source in greater detail. +crossref:building-products[GoldGab2005,"Innovation Happens Elsewhere: Open Source as Business Strategy"] examines the business reasons for using open-source in greater detail. For organizations, the benefits of using FreeBSD components in their products include a shorter time to market, lower development costs and lower development risks. === Building with FreeBSD @@ -163,7 +163,7 @@ FreeBSD's in-kernel Netgraph (man:netgraph[4]) framework allows kernel networkin + FreeBSD supports a number of filesystems, and its native UFS2 filesystem supports soft updates, snapshots and very large filesystem sizes (16TB per - filesystem) crossref:building-products[McKu1999]. + filesystem) crossref:building-products[McKu1999,"Why you should use a BSD style license for your Open Source Project"]. + FreeBSD's in-kernel GEOM (man:geom[4]) framework allows kernel storage modules to be composed in flexible ways. * Over {numports} ported applications, both commercial and open-source, managed via the FreeBSD ports collection. @@ -186,10 +186,10 @@ Conflict resolution is performed by a nine member "Core Team" that is elected fr FreeBSD does not have "corporate" committers. Individual committers are required to take responsibility for the changes they introduce to the code. The extref:{committers-guide}[FreeBSD Committer's guide] -crossref:building-products[ComGuide] documents the rules and responsibilities for committers. +crossref:building-products[ComGuide,"Committer's Guide"] documents the rules and responsibilities for committers. FreeBSD's project model is examined in detail in -crossref:building-products[Nik2005]. +crossref:building-products[Nik2005,"A project model for the FreeBSD Project"]. === FreeBSD Release Engineering Processes @@ -214,7 +214,7 @@ The release engineering team publishes a link:https://www.FreeBSD.org/releng/[ro The dates laid down in the road map are not deadlines; FreeBSD is released when its code and documentation are ready. FreeBSD's release engineering processes are described in -crossref:building-products[RelEngDoc]. +crossref:building-products[RelEngDoc,"FreeBSD Release Engineering"]. [[freebsd-collaboration]] == Collaborating with FreeBSD @@ -227,7 +227,8 @@ Using open-source code is best viewed not as a one-off activity, but as an __ong The best projects to collaborate with are the ones that are __live__; i.e., with an active community, clear goals and a transparent working style. * FreeBSD has an active developer community around it. At the time of writing there are many thousands of contributors from every populated continent in the world and over 300 individuals with write access to the project's source repositories. -* The goals of the FreeBSD project are crossref:building-products[Hub1994]: +* The goals of the FreeBSD project are + crossref:building-products[Hub1994,"Contributing to the FreeBSD Project"]: ** To develop a high-quality operating system for popular computer hardware, and, ** To make our work available to all under a liberal license. @@ -246,11 +247,11 @@ A common mistake that companies make when venturing into the open-source world i monetary rewards entering the picture. The factors that motivate individuals are complex, ranging from altruism, to an interest in solving the kinds of problems that FreeBSD attempts to solve. In this environment, "elegance is never -optional"crossref:building-products[Nor1993]. +optional"crossref:building-products[Nor1993,"Tutorial on Good Lisp Programming Style"]. *The Long Term View.* FreeBSD traces its roots back nearly twenty years to the work of the Computer Science Research Group at the University of California Berkeley.footnote:[FreeBSD's source repository contains a history of the project since its inception, and there are CDROMs available that contain earlier code from the CSRG.] A number of the original CSRG developers remain associated with the project. -The project values long-term perspectives crossref:building-products[Nor2001]. A frequent acronym encountered in the project is DTRT, which stands for "Do The Right Thing". +The project values long-term perspectives crossref:building-products[Nor2001,"Teach Yourself Programming in Ten Years"]. A frequent acronym encountered in the project is DTRT, which stands for "Do The Right Thing". *Development Processes.* Computer programs are tools for communication: at one level programmers communicate their intentions using a precise notation to a tool (a compiler) that translates their instructions to executable code. At another level, the same notation is used for communication of intent between two programmers. @@ -259,7 +260,7 @@ Formal specifications and design documents are seldom used in the project. Clear and well-written code and well-written change logs (crossref:building-products[fig-change-log, A sample change log entry]) are used in their place. FreeBSD development happens by "rough consensus and running -code"crossref:building-products[Carp1996]. +code"crossref:building-products[Carp1996,"The Architectural Principles of the Internet"]. [.programlisting] .... @@ -297,10 +298,8 @@ For example: + *Track FreeBSD source code.* The project makes it easy to mirror its SVN repository using extref:{committers-guide}[svnsync, svn-advanced-use-setting-up-svnsync]. Having the complete history of the source is useful when debugging complex problems and offers valuable insight into the intentions of the original developers. Use a capable source control system that allows you to easily merge changes between the upstream FreeBSD code base and your own in-house code. + -crossref:building-products[fig-svn-blame, An annotated source listing generated -using `svn blame`] shows a portion of an annotated listing of the file -referenced by the change log in crossref:building-products[fig-change-log, A -sample change log entry]. +crossref:building-products[fig-svn-blame, An annotated source listing generated using `svn blame`] shows a portion of an annotated listing of the file +referenced by the change log in crossref:building-products[fig-change-log, A sample change log entry]. The ancestry of each line of the source is clearly visible. Annotated listings showing the history of every file that is part of FreeBSD are https://svnweb.freebsd.org/[available on the web]. + @@ -345,7 +344,7 @@ The http://www.bsdcertification.org/[BSD Certification Group] offers certificati + For less critical needs, you can ask for help on the link:https://lists.freebsd.org/[project mailing lists]. A useful guide to follow when asking for help is given in -crossref:building-products[Ray2004]. +crossref:building-products[Ray2004,"How to ask questions the smart way"]. Publicize your involvement:: You are not required to publicize your use of FreeBSD, but doing so helps both your effort as well as that of the project. + diff --git a/documentation/content/en/articles/ipsec-must/_index.adoc b/documentation/content/en/articles/ipsec-must/_index.adoc index 361b6c007c..dbca759c6e 100644 --- a/documentation/content/en/articles/ipsec-must/_index.adoc +++ b/documentation/content/en/articles/ipsec-must/_index.adoc @@ -80,7 +80,7 @@ crossref::ipsec-must[code, Maurer's Universal Statistical Test (for block size8 We also need a way to capture the raw network data. A program called man:tcpdump[1] lets you do this, if you have enabled the -_Berkeley Packet Filter_ interface in your crossref::ipsec-must[kernel]. +_Berkeley Packet Filter_ interface in your crossref::ipsec-must[kernel,src/sys/i386/conf/KERNELNAME]. The command: diff --git a/documentation/content/en/articles/ldap-auth/_index.adoc b/documentation/content/en/articles/ldap-auth/_index.adoc index edffbd10ea..7fc7543484 100644 --- a/documentation/content/en/articles/ldap-auth/_index.adoc +++ b/documentation/content/en/articles/ldap-auth/_index.adoc @@ -319,7 +319,7 @@ If it does, your database is properly configured to be used as an LDAP authentic == Client Configuration The client should already have OpenLDAP libraries from -crossref:ldap-auth[ldap-connect-client], but if you are installing several client machines you will need to install package:net/openldap26-client[] on each of them. +crossref:ldap-auth[ldap-connect-client,Configuring the Client], but if you are installing several client machines you will need to install package:net/openldap26-client[] on each of them. FreeBSD requires two ports to be installed to authenticate against an LDAP server, package:security/pam_ldap[] and package:net/nss_ldap[]. diff --git a/documentation/content/en/articles/pam/_index.adoc b/documentation/content/en/articles/pam/_index.adoc index 307690be04..7f6ffe249b 100644 --- a/documentation/content/en/articles/pam/_index.adoc +++ b/documentation/content/en/articles/pam/_index.adoc @@ -411,7 +411,7 @@ It is essential to understand that PAM's configuration system is centered on cha [[pam-config-breakdown]] === Breakdown of a Configuration Line -As explained in crossref:pam[pam-config-file], each line in [.filename]#/etc/pam.conf# consists of four or more fields: the service name, the facility name, the control flag, the module name, and zero or more module arguments. +As explained in crossref:pam[pam-config-file, PAM Policy Files], each line in [.filename]#/etc/pam.conf# consists of four or more fields: the service name, the facility name, the control flag, the module name, and zero or more module arguments. The service name is generally (though not always) the name of the application the statement applies to. If you are unsure, refer to the individual application's documentation to determine what service name it uses. diff --git a/documentation/content/en/books/design-44bsd/_index.adoc b/documentation/content/en/books/design-44bsd/_index.adoc index b3b86c58b7..08af1a53e6 100644 --- a/documentation/content/en/books/design-44bsd/_index.adoc +++ b/documentation/content/en/books/design-44bsd/_index.adoc @@ -172,10 +172,10 @@ The software that is machine dependent includes |HP/UX compatibility |4,683 |2.3 |=== -crossref:design-44bsd[table-mach-indep] summarizes the machine-independent software that constitutes the 4.4BSD kernel for the HP300. +crossref:design-44bsd[table-mach-indep, Machine-independent software in the 4.4BSD kernel] summarizes the machine-independent software that constitutes the 4.4BSD kernel for the HP300. The numbers in column 2 are for lines of C source code, header files, and assembly language. Virtually all the software in the kernel is written in the C programming language; less than 2 percent is written in assembly language. -As the statistics in crossref:design-44bsd[table-mach-dep] show, the machine-dependent software, excluding HP/UX and device support, accounts for a minuscule 6.9 percent of the kernel. +As the statistics in crossref:design-44bsd[table-mach-dep, Machine-dependent software in the 4.4BSD kernel] show, the machine-dependent software, excluding HP/UX and device support, accounts for a minuscule 6.9 percent of the kernel. Only a small part of the kernel is devoted to initializing the system. This code is used when the system is _bootstrapped_ into operation and is responsible for setting up the kernel hardware and software environment (see Chapter 14). @@ -230,7 +230,7 @@ Important components of the kernel state are described in Chapter 4. image:fig1.png[Process lifecycle] The process lifecycle is depicted in -crossref:design-44bsd[fig-process-lifecycle,.Process lifecycle]. +crossref:design-44bsd[fig-process-lifecycle,Process lifecycle]. A process may create a new process that is a copy of the original by using the _fork_ system call. The _fork_ call returns twice: once in the parent process, where the return value is the process identifier of the child, and once in the child process, where the return value is 0. The parent-child relationship induces a hierarchical structure on the set of processes in the system. @@ -567,7 +567,7 @@ A hierarchy of directories and files is thus formed, and is called a _filesystem [[fig-small-fs]] image:fig2.png[A small filesystem] -a small one is shown in crossref:design-44bsd[fig-small-fs]. +a small one is shown in crossref:design-44bsd[fig-small-fs, A small filesystem]. Directories may contain subdirectories, and there is no inherent limitation to the depth with which directory nesting may occur. To protect the consistency of the filesystem, the kernel does not permit processes to write directly into directories. A filesystem may include not only plain files and directories, but also references to other objects, such as devices and sockets. diff --git a/documentation/content/en/books/dev-model/_index.adoc b/documentation/content/en/books/dev-model/_index.adoc index 6d621f6a29..9ab3a3491f 100644 --- a/documentation/content/en/books/dev-model/_index.adoc +++ b/documentation/content/en/books/dev-model/_index.adoc @@ -691,7 +691,7 @@ The committer who recommended the new committer will, in the general case, take When a contributor is given their commit bit, a crossref:dev-model[tool-pgp, Pretty Good Privacy]-signed email is sent from either -crossref:dev-model[role-core-secretary], crossref:dev-model[role-ports-manager, Ports Manager], or nik@freebsd.org to both admins@freebsd.org, the assigned mentor, the new committer, and core confirming the approval of a new account. +crossref:dev-model[role-core-secretary, Core Secretary], crossref:dev-model[role-ports-manager, Ports Manager], or nik@freebsd.org to both admins@freebsd.org, the assigned mentor, the new committer, and core confirming the approval of a new account. The mentor then gathers a password line, crossref:dev-model[tool-ssh2, Secure Shell] public key, and PGP key from the new committer and sends them to crossref:dev-model[role-admin, Admin]. diff --git a/documentation/content/en/books/handbook/advanced-networking/_index.adoc b/documentation/content/en/books/handbook/advanced-networking/_index.adoc index 212b54a22d..081c6d10b5 100644 --- a/documentation/content/en/books/handbook/advanced-networking/_index.adoc +++ b/documentation/content/en/books/handbook/advanced-networking/_index.adoc @@ -154,7 +154,7 @@ Such routes only show up on the host that supports the alias and all other hosts The final line (destination subnet `224`) deals with multicasting. Various attributes of each route can be seen in the `Flags` column. -crossref:advanced-networking[routeflags,.Commonly Seen Routing Table Flags] summarizes some of these flags and their meanings: +crossref:advanced-networking[routeflags,Commonly Seen Routing Table Flags] summarizes some of these flags and their meanings: [[routeflags]] .Commonly Seen Routing Table Flags @@ -656,7 +656,7 @@ This can be particularly useful when a FreeBSD machine is acting as a gateway to ==== Basic Settings Before configuring a FreeBSD machine as an AP, the kernel must be configured with the appropriate networking support for the wireless card as well as the security protocols being used. -For more details, see crossref:advanced-networking[network-wireless-basic]. +For more details, see crossref:advanced-networking[network-wireless-ap-basic, Basic Settings]. [NOTE] ==== @@ -757,7 +757,7 @@ The client machine found the AP and can be associated with it: This section focuses on setting up a FreeBSD access point using the WPA2 security protocol. More details regarding WPA and the configuration of WPA-based wireless clients -can be found in crossref:advanced-networking[network-wireless-wpa]. +can be found in crossref:advanced-networking[network-wireless-wpa, WPA with EAP-TLS]. The man:hostapd[8] daemon is used to deal with client authentication and key management on the WPA2-enabled AP. @@ -826,7 +826,7 @@ wlan0: flags=8943 metric 0 mtu 1 .... Once the AP is running, the clients can associate with it. -See crossref:advanced-networking[network-wireless-wpa] for more details. +See crossref:advanced-networking[network-wireless-ap-basic, Basic Settings] for more details. It is possible to see the stations associated with the AP using `ifconfig _wlan0_ list sta`. [[network-usb-tethering]] diff --git a/documentation/content/en/books/handbook/audit/_index.adoc b/documentation/content/en/books/handbook/audit/_index.adoc index 9bd9c84cc5..0672981480 100644 --- a/documentation/content/en/books/handbook/audit/_index.adoc +++ b/documentation/content/en/books/handbook/audit/_index.adoc @@ -126,7 +126,7 @@ Selection expressions are used in a number of places in the audit configuration Expressions contain a list of event classes to match. Selection expressions are evaluated from left to right, and two expressions are combined by appending one onto the other. -crossref:audit[event-selection,.Default Audit Event Classes] summarizes the default audit event classes: +crossref:audit[event-selection,Default Audit Event Classes] summarizes the default audit event classes: [[event-selection]] .Default Audit Event Classes @@ -220,7 +220,7 @@ crossref:audit[event-selection,.Default Audit Event Classes] summarizes the defa These audit event classes may be customized by modifying the [.filename]#audit_class# and [.filename]#audit_event# configuration files. Each audit event class may be combined with a prefix indicating whether successful/failed operations are matched, and whether the entry is adding or removing matching for the class and type. -crossref:audit[event-prefixes,.Prefixes for Audit Event Classes] summarizes the available prefixes: +crossref:audit[event-prefixes,Prefixes for Audit Event Classes] summarizes the available prefixes: [[event-prefixes]] .Prefixes for Audit Event Classes @@ -437,7 +437,7 @@ The change will take effect once [.filename]#/etc/crontab# is saved. Automatic rotation of the audit trail file based on file size is possible using `filesz` in [.filename]#audit_control# as described in -crossref:audit[audit-auditcontrol]. +crossref:audit[audit-auditcontrol, The audit_control File]. As audit trail files can become very large, it is often desirable to compress or otherwise archive trails once they have been closed by the audit daemon. The [.filename]#audit_warn# script can be used to perform customized operations for a variety of audit-related events, including the clean termination of audit trails when they are rotated. diff --git a/documentation/content/en/books/handbook/basics/_index.adoc b/documentation/content/en/books/handbook/basics/_index.adoc index 4351d68819..99d927b772 100644 --- a/documentation/content/en/books/handbook/basics/_index.adoc +++ b/documentation/content/en/books/handbook/basics/_index.adoc @@ -345,7 +345,7 @@ This software provides activity logging and allows the administrator to configur FreeBSD provides a variety of different commands to manage user accounts. The most common commands are summarized in -crossref:basics[users-modifying-utilities,.Utilities for Managing User Accounts], followed by some examples of their usage. +crossref:basics[users-modifying-utilities,Utilities for Managing User Accounts], followed by some examples of their usage. See the manual page for each utility for more details and usage examples. [[users-modifying-utilities]] @@ -383,7 +383,7 @@ It also creates a home directory for the new user, copies in the default configu This utility must be run as the superuser. The man:adduser[8] utility is interactive and walks through the steps for creating a new user account. -As seen in crossref:basics[users-modifying-adduser], either input the required information or press kbd:[Return] to accept the default value shown in square brackets. +As seen in crossref:basics[users-modifying-adduser, Adding a User on FreeBSD], either input the required information or press kbd:[Return] to accept the default value shown in square brackets. In this example, the user has been invited into the `wheel` group, allowing them to become the superuser with man:su[1]. When finished, the utility will prompt to either create another user or to exit. @@ -494,9 +494,9 @@ When the user exits from the editor, the user database is updated with the new i This utility will prompt for the user's password when exiting the editor, unless the utility is run as the superuser. ==== -In crossref:basics[users-modifying-chpass-su,.Using `chpass` as Superuser], the superuser has typed `chpass jru` and is now viewing the fields that can be changed for this user. +In crossref:basics[users-modifying-chpass-su,Using `chpass` as Superuser], the superuser has typed `chpass jru` and is now viewing the fields that can be changed for this user. If `jru` runs this command instead, only the last six fields will be displayed and available for editing. -This is shown in crossref:basics[users-modifying-chpass-ru,.Using `chpass` as Regular User]. +This is shown in crossref:basics[users-modifying-chpass-ru,Using `chpass` as Regular User]. [[users-modifying-chpass-su]] .Using `chpass` as Superuser @@ -1271,7 +1271,7 @@ If the partition is the last one on a virtual disk, and the disk is expanded, th File systems are contained in _partitions_. Disks are divided into partitions using one of several partitioning schemes; -see crossref:basics[bsdinstall-part-manual]. +see crossref:bsdinstall[bsdinstall-part-manual, Manual Partitioning]. The newer scheme is GPT; older BIOS-based computers use MBR. GPT supports division of a disk into partitions with a size, offset, and type. It supports a large number of partitions and partition types, and is recommended whenever its use is possible. @@ -1321,13 +1321,13 @@ This letter is appended to the device name, so "da0__a__" is the `a` partition o Finally, each disk on the system is identified. A disk name starts with a code that indicates the type of disk, and then a number, indicating which disk it is. Unlike partitions and slices, disk numbering starts at 0. -Common codes are listed in crossref:basics[disks-naming,.Disk Device Names]. +Common codes are listed in crossref:basics[disks-naming,Disk Device Names]. When referring to a partition in a slice, include the disk name, `s`, the slice number, and then the partition letter. -Examples are shown in crossref:basics[basics-disk-slice-part,.Sample Disk, Slice, and Partition Names]. +Examples are shown in crossref:basics[basics-disk-slice-part,Sample Disk, Slice, and Partition Names]. GPT partitions include the disk name, `p`, and then the partition number. -crossref:basics[basics-concept-disk-model,.Conceptual Model of a Disk] shows a conceptual model of a disk layout using MBR slices. +crossref:basics[basics-concept-disk-model,Conceptual Model of a Disk] shows a conceptual model of a disk layout using MBR slices. When installing FreeBSD, configure the disk slices if using MBR, and create partitions within the slice to be used for FreeBSD. If using GPT, configure partitions for each file system. @@ -1423,7 +1423,7 @@ device /mount-point fstype options dumpfreq passno .... `device`:: -An existing device name as explained in crossref:basics[disks-naming,.Disk Device Names]. +An existing device name as explained in crossref:basics[disks-naming,Disk Device Names]. `mount-point`:: An existing directory on which to mount the file system. @@ -1684,7 +1684,7 @@ Typing a `t` and pressing kbd:[Tab] again is enough to let the shell determine w Another feature of the shell is the use of environment variables. Environment variables are a variable/key pair stored in the shell's environment. This environment can be read by any program invoked by the shell, and thus contains a lot of program configuration. -crossref:basics[shell-env-vars,.Common Environment Variables] provides a list of common environment variables and their meanings. +crossref:basics[shell-env-vars,Common Environment Variables] provides a list of common environment variables and their meanings. Note that the names of environment variables are always in uppercase. [[shell-env-vars]] diff --git a/documentation/content/en/books/handbook/boot/_index.adoc b/documentation/content/en/books/handbook/boot/_index.adoc index 86cc778922..60bf37b486 100644 --- a/documentation/content/en/books/handbook/boot/_index.adoc +++ b/documentation/content/en/books/handbook/boot/_index.adoc @@ -217,7 +217,7 @@ The loader will then read [.filename]#/boot/loader.rc#, which by default reads i Finally, by default, loader issues a 10 second wait for key presses, and boots the kernel if it is not interrupted. If interrupted, the user is presented with a prompt which understands the command set, where the user may adjust variables, unload all modules, load modules, and then finally boot or reboot. -crossref:boot[boot-loader-commands,.Loader Built-In Commands] lists the most commonly used loader commands. +crossref:boot[boot-loader-commands,Loader Built-In Commands] lists the most commonly used loader commands. For a complete discussion of all available commands, refer to man:loader[8]. [[boot-loader-commands]] @@ -306,7 +306,7 @@ To load an automated kernel configuration script: === Last Stage Once the kernel is loaded by either loader or by boot2, which bypasses loader, it examines any boot flags and adjusts its behavior as necessary. -crossref:boot[boot-kernel,.Kernel Interaction During Boot] lists the commonly used boot flags. +crossref:boot[boot-kernel,Kernel Interaction During Boot] lists the commonly used boot flags. Refer to man:boot[8] for more information on the other boot flags. [[boot-kernel]] diff --git a/documentation/content/en/books/handbook/bsdinstall/_index.adoc b/documentation/content/en/books/handbook/bsdinstall/_index.adoc index f16c82569c..9745d4001d 100644 --- a/documentation/content/en/books/handbook/bsdinstall/_index.adoc +++ b/documentation/content/en/books/handbook/bsdinstall/_index.adoc @@ -310,7 +310,7 @@ The following options are available. * `Cons`: Allow to continue the installation by `video`, `serial`, `Dual (serial primary)` or `Dual (Video primary)` * `Kernel`: Loads a different kernel. * `Boot Options`: Opens the menu shown in, and described under, - crossref:bsdinstall[bsdinstall-boot-options-menu,.FreeBSD Boot Options Menu]. + crossref:bsdinstall[bsdinstall-boot-options-menu,FreeBSD Boot Options Menu]. [[bsdinstall-boot-options-menu]] .FreeBSD Boot Options Menu @@ -331,7 +331,7 @@ Several options can be toggled using this menu: After making the needed selections, press kbd:[1] or kbd:[Backspace] to return to the main boot menu, then press kbd:[Enter] to continue booting into FreeBSD. A series of boot messages will appear as FreeBSD carries out its hardware device probes and loads the installation program. Once the boot is complete, the welcome menu shown in -crossref:bsdinstall[bsdinstall-choose-mode,.Welcome Menu] will be displayed. +crossref:bsdinstall[bsdinstall-choose-mode,Welcome Menu] will be displayed. [[bsdinstall-choose-mode]] .Welcome Menu @@ -362,14 +362,14 @@ When finished, press kbd:[Enter] to save the selection and move onto the next sc === Selecting the Keymap Menu Before starting the process, bsdinstall will load the keymap files as shown in -crossref:bsdinstall[bsdinstall-keymap-loading,.Keymap Loading]. +crossref:bsdinstall[bsdinstall-keymap-loading,Keymap Loading]. [[bsdinstall-keymap-loading]] .Keymap Loading image::bsdinstall-keymap-loading.png[Keymap loading] After the keymaps have been loaded, bsdinstall displays the menu shown in -crossref:bsdinstall[bsdinstall-keymap-10,.Keymap Selection Menu]. +crossref:bsdinstall[bsdinstall-keymap-10,Keymap Selection Menu]. Use the up and down arrows to select the keymap that most closely represents the mapping of the keyboard attached to the system. Press kbd:[Enter] to save the selection. @@ -385,7 +385,7 @@ If the choice of keymap is not clear, [.guimenuitem]#United States of America IS In addition, when selecting a different keymap, the user can try the keymap and ensure it is correct before proceeding, as shown in -crossref:bsdinstall[bsdinstall-keymap-testing,.Keymap Testing Menu]. +crossref:bsdinstall[bsdinstall-keymap-testing,Keymap Testing Menu]. [[bsdinstall-keymap-testing]] .Keymap Testing Menu @@ -435,7 +435,7 @@ The FreeBSD Ports Collection takes up about {ports-size} of disk space. [[bsdinstall-netinstall]] === Installing from the Network -The menu shown in crossref:bsdinstall[bsdinstall-netinstall-notify,.Installing from the Network] only appears when installing from a `-bootonly.iso` or `-mini-memstick.img`, as this installation media does not hold copies of the installation files. +The menu shown in crossref:bsdinstall[bsdinstall-netinstall-notify,Installing from the Network] only appears when installing from a `-bootonly.iso` or `-mini-memstick.img`, as this installation media does not hold copies of the installation files. Since the installation files must be retrieved over a network connection, this menu indicates that the network interface must be configured first. If this menu is shown in any step of the process, remember to follow the instructions in crossref:bsdinstall[bsdinstall-config-network-dev, Configuring Network Interfaces]. @@ -536,7 +536,7 @@ The next menu shows a list with the available partition scheme types. GPT is usually the most appropriate choice for amd64 computers. Older computers that are not compatible with GPT should use MBR. The other partition schemes are generally used for uncommon or older computers. -More information is available in crossref:bsdinstall[partition-schemes,.Partitioning Schemes]. +More information is available in crossref:bsdinstall[partition-schemes,Partitioning Schemes]. [[bsdinstall-ufs-scheme]] .Select Partition Scheme @@ -625,7 +625,7 @@ Multiple file system partitions can be created. Some people prefer a traditional Note that `/tmp` can be added later as a memory-based file system (man:tmpfs[5]) on systems with sufficient memory. ==== -See crossref:bsdinstall[bsdinstall-part-manual-splitfs,.Creating Traditional Split File System Partitions] for an example. +See crossref:bsdinstall[bsdinstall-part-manual-splitfs,Creating Traditional Split File System Partitions] for an example. The `Size` may be entered with common abbreviations: _K_ for kilobytes, _M_ for megabytes, or _G_ for gigabytes. @@ -870,7 +870,7 @@ Select the interface to configure. image::bsdinstall-configure-network-interface.png[Menu showing the different network interfaces to configure.] If an Ethernet interface is selected, the installer will skip ahead to the menu -shown in crossref:bsdinstall[bsdinstall-configure-net-ipv4,.Choose IPv4 Networking]. +shown in crossref:bsdinstall[bsdinstall-configure-net-ipv4,Choose IPv4 Networking]. If a wireless network interface is chosen, the system will instead scan for wireless access points: [[bsdinstall-wireless-scan]] @@ -1088,7 +1088,7 @@ Select btn:[Yes] to add new users. image::bsdinstall-adduser1.png[Menu requesting if a user want to be added to the system.] Follow the prompts and input the requested information for the user account. -The example shown in crossref:bsdinstall[bsdinstall-add-user2,.Enter User Information] creates the `asample` user account. +The example shown in crossref:bsdinstall[bsdinstall-add-user2,Enter User Information] creates the `asample` user account. [[bsdinstall-add-user2]] .Enter User Information @@ -1175,7 +1175,7 @@ When finished, press kbd:[Scroll-Lock] again to unlock the display and return to To review these messages once the system has been up for some time, type `less /var/run/dmesg.boot` from a command prompt. Press kbd:[q] to return to the command line after viewing. -If sshd was enabled in crossref:bsdinstall[bsdinstall-config-serv,.Selecting Additional Services to Enable], the first boot might be a bit slower as the system generates SSH host keys. +If sshd was enabled in crossref:bsdinstall[bsdinstall-config-serv,Selecting Additional Services to Enable], the first boot might be a bit slower as the system generates SSH host keys. Subsequent boots will be faster. The fingerprints of the keys are then displayed as in the following example: @@ -1261,7 +1261,7 @@ More information about the boot loader can be found in crossref:boot[boot-synops == Using the Live CD The welcome menu of bsdinstall, shown in -crossref:bsdinstall[bsdinstall-choose-mode,.Welcome Menu], provides a btn:[Live CD] option. +crossref:bsdinstall[bsdinstall-choose-mode,Welcome Menu], provides a btn:[Live CD] option. This is useful for those who are still wondering whether FreeBSD is the right operating system for them and want to test some of the features before installing. The following points should be noted before using the btn:[Live CD]: diff --git a/documentation/content/en/books/handbook/config/_index.adoc b/documentation/content/en/books/handbook/config/_index.adoc index 8e7a652d63..ad2439cb13 100644 --- a/documentation/content/en/books/handbook/config/_index.adoc +++ b/documentation/content/en/books/handbook/config/_index.adoc @@ -74,7 +74,7 @@ FreeBSD base system configuration is located at the [.filename]#/etc# directory, and the [.filename]#/usr/local/etc# directory contains all the configuration files of the applications installed on the system through the ports collection and packages. The kernel state configuration is located in [.filename]#/etc/sysctl.conf#. -In the section crossref:config[configtuning-sysctl], the operation of man:sysctl[8] will be explained in more detail. +In the section crossref:config[configtuning-sysctl, The sysctl utility], the operation of man:sysctl[8] will be explained in more detail. For more information about the FreeBSD file system structure refer to man:hier[7]. diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.adoc b/documentation/content/en/books/handbook/cutting-edge/_index.adoc index 47a1df32ed..8707118beb 100644 --- a/documentation/content/en/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/en/books/handbook/cutting-edge/_index.adoc @@ -834,7 +834,7 @@ Determine which version of FreeBSD is being used with man:uname[1]: 13.2-RELEASE .... -Based on crossref:cutting-edge[updating-src-obtaining-src-repopath,.FreeBSD Versions and Repository Branches], the source used to update `13.2-RELEASE` has a repository path of `releng/13.2`. +Based on crossref:cutting-edge[updating-src-obtaining-src-repopath,FreeBSD Versions and Repository Branches], the source used to update `13.2-RELEASE` has a repository path of `releng/13.2`. That path is used when checking out the source: [source,shell] @@ -845,7 +845,7 @@ That path is used when checking out the source: <.> Move the old directory out of the way. If there are no local modifications in this directory, it can be deleted. -<.> The path from crossref:cutting-edge[updating-src-obtaining-src-repopath,.FreeBSD Versions and Repository Branches] is added to the repository URL. The third parameter is the destination directory for the source code on the local system. +<.> The path from crossref:cutting-edge[updating-src-obtaining-src-repopath,FreeBSD Versions and Repository Branches] is added to the repository URL. The third parameter is the destination directory for the source code on the local system. [[updating-src-building]] === Building from Source diff --git a/documentation/content/en/books/handbook/disks/_index.adoc b/documentation/content/en/books/handbook/disks/_index.adoc index 49c7b2acc3..2d1f162193 100644 --- a/documentation/content/en/books/handbook/disks/_index.adoc +++ b/documentation/content/en/books/handbook/disks/_index.adoc @@ -773,7 +773,7 @@ In order to mount a data CD, the data must be written using `mkisofs`. To duplicate an audio CD, extract the audio data from the CD to a series of files, then write these files to a blank CD. -crossref:disks[using-cdrecord] describes how to duplicate and burn an audio CD. +crossref:disks[using-cdrecord, Duplicating an Audio CD] describes how to duplicate and burn an audio CD. If the FreeBSD version is less than 10.0 and the device is ATAPI, the `atapicam` module must be first loaded using the instructions in crossref:disks[atapicam, Supported Devices]. diff --git a/documentation/content/en/books/handbook/firewalls/_index.adoc b/documentation/content/en/books/handbook/firewalls/_index.adoc index 9d4afc7f34..0075506a6a 100644 --- a/documentation/content/en/books/handbook/firewalls/_index.adoc +++ b/documentation/content/en/books/handbook/firewalls/_index.adoc @@ -245,7 +245,7 @@ The FreeBSD installation includes several sample files located in [.filename]#/u Refer to the http://www.openbsd.org/faq/pf/[PF FAQ] for complete coverage of PF rulesets. To control PF, use `pfctl`. -crossref:firewalls[pfctl,.Useful `pfctl` Options] summarizes some useful options to this command. +crossref:firewalls[pfctl,Useful `pfctl` Options] summarizes some useful options to this command. Refer to man:pfctl[8] for a description of all available options: [[pfctl]] .Useful `pfctl` Options diff --git a/documentation/content/en/books/handbook/l10n/_index.adoc b/documentation/content/en/books/handbook/l10n/_index.adoc index 6e5df10648..418cb75695 100644 --- a/documentation/content/en/books/handbook/l10n/_index.adoc +++ b/documentation/content/en/books/handbook/l10n/_index.adoc @@ -85,7 +85,7 @@ LanguageCode_CountryCode.Encoding .... The _LanguageCode_ and _CountryCode_ are used to determine the country and the specific language variation. -crossref:l10n[locale-lang-country,.Common Language and Country Codes] provides some examples of __LanguageCode_CountryCode__: +crossref:l10n[locale-lang-country,Common Language and Country Codes] provides some examples of __LanguageCode_CountryCode__: [[locale-lang-country]] .Common Language and Country Codes @@ -332,7 +332,7 @@ To test keymaps without rebooting, use man:kbdmap[1]. The `keychange` entry is usually needed to program function keys to match the selected terminal type because function key sequences cannot be defined in the keymap. Next, set the correct console terminal type in [.filename]#/etc/ttys# for all virtual terminal entries. -crossref:l10n[locale-charset,.Defined Terminal Types for Character Sets] summarizes the available terminal types.: +crossref:l10n[locale-charset,Defined Terminal Types for Character Sets] summarizes the available terminal types.: [[locale-charset]] .Defined Terminal Types for Character Sets @@ -364,7 +364,7 @@ crossref:l10n[locale-charset,.Defined Terminal Types for Character Sets] summari |=== For languages with wide or multibyte characters, install a console for that language from the FreeBSD Ports Collection. -The available ports are summarized in crossref:l10n[locale-console,.Available Console from Ports Collection]. +The available ports are summarized in crossref:l10n[locale-console,Available Console from Ports Collection]. Once installed, refer to the port's [.filename]#pkg-message# or man pages for configuration and usage instructions. [[locale-console]] @@ -409,7 +409,7 @@ When configuring Xorg for localization, additional fonts and input methods are a Application specific i18n settings such as fonts and menus can be tuned in [.filename]#~/.Xresources# and should allow users to view their selected language in graphical application menus. The X Input Method (XIM) protocol is an Xorg standard for inputting non-English characters. -crossref:l10n[locale-xim,.Available Input Methods] summarizes the input method applications which are available in the FreeBSD Ports Collection. +crossref:l10n[locale-xim,Available Input Methods] summarizes the input method applications which are available in the FreeBSD Ports Collection. Additional Fcitx and Uim applications are also available. [[locale-xim]] diff --git a/documentation/content/en/books/handbook/mail/_index.adoc b/documentation/content/en/books/handbook/mail/_index.adoc index 5128c829a2..48f58ef4c1 100644 --- a/documentation/content/en/books/handbook/mail/_index.adoc +++ b/documentation/content/en/books/handbook/mail/_index.adoc @@ -871,7 +871,6 @@ Enter the ISP's outgoing mail relay in place of `mail.example.com`. Some ISPs call this the "outgoing mail server" or "SMTP server". Make sure to disable Sendmail, including the outgoing mail service. -See crossref:mail[mail-disable-sendmail] for details. package:mail/ssmtp[] has some other options available. Refer to the examples in [.filename]#/usr/local/etc/ssmtp# or the manual page of ssmtp for more information. diff --git a/documentation/content/en/books/handbook/security/_index.adoc b/documentation/content/en/books/handbook/security/_index.adoc index e2bba4caf3..100e4a8f41 100644 --- a/documentation/content/en/books/handbook/security/_index.adoc +++ b/documentation/content/en/books/handbook/security/_index.adoc @@ -870,7 +870,7 @@ PubkeyAuthentication yes .... Once the configuration is done, the users will have to send the system administrator their *public key* and these keys will be added in [.filename]#.ssh/authorized_keys#. -The process for generating the keys is described in crossref:security[Key-based Authentication]. +The process for generating the keys is described in crossref:security[security-ssh-keygen, Key-based Authentication]. Then restart the server executing the following command: diff --git a/documentation/content/en/books/handbook/serialcomms/_index.adoc b/documentation/content/en/books/handbook/serialcomms/_index.adoc index 7ecebe9e0d..bcb2993ca0 100644 --- a/documentation/content/en/books/handbook/serialcomms/_index.adoc +++ b/documentation/content/en/books/handbook/serialcomms/_index.adoc @@ -103,7 +103,7 @@ The documentation for the hardware should describe the type of cable required. These two types of cables differ in how the wires are connected to the connector. Each wire represents a signal, with the defined signals summarized in -crossref:serialcomms[serialcomms-signal-names,.RS-232C Signal Names]. +crossref:serialcomms[serialcomms-signal-names,RS-232C Signal Names]. A standard serial cable passes all of the RS-232C signals straight through. For example, the "Transmitted Data" pin on one end of the cable goes to the "Transmitted Data" pin on the other end. This is the type of cable used to connect a modem to the FreeBSD system, and is also appropriate for some terminals. @@ -112,8 +112,8 @@ A null-modem cable switches the "Transmitted Data" pin of the connector on one e The connector can be either a DB-25 or a DB-9. A null-modem cable can be constructed using the pin connections summarized in -crossref:serialcomms[nullmodem-db25], crossref:serialcomms[nullmodem-db9], and -crossref:serialcomms[nullmodem-db9-25,.DB-9 to DB-25 Null-Modem Cable]. +crossref:serialcomms[nullmodem-db25, DB-25 to DB-25 Null-Modem Cable], crossref:serialcomms[nullmodem-db9,DB-9 to DB-9 Null-Modem Cable], and +crossref:serialcomms[nullmodem-db9-25,DB-9 to DB-25 Null-Modem Cable, DB-9 to DB-25 Null-Modem Cable]. While the standard calls for a straight-through pin 1 to pin 1 "Protective Ground" line, it is often omitted. Some terminals work using only pins 2, 3, and 7, while others require different configurations. When in doubt, refer to the documentation for the hardware. @@ -502,7 +502,7 @@ ttyu3 "/usr/libexec/getty std.115200" dialup off secure When attaching a terminal to one of those ports, modify the default entry to set the required speed and terminal type, to turn the device `on` and, if needed, to change the port's `secure` setting. If the terminal is connected to another port, add an entry for the port. -crossref:serialcomms[ex-etc-ttys,.Configuring Terminal Entries] configures two terminals in [.filename]#/etc/ttys#. +crossref:serialcomms[ex-etc-ttys,Configuring Terminal Entries] configures two terminals in [.filename]#/etc/ttys#. The first entry configures a Wyse-50 connected to [.filename]#COM2#. The second entry configures an old computer running Procomm terminal software emulating a VT-100 terminal. The computer is connected to the sixth serial port on a multi-port serial card. @@ -693,7 +693,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\ For a slow CPU or a heavily loaded system without 16550A-based serial ports, this configuration may produce `uart` "silo" errors at 57.6 Kbps. The configuration of [.filename]#/etc/ttys# is similar to -crossref:serialcomms[ex-etc-ttys,.Configuring Terminal Entries], but a different argument is passed to `getty` and `dialup` is used for the terminal type. +crossref:serialcomms[ex-etc-ttys,Configuring Terminal Entries], but a different argument is passed to `getty` and `dialup` is used for the terminal type. Replace _xxx_ with the process `init` will run on the device: [.programlisting] diff --git a/documentation/content/en/books/porters-handbook/flavors/_index.adoc b/documentation/content/en/books/porters-handbook/flavors/_index.adoc index 88245b8966..b54615509f 100644 --- a/documentation/content/en/books/porters-handbook/flavors/_index.adoc +++ b/documentation/content/en/books/porters-handbook/flavors/_index.adoc @@ -120,7 +120,7 @@ nox11_PKGNAMESUFFIX= -nox11 [example] ==== Here is a slightly edited excerpt of what is present in package:devel/libpeas[], -a port that uses the crosref:flavors[flavors-auto-python,Python flavors]. +a port that uses the crossref:flavors[flavors-auto-python,Python flavors]. With the default Python 2 and 3 versions being 2.7 and 3.6, it will automatically get `FLAVORS=py27 py36` [.programlisting] @@ -157,7 +157,7 @@ The `configure` script has to run in [.filename]#${WRKSRC}#, but we are only int Hint about the correct Python 3 config script path name. The packing list is different when the built with Python 3. As there are three possible Python 3 versions, set `PLIST` for all three using the -crosref:flavors[flavors-using-helpers,helper]. +crossref:flavors[flavors-using-helpers,helper]. ==== [[flavors-using-helpers]] diff --git a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc index 2759aa7d32..e94fd4091a 100644 --- a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc +++ b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc @@ -101,7 +101,7 @@ From time to time, some software will use a version scheme that is not compatibl [TIP] ==== When updating a port, it is possible to use man:pkg-version[8]'s `-t` argument to check if the new version is greater or lesser than before. -See crossref:makefiles[makefile-versions-ex-pkg-version]. +See crossref:makefiles[makefile-versions-ex-pkg-version, Using man:pkg-version\[8\] to Compare Versions]. ==== [[makefile-versions-ex-pkg-version]] @@ -1577,7 +1577,7 @@ GH_TAGNAME= c472d66b .... This creates a versioning scheme that increases over time, and that is still -before version `0` (see crossref:makefiles[makefile-versions-ex-pkg-version] for details on man:pkg-version[8]): +before version `0` (see crossref:makefiles[makefile-versions-ex-pkg-version, Using man:pkg-version\[8\] to Compare Versions] for details on man:pkg-version[8]): [source,shell] .... @@ -1622,7 +1622,7 @@ USE_GITHUB= yes .... This creates a versioning scheme that increases over time (well, over commits), and does not conflict with the creation of a `0.7.4` version. -(See crossref:makefiles[makefile-versions-ex-pkg-version] for details on man:pkg-version[8]): +(See crossref:makefiles[makefile-versions-ex-pkg-version, Using man:pkg-version\[8\] to Compare Versions] for details on man:pkg-version[8]): [source,shell] .... @@ -1660,7 +1660,7 @@ Multiple values are added to `GH_ACCOUNT`, `GH_PROJECT`, and `GH_TAGNAME`. Each different value is assigned a group. The main value can either have no group, or the `:DEFAULT` group. A value can be omitted if it is the same as the default as listed in -crossref:makefiles[makefile-master_sites-github-description,.`USE_GITHUB` Description]. +crossref:makefiles[makefile-master_sites-github-description,`USE_GITHUB` Description]. `GH_TUPLE` can also be used when there are a lot of distribution files. It helps keep the account, project, tagname, and group information at the same place. @@ -1752,7 +1752,7 @@ post-extract: ==== This is functionally equivalent to -crossref:makefiles[makefile-master_sites-github-multi,.Use of `USE_GITHUB` with Multiple Distribution Files], but using `GH_TUPLE`: +crossref:makefiles[makefile-master_sites-github-multi,Use of `USE_GITHUB` with Multiple Distribution Files], but using `GH_TUPLE`: [.programlisting] .... @@ -1964,7 +1964,7 @@ crossref:makefiles[makefile-master_sites-gitlab-multiple, Fetching Multiple File Multiple values are added to `GL_SITE`, `GL_ACCOUNT`, `GL_PROJECT` and `GL_COMMIT`. Each different value is assigned a group. -crossref:makefiles[makefile-master_sites-gitlab-description,.`USE_GITLAB` Description]. +crossref:makefiles[makefile-master_sites-gitlab-description,`USE_GITLAB` Description]. `GL_TUPLE` can also be used when there are a lot of distribution files. It helps keep the site, account, project, commit, and group information at the same place. @@ -2058,7 +2058,7 @@ post-extract: [example] ==== This is functionally equivalent to -crossref:makefiles[makefile-master_sites-gitlab-multi,.Use of `USE_GITLAB` with Multiple Distribution Files], but using `GL_TUPLE`: +crossref:makefiles[makefile-master_sites-gitlab-multi,Use of `USE_GITLAB` with Multiple Distribution Files], but using `GL_TUPLE`: [.programlisting] .... @@ -2227,7 +2227,7 @@ Each site listed in `MASTER_SITES` is then followed by a colon, and the group th For example, consider an application with the source split in two parts, [.filename]#source1.tar.gz# and [.filename]#source2.tar.gz#, which must be downloaded from two different sites. The port's [.filename]#Makefile# would include lines like -crossref:makefiles[ports-master-sites-n-example-simple-use-one-file-per-site,.Simplified Use of `MASTER_SITES:n` with One File Per Site]. +crossref:makefiles[ports-master-sites-n-example-simple-use-one-file-per-site,Simplified Use of `MASTER_SITES:n` with One File Per Site]. [[ports-master-sites-n-example-simple-use-one-file-per-site]] .Simplified Use of `MASTER_SITES:n` with One File Per Site @@ -2247,7 +2247,7 @@ DISTFILES= source1.tar.gz:source1 \ Multiple distribution files can have the same group. Continuing the previous example, suppose that there was a third distfile, [.filename]#source3.tar.gz#, that is downloaded from `ftp.example2.com`. The [.filename]#Makefile# would then be written like -crossref:makefiles[ports-master-sites-n-example-simple-use-more-than-one-file-per-site,.Simplified Use of `MASTER_SITES:n` with More Than One File Per Site]. +crossref:makefiles[ports-master-sites-n-example-simple-use-more-than-one-file-per-site,Simplified Use of `MASTER_SITES:n` with More Than One File Per Site]. [[ports-master-sites-n-example-simple-use-more-than-one-file-per-site]] .Simplified Use of `MASTER_SITES:n` with More Than One File Per Site @@ -2344,9 +2344,9 @@ MASTER_SITES= alpha:DEFAULT,SOME_SITE elements, if the postfix immediate preceding character is not a `/` then `:n` will be considered a valid part of the element instead of a group postfix even if an element is postfixed with `:n`. See both - crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-subdir,.Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] + crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-subdir,Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] and - crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,.Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. + crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. + [[ports-master-sites-n-example-detailed-use-master-site-subdir]] .Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR` @@ -2440,7 +2440,7 @@ Sites are listed in the exact order they will be used. + This has been simplified as much as possible. See -crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-sourceforge,.Detailed Use of `MASTER_SITES:n` with SourceForge (`SF`)]. +crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-sourceforge,Detailed Use of `MASTER_SITES:n` with SourceForge (`SF`)]. + [[ports-master-sites-n-example-detailed-use-master-site-sourceforge]] .Detailed Use of `MASTER_SITES:n` with SourceForge (`SF`) @@ -2459,7 +2459,7 @@ DISTFILES= something.tar.gz:sourceforge + All examples were done with `MASTER*` but they work exactly the same for `PATCH*` ones as can be seen in -crossref:makefiles[ports-master-sites-n-example-detailed-use-patch-sites,.Simplified Use of `MASTER_SITES:n` with `PATCH_SITES`]. +crossref:makefiles[ports-master-sites-n-example-detailed-use-patch-sites,Simplified Use of `MASTER_SITES:n` with `PATCH_SITES`]. + [[ports-master-sites-n-example-detailed-use-patch-sites]] .Simplified Use of `MASTER_SITES:n` with `PATCH_SITES` @@ -2490,7 +2490,7 @@ PATCHFILES= patch1:test with their matching group elements within both `MASTER_SITES` and `PATCH_SITES` which use matching group elements within both `MASTER_SITE_SUBDIR` and `PATCH_SITE_SUBDIR`. Check - crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,.Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. + crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. ** `fetch-list`: works like old `fetch-list` with the exception that it groups just like `do-fetch`. ** `master-sites` and `patch-sites`: (incompatible with older versions) only return the elements of group `DEFAULT`; in fact, they execute targets `master-sites-default` and `patch-sites-default` respectively. + @@ -2622,13 +2622,13 @@ If it is not an OSI approved license it must also document any restrictions on r A short name for the license or licenses if more than one license apply. -If it is one of the licenses listed in crossref:makefiles[licenses-license-list,.Predefined License List], only `LICENSE_FILE` and `LICENSE_DISTFILES` variables can be set. +If it is one of the licenses listed in crossref:makefiles[licenses-license-list,Predefined License List], only `LICENSE_FILE` and `LICENSE_DISTFILES` variables can be set. If this is a license that has not been defined in the ports framework (see -crossref:makefiles[licenses-license-list,.Predefined License List]), the `LICENSE_PERMS` and `LICENSE_NAME` must be set, along with either `LICENSE_FILE` or `LICENSE_TEXT`. +crossref:makefiles[licenses-license-list,Predefined License List]), the `LICENSE_PERMS` and `LICENSE_NAME` must be set, along with either `LICENSE_FILE` or `LICENSE_TEXT`. `LICENSE_DISTFILES` and `LICENSE_GROUPS` can also be set, but are not required. -The predefined licenses are shown in crossref:makefiles[licenses-license-list,.Predefined License List]. +The predefined licenses are shown in crossref:makefiles[licenses-license-list,Predefined License List]. The current list is always available in [.filename]#Mk/bsd.licenses.db.mk#. [[licenses-license-ex1]] @@ -5305,7 +5305,7 @@ post-install: These macros do not add the installed files to [.filename]#pkg-plist#. They must be added manually. For optional documentation (`PORTDOCS`, see -crossref:makefiles[install-documentation]) and examples (`PORTEXAMPLES`), the `%%PORTDOCS%%` or `%%PORTEXAMPLES%%` prefixes must be prepended in [.filename]#pkg-plist#. +crossref:makefiles[install-documentation, Install Additional Documentation]) and examples (`PORTEXAMPLES`), the `%%PORTDOCS%%` or `%%PORTEXAMPLES%%` prefixes must be prepended in [.filename]#pkg-plist#. [[install-documentation]] === Install Additional Documentation diff --git a/documentation/content/en/books/porters-handbook/pkg-files/_index.adoc b/documentation/content/en/books/porters-handbook/pkg-files/_index.adoc index 90d2cf755d..96606622ed 100644 --- a/documentation/content/en/books/porters-handbook/pkg-files/_index.adoc +++ b/documentation/content/en/books/porters-handbook/pkg-files/_index.adoc @@ -149,7 +149,7 @@ The message is delimited by double quotes `"`, this is used for simple single li Multiline strings use the standard here document notation. The multiline delimiter _must_ start just after `<<` symbols without any whitespace and it _must_ consist of capital letters only. To finish a multiline string, add the delimiter string on a line of its own without any whitespace. -The message from crossref:pkg-files[porting-message-ucl-short-ex,.UCL Short Strings] can be written as: +The message from crossref:pkg-files[porting-message-ucl-short-ex,UCL Short Strings] can be written as: [.programlisting] .... diff --git a/documentation/content/en/books/porters-handbook/plist/_index.adoc b/documentation/content/en/books/porters-handbook/plist/_index.adoc index c670c4ac0e..68ebc9ea5b 100644 --- a/documentation/content/en/books/porters-handbook/plist/_index.adoc +++ b/documentation/content/en/books/porters-handbook/plist/_index.adoc @@ -159,7 +159,7 @@ If the port installs configuration files to [.filename]#PREFIX/etc# (or elsewher That will cause `pkg delete` to remove files that have been carefully edited by the user, and a re-installation will wipe them out. Instead, install sample files with a [.filename]#filename.sample# extension. -The `@sample` macro automates this, see crossref:plist[plist-keywords-sample] for what it does exactly. +The `@sample` macro automates this, see crossref:plist[plist-keywords-sample, Expanding Package List with Keywords] for what it does exactly. For each sample file, add a line to [.filename]#pkg-plist#: [.programlisting] @@ -399,7 +399,7 @@ On deinstallation, remove it from [.filename]#/etc/shells#. === `@terminfo` Do not use by itself. -If the port installs [.filename]#*.terminfo# files, add crossref:uses[uses-terminfo,USES=terminfo] to its [.filename]#Makefile#. +If the port installs [.filename]#*.terminfo# files, add crossref:uses[uses-terminfo,`USES=terminfo`] to its [.filename]#Makefile#. On installation and deinstallation, if `tic` is present, refresh [.filename]#${PREFIX}/shared/misc/terminfo.db# from the [.filename]#*.terminfo# files in [.filename]#${PREFIX}/shared/misc#. diff --git a/documentation/content/en/books/porters-handbook/special/_index.adoc b/documentation/content/en/books/porters-handbook/special/_index.adoc index 3e054af9f9..fb63f30849 100644 --- a/documentation/content/en/books/porters-handbook/special/_index.adoc +++ b/documentation/content/en/books/porters-handbook/special/_index.adoc @@ -421,11 +421,11 @@ For ports that use CMake, define `USES= cmake`. |`CMAKE_ON` |For each entry in `CMAKE_ON`, an enabled boolean value is added to -`CMAKE_ARGS`. See crossref:special[using-cmake-example2,.`CMAKE_ON` and `CMAKE_OFF`]. +`CMAKE_ARGS`. See crossref:special[using-cmake-example2,`CMAKE_ON` and `CMAKE_OFF`]. |`CMAKE_OFF` |For each entry in `CMAKE_OFF`, a disabled boolean value is added to -`CMAKE_ARGS`. See crossref:special[using-cmake-example2,.`CMAKE_ON` and `CMAKE_OFF`]. +`CMAKE_ARGS`. See crossref:special[using-cmake-example2,`CMAKE_ON` and `CMAKE_OFF`]. |`CMAKE_BUILD_TYPE` |Type of build (CMake predefined build profiles). Default is `Release`, or `Debug` if `WITH_DEBUG` is set. @@ -2438,7 +2438,7 @@ If the application provides a qmake project file ([.filename]#*.pro#), define `U Similar to crossref:special[using-cmake,CMake], qmake supports out-of-source builds, which can be enabled by specifying the `outsource` argument (see crossref:special[using-qmake-example,`USES= qmake` example]). -Also see crossref:special[using-qmake-arguments,.Possible Arguments for `USES qmake`]. +Also see crossref:special[using-qmake-arguments,Possible Arguments for `USES qmake`]. [[using-qmake-arguments]] .Possible Arguments for `USES= qmake` @@ -3624,7 +3624,7 @@ A complete list of available variables can be found in [.filename]#/usr/ports/Mk [IMPORTANT] ==== All dependencies to Python ports using crossref:flavors[flavors-auto-python,Python flavors] (either with `USE_PYTHON=distutils` or `USE_PYTHON=flavors`) must have the Python flavor appended to their origin using `@${PY_FLAVOR}`. -See crossref:special[python-Makefile,.Makefile for a Simple Python Module]. +See crossref:special[python-Makefile,Makefile for a Simple Python Module]. ==== [[python-Makefile]] @@ -3808,7 +3808,7 @@ The available wxWidgets versions and the corresponding ports in the tree are: |package:x11-toolkits/wxgtk30[] |=== -The variables in crossref:special[wx-ver-sel-table,.Variables to Select wxWidgets Versions] can be set to one or more of these combinations separated by spaces: +The variables in crossref:special[wx-ver-sel-table,Variables to Select wxWidgets Versions] can be set to one or more of these combinations separated by spaces: [[wx-widgets-versions-specification]] .wxWidgets Version Specifications @@ -3874,7 +3874,7 @@ These applications can be specified in `WX_COMPS`. These components are availabl |=== The dependency type can be selected for each component by adding a suffix separated by a semicolon. -If not present then a default type will be used (see crossref:special[wx-def-dep-types,.Default wxWidgets Dependency Types]). +If not present then a default type will be used (see crossref:special[wx-def-dep-types,Default wxWidgets Dependency Types]). These types are available: [[wx-widgets-dependency-table]] @@ -3979,7 +3979,7 @@ CONFIGURE_ARGS+= --enable-wxpython [[wx-defined-variables]] === Defined Variables -These variables are available in the port (after defining one from crossref:special[wx-ver-sel-table,.Variables to Select wxWidgets Versions]). +These variables are available in the port (after defining one from crossref:special[wx-ver-sel-table,Variables to Select wxWidgets Versions]). [[wx-widgets-variables]] .Variables Defined for Ports That Use wxWidgets @@ -4757,7 +4757,7 @@ USE_BUDGIE= libbudgie [[using-databases]] == Using Databases -Use one of the `USES` macros from crossref:special[using-databases-uses,.Database `USES` Macros] to add a dependency on a database. +Use one of the `USES` macros from crossref:special[using-databases-uses,Database `USES` Macros] to add a dependency on a database. [[using-databases-uses]] .Database `USES` Macros diff --git a/documentation/content/en/books/porters-handbook/upgrading/_index.adoc b/documentation/content/en/books/porters-handbook/upgrading/_index.adoc index 394d8f333f..5d061414c6 100644 --- a/documentation/content/en/books/porters-handbook/upgrading/_index.adoc +++ b/documentation/content/en/books/porters-handbook/upgrading/_index.adoc @@ -72,7 +72,7 @@ To create a suitable `diff` for a single patch, copy the file that needs patchin % diff -u something.orig something > something.diff .... -Otherwise, either use the `git diff` method (crossref:upgrading[git-diff]) or copy the contents of the port to an entire different directory and use the result of the recursive man:diff[1] output of the new and old ports directories (for example, if the modified port directory is called [.filename]#superedit# and the original is in our tree as [.filename]#superedit.bak#, then save the result of `diff -ruN superedit.bak superedit`). +Otherwise, either use the `git diff` method (crossref:upgrading[git-diff, Using Git to Make Patches]) or copy the contents of the port to an entire different directory and use the result of the recursive man:diff[1] output of the new and old ports directories (for example, if the modified port directory is called [.filename]#superedit# and the original is in our tree as [.filename]#superedit.bak#, then save the result of `diff -ruN superedit.bak superedit`). Either unified or context diff is fine, but port committers generally prefer unified diffs. Note the use of the `-N` option-this is the accepted way to force diff to properly deal with the case of new files being added or old files being deleted. Before sending us the diff, please examine the output to make sure all the changes make sense. diff --git a/documentation/content/en/books/porters-handbook/uses/_index.adoc b/documentation/content/en/books/porters-handbook/uses/_index.adoc index d2005f5ba8..6c5dc918ea 100644 *** 90 LINES SKIPPED *** From nobody Mon Sep 23 16:45:04 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XC8404KQnz5WD6S for ; Mon, 23 Sep 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XC8403f40z4PVT; Mon, 23 Sep 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727109904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pIoFhveuQXOIFJkXZLENBSp+ejUN4G8DOlPbkbuCcLA=; b=cvwYMIE5geYnaFLqYBot+04uyTe6SAdVnSNSzSz4lpoly371PW2pX7JutvTFpHonu3l1hV jAAkm8igrIUAI/kQl0GFBIPf4XTH2tWnA7ZvrdgbHiZ09xtz5g+6UzLPJkuuXas9M9fTNO iHTP4M/Unqu9oEL4syeoRWZg7GxKVuV31g0Jwhcn/tGV4ZhQSAZ0U2i7pfdhXORMJmrFrL pgZ3CsGgMt6QF17AgLq9pj+nrp95yDtgeAHGw76Ml20HzRg2zZ2BVH/hSBBbTyZbterW7h vjJHGKR1YVDmAgmpkmV7wZP12a+EFgKARyZiKqH+pkzI2omrxIh37awRL3ZsXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727109904; a=rsa-sha256; cv=none; b=KOFY4UDJ/IdjsXGVrR18l4LPrrs2qE68JM4SFGrh3rBRf+0QRbuhJXz2s7sONccud2cdKW RfSHDH5kbb8kWSgzMf0daVRH2CWyq2Ctmaha5wVIxYFPnWVDkbc5pM9OHhW2zztlJmXh9C sO5uaGEmT8oBWrZHFOQMEJwck3MMmKixAPMywTQh4WNqkk9GZbFXd8E2xgbmu1IZckRw0j LuNNMCqLsBaxkf8Nb7f4QZWKa47PVjtSzpbs3nCE8b9XBuSdwXwKELH97JvXxu+QFjVMoy halCYZoJ/vFpDvspZ/67hrBXsxeRlQcSItiqpSQhelDLoI9KB6rf3TtTzhtwAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727109904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pIoFhveuQXOIFJkXZLENBSp+ejUN4G8DOlPbkbuCcLA=; b=Qh4h1kS+qOYL4rgkjp61oH7/5SbzDQMv5Z69v4ARCFEClvrdco6quobiLfOxrbENaWD8Fz R4MJ/T0r3GYz6cz5JLv92DPYIZXNCGIco+A4NtlD8akTcwK5w3GEYxRmjt+Wf0hmSqxTZr qp5gd6bxwXEOqbWS1ghSEx7RXTbsI+EUT5ce6ZmCtgtTHRYaASoF2CJQdrmwTE68u+S3nz XHJtuKCTKbxW9kdnY5F+sG+qsy23itA8N76k14zhQkSKQkt90CE4/IrREyxy4Dl2+Yoh3s o5u8RCk/xjzJwRn1YJBrTjS0SKUJqtgn26xJnWNbSkXI5WJiHXAgrP7E7qjsFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XC8403Dtbzs8c; Mon, 23 Sep 2024 16:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48NGj4kq082221; Mon, 23 Sep 2024 16:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48NGj4UW082218; Mon, 23 Sep 2024 16:45:04 GMT (envelope-from git) Date: Mon, 23 Sep 2024 16:45:04 GMT Message-Id: <202409231645.48NGj4UW082218@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 81a1607366 - main - Update EoL for 14.1. List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81a1607366e97d45b8351aabe99e3309cb88062a Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=81a1607366e97d45b8351aabe99e3309cb88062a commit 81a1607366e97d45b8351aabe99e3309cb88062a Author: Colin Percival AuthorDate: 2024-09-23 12:28:18 +0000 Commit: Colin Percival CommitDate: 2024-09-23 16:44:55 +0000 Update EoL for 14.1. 14.2 will happen in December 2024 (per the announced schedule of upcoming releases) so "14.2-RELEASE + 3 months" is March 2025. Sponsored by: Amazon --- website/content/en/security/_index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/security/_index.adoc b/website/content/en/security/_index.adoc index 32d9ddbb26..7c67247753 100644 --- a/website/content/en/security/_index.adoc +++ b/website/content/en/security/_index.adoc @@ -104,7 +104,7 @@ link:unsupported[Older releases] are not supported and users are strongly encour |=== |Branch |Release |Release Date |Expected EoL |stable/14 |n/a |n/a |November 30, 2028 -|releng/14.1 |14.1-RELEASE |June 4, 2024 |14.2-RELEASE + 3 months +|releng/14.1 |14.1-RELEASE |June 4, 2024 |March 31, 2025 |releng/14.0 |14.0-RELEASE |November 20, 2023 |September 30, 2024 |stable/13 |n/a |n/a |April 30, 2026 |releng/13.4 |13.4-RELEASE |September 17, 2024 |June 30, 2025 From nobody Tue Sep 24 09:15:43 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XCZ336jLQz5XY0n for ; Tue, 24 Sep 2024 09:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XCZ336Cchz4v13; Tue, 24 Sep 2024 09:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727169343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=POvwjAq/a+A09pgF80F25Z94g3TDq5KNx3RYHNAw2hY=; b=A+P/7au9vtnRYpMQurX1KvDENT9awkSrVii9dH74zbo8m3J89gTRGic/RRmFxOgZF3l0Qi QGK/EWDhJm+DGqGBTcKicANiU9DqJnqZ3MgOSiRj5BKauzfOZqsGaOrPVsUD3OX1gsewic gGQAc+Sg4riS+mlgjqjIOW8JAfvFxb1VulnRhFjb4nk8XjfHF/97GmI/wIuAzE7si3f9Vw Cnt0SvLp66Y8rp3TX4dk3YsyRWxxbwnhQ2Ck+sx6/sf/Ag7Dce/SPCYlV9UYHpPzX3urqI KttzKQIknWs4GgdMoWz/6LolnLJrdwgS5Xd1OvA8OnWwOHxTnjj2QgR913fWVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727169343; a=rsa-sha256; cv=none; b=fpyiC+Rk/pB2WwHekvsrUw3CV6vZ+uUylQ73KPXWhwY1+OgfjCo3RYhwJmTUdGK/8LAIz2 88+V40vV019J4o2DcIO42At9rgVEw3VymFgpkhmA/a3fkC2JmPtmDIcHSdO8CBJ4y5jJzi XE39PicQ7aPE5nnisSpAwSFlBClkmXMQktQ8UkPYIvfAWjnLp9U8klWUibcpCy5ptIYQN1 y+UoymyUVe9ezXJquOGa25NyJrjnAl6TcdNs9OPKHIAdksSXiHF2U94zyunWaakjqt7I90 lTPxmkuZXhFYQYtfETWibuoLfSFGibuXLdRspuiYK9knX8oxQ84Vhn+dl6d9yA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727169343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=POvwjAq/a+A09pgF80F25Z94g3TDq5KNx3RYHNAw2hY=; b=lw61O24mXsDPovAWWECto2WwDsnQYklx2zpLXzz3M81nadws+sUrkTUx5g/rAcl0KPGMpF ftnexd7m01vKsrUgyD74XCt2hOabsaXbBGsHzjbblakl4v+lkFrDdxJo4fYjLyVLUvlCmc LXPJ6ZKLyAgnbMaZQ7jmSF25FMTAvev/UQe2fF7hS4lONG1s32FCnS06DmFGbBHDE29p0S c5cHlBiQJXn7yM/2iyusNddYULpJmzo3aiXU1CRTvXcZQQMl4pFneHUsCDkWs9UwIGqo5+ dhNDEMRlijt+yNCqUe6jo77gQxpkR0qzRAqrNtgNwc5xE4jszCQ+0Z9dicUTmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XCZ335cwBzMp7; Tue, 24 Sep 2024 09:15:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48O9FhrH073730; Tue, 24 Sep 2024 09:15:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48O9Fh9i073727; Tue, 24 Sep 2024 09:15:43 GMT (envelope-from git) Date: Tue, 24 Sep 2024 09:15:43 GMT Message-Id: <202409240915.48O9Fh9i073727@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: c641eb0dbc - main - always use HTTPS links List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c641eb0dbc15a55024b3f057a136c68657fa0e51 Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=c641eb0dbc15a55024b3f057a136c68657fa0e51 commit c641eb0dbc15a55024b3f057a136c68657fa0e51 Author: Wolfram Schneider AuthorDate: 2024-09-24 09:15:27 +0000 Commit: Wolfram Schneider CommitDate: 2024-09-24 09:15:27 +0000 always use HTTPS links --- documentation/content/en/articles/committers-guide/_index.adoc | 2 +- documentation/content/en/articles/committers-guide/_index.po | 2 +- documentation/content/en/books/handbook/disks/_index.adoc | 4 ++-- documentation/content/en/books/handbook/disks/_index.po | 4 ++-- documentation/content/en/books/handbook/firewalls/_index.adoc | 2 +- documentation/content/en/books/handbook/firewalls/_index.po | 4 ++-- documentation/content/en/books/handbook/virtualization/_index.adoc | 2 +- documentation/content/en/books/handbook/virtualization/_index.po | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/documentation/content/en/articles/committers-guide/_index.adoc b/documentation/content/en/articles/committers-guide/_index.adoc index ff2923c80c..0c3e116589 100644 --- a/documentation/content/en/articles/committers-guide/_index.adoc +++ b/documentation/content/en/articles/committers-guide/_index.adoc @@ -112,7 +112,7 @@ Useful links: Cryptographic keys conforming to the OpenPGP (__Pretty Good Privacy__) standard are used by the FreeBSD project to authenticate committers. Messages carrying important information like public SSH keys can be signed with the OpenPGP key to prove that they are really from the committer. -See https://nostarch.com/releases/pgp_release.pdf[PGP & GPG: Email for the Practical Paranoid by Michael Lucas] and http://en.wikipedia.org/wiki/Pretty_Good_Privacy[] for more information. +See https://nostarch.com/releases/pgp_release.pdf[PGP & GPG: Email for the Practical Paranoid by Michael Lucas] and https://en.wikipedia.org/wiki/Pretty_Good_Privacy[] for more information. [[pgpkeys-creating]] === Creating a Key diff --git a/documentation/content/en/articles/committers-guide/_index.po b/documentation/content/en/articles/committers-guide/_index.po index 57e15ce4af..2ec51995ed 100644 --- a/documentation/content/en/articles/committers-guide/_index.po +++ b/documentation/content/en/articles/committers-guide/_index.po @@ -246,7 +246,7 @@ msgid "" "Messages carrying important information like public SSH keys can be signed " "with the OpenPGP key to prove that they are really from the committer. See " "https://nostarch.com/releases/pgp_release.pdf[PGP & GPG: Email for the " -"Practical Paranoid by Michael Lucas] and http://en.wikipedia.org/wiki/" +"Practical Paranoid by Michael Lucas] and https://en.wikipedia.org/wiki/" "Pretty_Good_Privacy[] for more information." msgstr "" diff --git a/documentation/content/en/books/handbook/disks/_index.adoc b/documentation/content/en/books/handbook/disks/_index.adoc index 2d1f162193..bc03eedbfb 100644 --- a/documentation/content/en/books/handbook/disks/_index.adoc +++ b/documentation/content/en/books/handbook/disks/_index.adoc @@ -82,7 +82,7 @@ Inspect [.filename]#/var/run/dmesg.boot# to ensure the new disk was found. In this example, the newly added SATA drive will appear as [.filename]#ada1#. For this example, a single large partition will be created on the new disk. -The http://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning scheme will be used in preference to the older and less versatile MBR scheme. +The https://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning scheme will be used in preference to the older and less versatile MBR scheme. [NOTE] ==== @@ -166,7 +166,7 @@ List the partitions on the disk to see the current configuration: [NOTE] ==== -If the disk was formatted with the http://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning scheme, it may show as "corrupted" because the GPT backup partition table is no longer at the end of the drive. +If the disk was formatted with the https://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning scheme, it may show as "corrupted" because the GPT backup partition table is no longer at the end of the drive. Fix the backup partition table with `gpart`: [source,shell] diff --git a/documentation/content/en/books/handbook/disks/_index.po b/documentation/content/en/books/handbook/disks/_index.po index 243e97ee3e..653339cc41 100644 --- a/documentation/content/en/books/handbook/disks/_index.po +++ b/documentation/content/en/books/handbook/disks/_index.po @@ -147,7 +147,7 @@ msgstr "" #: documentation/content/en/books/handbook/disks/_index.adoc:86 msgid "" "For this example, a single large partition will be created on the new disk. " -"The http://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning " +"The https://en.wikipedia.org/wiki/GUID_Partition_Table[GPT] partitioning " "scheme will be used in preference to the older and less versatile MBR scheme." msgstr "" @@ -290,7 +290,7 @@ msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/disks/_index.adoc:171 msgid "" -"If the disk was formatted with the http://en.wikipedia.org/wiki/" +"If the disk was formatted with the https://en.wikipedia.org/wiki/" "GUID_Partition_Table[GPT] partitioning scheme, it may show as \"corrupted\" " "because the GPT backup partition table is no longer at the end of the " "drive. Fix the backup partition table with `gpart`:" diff --git a/documentation/content/en/books/handbook/firewalls/_index.adoc b/documentation/content/en/books/handbook/firewalls/_index.adoc index 0075506a6a..2175a1717b 100644 --- a/documentation/content/en/books/handbook/firewalls/_index.adoc +++ b/documentation/content/en/books/handbook/firewalls/_index.adoc @@ -99,7 +99,7 @@ Packets destined for a specific service originate from the source address using All the above parameters can be used as selection criteria to create rules which will pass or block services. To lookup unknown port numbers, refer to [.filename]#/etc/services#. -Alternatively, visit http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers[http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers] and do a port number lookup to find the purpose of a particular port number. +Alternatively, visit https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers[https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers] and do a port number lookup to find the purpose of a particular port number. Check out this link for http://web.archive.org/web/20150803024617/http://www.sans.org/security-resources/idfaq/oddports.php[port numbers used by Trojans]. diff --git a/documentation/content/en/books/handbook/firewalls/_index.po b/documentation/content/en/books/handbook/firewalls/_index.po index 14d6b5b4b0..b7738a80aa 100644 --- a/documentation/content/en/books/handbook/firewalls/_index.po +++ b/documentation/content/en/books/handbook/firewalls/_index.po @@ -183,8 +183,8 @@ msgstr "" #: documentation/content/en/books/handbook/firewalls/_index.adoc:103 msgid "" "To lookup unknown port numbers, refer to [.filename]#/etc/services#. " -"Alternatively, visit http://en.wikipedia.org/wiki/" -"List_of_TCP_and_UDP_port_numbers[http://en.wikipedia.org/wiki/" +"Alternatively, visit https://en.wikipedia.org/wiki/" +"List_of_TCP_and_UDP_port_numbers[https://en.wikipedia.org/wiki/" "List_of_TCP_and_UDP_port_numbers] and do a port number lookup to find the " "purpose of a particular port number." msgstr "" diff --git a/documentation/content/en/books/handbook/virtualization/_index.adoc b/documentation/content/en/books/handbook/virtualization/_index.adoc index 8082578062..cd1c614ee4 100644 --- a/documentation/content/en/books/handbook/virtualization/_index.adoc +++ b/documentation/content/en/books/handbook/virtualization/_index.adoc @@ -1482,7 +1482,7 @@ Note that not all features are supported on FreeBSD yet. === Hardware Requirements for Xen(TM) Dom0 To run the Xen(TM) hypervisor on a host, certain hardware functionality is required. -Hardware virtualized domains require Extended Page Table (http://en.wikipedia.org/wiki/Extended_Page_Table[EPT]) and Input/Output Memory Management Unit (http://en.wikipedia.org/wiki/List_of_IOMMU-supporting_hardware[IOMMU]) support in the host processor. +Hardware virtualized domains require Extended Page Table (https://en.wikipedia.org/wiki/Extended_Page_Table[EPT]) and Input/Output Memory Management Unit (https://en.wikipedia.org/wiki/List_of_IOMMU-supporting_hardware[IOMMU]) support in the host processor. [NOTE] ==== diff --git a/documentation/content/en/books/handbook/virtualization/_index.po b/documentation/content/en/books/handbook/virtualization/_index.po index 342585c9fc..43c4dcc26f 100644 --- a/documentation/content/en/books/handbook/virtualization/_index.po +++ b/documentation/content/en/books/handbook/virtualization/_index.po @@ -2964,7 +2964,7 @@ msgid "" "To run the Xen(TM) hypervisor on a host, certain hardware functionality is " "required. Hardware virtualized domains require Extended Page Table (http://" "en.wikipedia.org/wiki/Extended_Page_Table[EPT]) and Input/Output Memory " -"Management Unit (http://en.wikipedia.org/wiki/List_of_IOMMU-" +"Management Unit (https://en.wikipedia.org/wiki/List_of_IOMMU-" "supporting_hardware[IOMMU]) support in the host processor." msgstr "" From nobody Wed Sep 25 08:50:39 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XD9Rg33QDz5XBN6 for ; Wed, 25 Sep 2024 08:50:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XD9Rg2SVKz4SLC; Wed, 25 Sep 2024 08:50:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727254239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PjC7tsuZubpcIWIwjrQr56NJxDpDHKqLs09oA4ScB0c=; b=GiqEwmsJTu4/3y0iI3dPIONkJTEh5QgOO4p9noPbSRtjyB0dydVSKh+6b28T5PkbAWeAla 7l2lqAhWaTgmXkE1kAD2Pi2LUfyWAUhd4GwV6WtA25exkAAXl/wS6p81WJg/o5xN0AjQJV zqPH/l8sjIYTITZ6GdvZ8+FAIfTbUirO5a7nWYuWmZeL0nv7a9hm6I+JJTSsxLwWIumOQB erjRYfcNE5FVrU20xLuT6FdMexn5qaq5JQ7hvcIFwc14ubGE0pzOtPxM9TulIt7ho9XN18 YdI4RLLGkiK4yjyRj8CT+geA9lIK+NWn/4ytGBCBWIOw023HdN7cZs0v+GcXGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727254239; a=rsa-sha256; cv=none; b=neDyn/PGxnje/nGfFVBbqtSjEclx40e4Rr4ZW6+2sRVrpoxCvujbjfB/o+ZIcjzqEiB8FB qnkb7oixxb8bLSYwWLNhEN3eRZ7P0RSnN1fMM75iq1exIVZVliQimLQBAhs5VA6bAklRXl V64I1R22HrkfCLs8b5BPZRuV5YDywp9wVFDrQeUXbDBAPONroB78y9mx2oA9tUL2g/E3i6 tlYkYThmqoVXX+fSvAmS7/EDPkXW+H/8sB2uh7XGRc9avmFmnkNdLRzWt74ic1s24ySN7K X7BKzER2r9oZnbj0jgdhhi5R49O0+0wYCyVjZb8LO+8v/QQoFbyBQQ4wWaKO1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727254239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PjC7tsuZubpcIWIwjrQr56NJxDpDHKqLs09oA4ScB0c=; b=CJHFdvmdPG3Ll3pdUMzLMApONlzCn2a4Jhm6gqGd4su4DuBsL6Zd91OrcyLwQPskFNRP7a QJsZniZvo//SLgmrYMfNSxq+skVCsYC7GcIQAh/SvqbGax5Pd0xtiO2BVpVn5NAYnOsP/u ItQCjArjaKzKeViPSYh9xU3SO8OghRw9GymZeyL6L/Gu0LIDbw1e76WVfXd/W0LzSIysry Yp6m2Tw/rODWa+onZqwPBe2sPVMntk1Pt6oeKg23XSLnuaRfwao85wa/XuR9ECQB/nYaqb gwZcOeE/MtTO5vciPO/sUE0p0MHa4RSjAxIFcVGtHNNKVA31K87x5m8W1XNLag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XD9Rg21c6z1503; Wed, 25 Sep 2024 08:50:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48P8odGH093566; Wed, 25 Sep 2024 08:50:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48P8odOo093563; Wed, 25 Sep 2024 08:50:39 GMT (envelope-from git) Date: Wed, 25 Sep 2024 08:50:39 GMT Message-Id: <202409250850.48P8odOo093563@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Igor Ostapenko Subject: git: 28a0d0b9dc - main - Status/2024Q3/kyua.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28a0d0b9dc6ea00555896f9d091e0de8abe1d7f7 Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/doc/commit/?id=28a0d0b9dc6ea00555896f9d091e0de8abe1d7f7 commit 28a0d0b9dc6ea00555896f9d091e0de8abe1d7f7 Author: Igor Ostapenko AuthorDate: 2024-09-25 08:44:55 +0000 Commit: Igor Ostapenko CommitDate: 2024-09-25 08:44:55 +0000 Status/2024Q3/kyua.adoc: Add report Reviewed by: pauamma_gundo.com, salvadore, kp, markj Approved by: kp (mentor) Differential Revision: https://reviews.freebsd.org/D46688 --- .../en/status/report-2024-07-2024-09/kyua.adoc | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/website/content/en/status/report-2024-07-2024-09/kyua.adoc b/website/content/en/status/report-2024-07-2024-09/kyua.adoc new file mode 100644 index 0000000000..42e3f42ee3 --- /dev/null +++ b/website/content/en/status/report-2024-07-2024-09/kyua.adoc @@ -0,0 +1,40 @@ +=== Kyua Jail Support + +Contact: Igor Ostapenko + +The FreeBSD test suite is executed by the man:kyua[1] utility. +Kyua supports parallel execution of tests with `kyua -v parallelism= test`, however many network tests leverage man:jail[8] features like man:VNET[9] and have conflicts with jail naming and network configuration. +As a result they are marked with the `is_exclusive=true` metadata property to prevent them from running at the same time and interfering with each other. +It creates a dilemma when a project aims to increase test coverage, but the accumulation of exclusive tests proportionally increases the time required to run them. +This, in turn, affects the development process from multiple angles. + +Kyua has recently got a change in 15-CURRENT to support a new concept called "execution environment". +By default, tests run in the so-called "host" execution environment, where they are executed as before. +A test can opt-in to use a brand new execution environment, the "jail" one. +In this case, kyua creates a jail before running the test, and then executes the test within the jail. +That opens up the opportunity to run more tests in parallel due to the extra isolation provided by the jail concept itself, and specifically by the VNET. +It depends on hardware and configuration, but there are reports that having the same environment [.filename]#netpfil/pf# tests can be run around 4 times faster -- a few minutes instead of half an hour. + +The following Makefile change is a quick demo of how [.filename]#netpfil/pf# tests were switched to run in parallel with jail execution environment: + + -# Tests reuse jail names and so cannot run in parallel. + -TEST_METADATA+= is_exclusive=true + +# Allow tests to run in parallel in their own jails + +TEST_METADATA+= execenv="jail" + +TEST_METADATA+= execenv_jail_params="vnet allow.raw_sockets" + +More details: + +* The key commit with detailed description: link:https://cgit.freebsd.org/src/commit/?id=257e70f1d5ee61037c8c59b116538d3b6b1427a2[257e70f1d5ee61037c8c59b116538d3b6b1427a2] +* The man pages covering the "execenv" feature: man:kyuafile[5], man:kyua.conf[5] + +This change also brings new sysctl read-only variables, which expose more details about current jail, and may be generally useful: + +* `security.jail.children.max: Maximum number of child jails` +* `security.jail.children.cur: Current number of child jails` + +A hint: the `sysctl -n security.jail.children.cur` run from `prison0` provides the number of all jails in the system. + +Further improvements to Kyua, such as requirements definition and automatic resolution, are currently in the design phase. +Potentially new metadata properties like `required_klds` and `required_pkgs` provide a clue to these topics. +Please contact Igor to discuss ideas and use cases that can help shape these upcoming Kyua enhancements. From nobody Wed Sep 25 17:08:56 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XDNVd0kchz5XSZM for ; Wed, 25 Sep 2024 17:08:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XDNVd07c5z4bTV; Wed, 25 Sep 2024 17:08:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727284137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GChdk8YKzXaG512yteSiidoxtHe/DYygmI1RSN6jxA0=; b=kuvSbsW+WYR5zoHLJuPrLS19RG5wueNlP1vg4dFtWb4tmu2gJx93b7uXyKIJzu2jA2/T9u WESTP1BwgfT68i0Gmaz7vcC6h2oPOqr9pbok7o8YS6J0EhPhbQ5n6+i8F7U31u4ULBdugY ce8LE85m6oosT9J5bdm2DITKg30VYSfDlOdPRMFWvo3vbLGNawlpXe7ZUoK//j2s8rxt7F J/6kw0pDJhAXo64uqopcucbhDqgbvIWh0CO3gmBbHGZp42YGL40DeSbJJ6lhCgB+SIj2Va iRxFgZmjTyD0CzpatQUeI7RJFMlEgZ1sb8qzrShyqWYv0neYWOkT65kHEJXaQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727284137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GChdk8YKzXaG512yteSiidoxtHe/DYygmI1RSN6jxA0=; b=BGWed6UQ3TgkAWPp5KHQ2EAHa/pp8FmeyD46Koo8rIz16KM7+n5EKywhFpS+y7gXvTJWji 41+BWZljlNZtUK9HxVm9X9vxzRgwpCmgrSH1NGimoixhwKkajzejGy4IhACaipfiiZq32C RFI3+JJEqzGENZO9Z82RxdiQlQXQqq6o5NvaiJvc8o92MPdTesUcST913XNcYSxbiSP2zJ IDq/CddTzuPbquzXOg0cEPxYUF7leG9VkI3IiRORz0Z813hI5Qh4L1tSPjiJxBJxlHUzcj ewzVFUJuEFzKsUoW2IXPSx9i0CkEFFwMg1Z7psBM6RZ6nY6pY7FjCcC1bAamNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727284137; a=rsa-sha256; cv=none; b=ofxfN+eVN6ViWoXw2+71yet/fMCiQtmTc27gH3R6dkSl4FwiNfY47xtHkTq4Bm2s2eqFik dTH9CuNNC7BqyLlA3xx3N2uInaK0NzPo4hRvKCzNgVbuAS4d7pQj2dLPVdV4oCGxhSLVXH qFxFXjWHGQw40swVobLqoLPRohbhovBdeaG28WBrw/KKs8T0sh9LUBQHj1tU6Kh9Igz1oK EPy8UDgos3XUyvtnn00llKiyH7gM+Sie7Yz0fYyb3K53QV046eP7o0sJAreasy+eJqJXRh QQPKrAmlWs48aTy/Uwe8Rk3g6lt/IICD34v6aNcWoUWfq7WK/cnrvC1V1cuqsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XDNVc6jwZzLs5; Wed, 25 Sep 2024 17:08:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48PH8uET030541; Wed, 25 Sep 2024 17:08:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48PH8uEf030538; Wed, 25 Sep 2024 17:08:56 GMT (envelope-from git) Date: Wed, 25 Sep 2024 17:08:56 GMT Message-Id: <202409251708.48PH8uEf030538@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: b2c0f97099 - main - Status/2024Q3: Add releng.adoc List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b2c0f97099a06ee9500296247f17e78b94945a3f Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=b2c0f97099a06ee9500296247f17e78b94945a3f commit b2c0f97099a06ee9500296247f17e78b94945a3f Author: Colin Percival AuthorDate: 2024-09-01 00:14:23 +0000 Commit: Colin Percival CommitDate: 2024-09-25 17:08:45 +0000 Status/2024Q3: Add releng.adoc Reviewed by: bofh, salvadore Sponsored by: Amazon Differential revision: https://reviews.freebsd.org/D46501 --- .../content/en/status/report-2024-07-2024-09/releng.adoc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/website/content/en/status/report-2024-07-2024-09/releng.adoc b/website/content/en/status/report-2024-07-2024-09/releng.adoc new file mode 100644 index 0000000000..6426d7407c --- /dev/null +++ b/website/content/en/status/report-2024-07-2024-09/releng.adoc @@ -0,0 +1,16 @@ +=== FreeBSD Release Engineering Team + +Links: + +link:https://www.freebsd.org/releases/13.4R/announce/[FreeBSD 13.4-RELEASE announcement] URL: link:https://www.freebsd.org/releases/13.4R/announce/[] + +link:https://www.freebsd.org/releases/14.2R/schedule/[FreeBSD 14.2-RELEASE schedule] URL: link:https://www.freebsd.org/releases/14.2R/schedule/[] + +link:https://download.freebsd.org/releases/ISO-IMAGES/[FreeBSD releases] URL: link:https://download.freebsd.org/releases/ISO-IMAGES/[] + +link:https://download.freebsd.org/snapshots/ISO-IMAGES/[FreeBSD development snapshots] URL: link:https://download.freebsd.org/snapshots/ISO-IMAGES/[] + +Contact: FreeBSD Release Engineering Team, + +The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things. + +The Team managed 13.4-RELEASE, leading to the final RELEASE build and announcement in September. +Planning has started for the upcoming 14.2-RELEASE cycle. + +The Release Engineering Team continued providing weekly development snapshot builds for the *main*, *stable/14*, and *stable/13* branches. From nobody Wed Sep 25 22:43:07 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XDWwC1nRyz5Xpbc for ; Wed, 25 Sep 2024 22:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XDWwC1BT3z44WB; Wed, 25 Sep 2024 22:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727304187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CR2mHw4hsoHKfmPvfKIbshpGtk9csrD+NA511LMkU+4=; b=Z2ukO+2W748x8AzhtJd8VIm8y4daqtemZ9j4ev/yZS8h8yAEb+UY+X4NmZZKstkITyP/m9 mUm39VYq7bW9dXntQjbc/g3hCVKo5gyKhSKVstmR//4Rad8JjLThXjJlF427I8Qz4W9mgr V5IbJAOcEmeftOXprOysYXGlS/5I8RktDTOWZPasM4mXT4d07imm/DIAC7KyQNdUQMfVaQ 69bvyWaP4LOwJPRR29uJvXHH95eIb+fnwq2rTTiXAWSzf88GAU3aNXb0jHuCvrcYqDNLbW XSbSGhdUw+4TPHRkgXbWHYBL0obAIVepVtAQj9uZJSS6Lm3z1WzedLG8MCQUYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727304187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CR2mHw4hsoHKfmPvfKIbshpGtk9csrD+NA511LMkU+4=; b=gcE+p6AlqUOlXkowsD3dO4OI8joVaMT7WhYQoDVkNqBNY8pNgcJrK8bwn32wPnuEm8Hjsq UYzB5z1KHPMsKN+XgCkbXRr8sM2a1L9tLmmFRySiEw/hiirGhJzsoiX/Iij8MBZaLezYJV XrCVY4+mWqBdpUKGgORR4NCQviCJlVo9tgQZ5oFkldK1BUesHxt0y1+l97lyGNjA0teiU9 b/41UIbUoIta5bsZ1KVxDMsgTPrgnPo/rypIuHvgs6muICigJf8ExAiDsnzpcPm0Gv0dZg yrDVnZMIJRtLBVL1chDcjkjFM4QQInF3bMSG/PQ77SaP72uZzxHEOB3+DsE6Tw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727304187; a=rsa-sha256; cv=none; b=pMctQ4oyBJW95nfLvjf9AAhnUktIaaX2nxWmDwgjtJO9MfoD07kCLcGTMph9zm/I7DGNNd q64uJKpvbMufPWz8LVqegR0bhdQXm8b3m7BI0sDvyq+DdUq+UMRMUxjopJOcJufrelf1Ed lMCbmwYFwhFn/8QuK99dWqjFQMAujftchLiVmyKQO1hKDI6q9h95sFOHjuU2aaNoOQ1GK0 U//12ZxwuS+5NR5IpoOYLranbBh+qriW9Gg4M7vZkuNB3MWrVNv9dAjIZjRwXF1jHGSrw8 1G7oJXlpewKQ9+jLIuGYlwmRM13dQqIXImviv3Em+W+iJ7TSZRv2MsPYwsBTww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XDWwC0p1jzX3X; Wed, 25 Sep 2024 22:43:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48PMh7hB006231; Wed, 25 Sep 2024 22:43:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48PMh7qs006228; Wed, 25 Sep 2024 22:43:07 GMT (envelope-from git) Date: Wed, 25 Sep 2024 22:43:07 GMT Message-Id: <202409252243.48PMh7qs006228@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 4aa4abffba - main - 13.4: Now owned by security-officer. List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4aa4abffba02dd86056a9ddbf77e70b025b3bdcc Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=4aa4abffba02dd86056a9ddbf77e70b025b3bdcc commit 4aa4abffba02dd86056a9ddbf77e70b025b3bdcc Author: Colin Percival AuthorDate: 2024-09-25 22:42:19 +0000 Commit: Colin Percival CommitDate: 2024-09-25 22:42:19 +0000 13.4: Now owned by security-officer. The release engineering team is finished with 13.4. Sponsored by: Amazon --- website/content/en/releng/_index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/releng/_index.adoc b/website/content/en/releng/_index.adoc index 627ecf287b..a9f6fe3018 100644 --- a/website/content/en/releng/_index.adoc +++ b/website/content/en/releng/_index.adoc @@ -49,7 +49,7 @@ This table lists the code freeze status for major branches of the `src/` reposit |`releng/14.1` |Frozen |security-officer@FreeBSD.org |FreeBSD 14.1 supported errata fix branch. |`releng/14.0` |Frozen |security-officer@FreeBSD.org |FreeBSD 14.0 supported errata fix branch. |`stable/13` |Open |committers |Development branch for FreeBSD 13-STABLE. -|`releng/13.4` |Frozen |re@FreeBSD.org |FreeBSD 13.4 supported errata fix branch. +|`releng/13.4` |Frozen |security-officer@FreeBSD.org |FreeBSD 13.4 supported errata fix branch. |`releng/13.3` |Frozen |security-officer@FreeBSD.org |FreeBSD 13.3 supported errata fix branch. |`releng/13.2` |Frozen |security-officer@FreeBSD.org |FreeBSD 13.2 errata fix branch (not officially supported). |`releng/13.1` |Frozen |security-officer@FreeBSD.org |FreeBSD 13.1 errata fix branch (not officially supported). From nobody Thu Sep 26 05:06:45 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XDhQt0dM0z5YCqJ for ; Thu, 26 Sep 2024 05:06:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XDhQs5Zq1z4gmd; Thu, 26 Sep 2024 05:06:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727327205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+IrONVK5ighdragooUbiTQRhJtSN6LVE0T19MhVqYU=; b=XZ+VWf7duqehNjdVg/Hi+us7S2BvhfCOgNulXy6tduNAVBekm9shYO+U9dcFc2Z49HFEgO CpieX9nFYAzhO/ZYQdktSMdud+ofSZZUcGehEG6snRIwCauJ25p5Hq/Om+ZK7L4p/hEcda kZmMwExAmb7BwZLCpzy4b+fGd7MdCHjepIU/I6wqupnQKrb1NtzVl86HaFsoV/hC3qhbm8 rBKkZgr5/Kn6XYIG+eNsvws8mvePwI6L44CbPpy6TZO3Qjaba4tkjuNtOg2El3yFjlEwUe kWCMtvV6sQZx0s80Ga6fCx/404SvLMMUn5tcG+h14K2jHDeY6n0fT+qUk7l1SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727327205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+IrONVK5ighdragooUbiTQRhJtSN6LVE0T19MhVqYU=; b=iZy+iPr/2XFHfNds3G8jc0nypzLteNqbmVNw7qcYgm2DqgdB89RHXn67x8TC548pIRr6Eu AP8AbpgAwFwNSYG/vuS4cQawTyei74s4uZo75Y+2KYTmsVNtcGQagNaFzWPvft8uSytxUV Rwv7BtcWJ45BqeVStB235KLcsGON4PhjOiNKCP7DjNF2fxCnicnaldtUITGn5VClE7Sm64 vjkQIcgt0uq2TJfV005L56sQfENjCFCtRvkTLux6qqli/ONEgzTwU/sDkfMqprLKA5TgkA gRVl0vaTOLQess8Y7pJ+EClrx9nb9ga9uIyK207oahXpYH/WRz3/i1dSiUtZtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727327205; a=rsa-sha256; cv=none; b=t4LcxzrxUR9TBYbV8QX6vBLyL3v20AhtzVyy2AiRkRZNpMpFvydIW0r5IM1qG2iIZLcOXo espwxamgYEA0MrhGLyXCMTxcAREDBZ7pdfTIHy4gWjv+DbA2pPSRr+dPXcHgIlUu0njRyV QLBOcik/6FymCSZx3Dzwl2L+YfLfl7E/R6ziK9V4f2Jw3NF1QwJs6CKppcM/QRS45FNW52 EhyyY/q4gi8/KuIjUugsywFKSxL2xZt0sbt1O/BUuiFaYvBRrhR3NVGGTX+YoWhmu6xHLX go6djZM7obzSluxgENvFyBk7N4EL9ivqncCuJD1CLgxkmYqFDg2UcCOx4KqPfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XDhQs59Mxzk7x; Thu, 26 Sep 2024 05:06:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48Q56jhw052493; Thu, 26 Sep 2024 05:06:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48Q56jeN052490; Thu, 26 Sep 2024 05:06:45 GMT (envelope-from git) Date: Thu, 26 Sep 2024 05:06:45 GMT Message-Id: <202409260506.48Q56jeN052490@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Gregory Neil Shapiro Subject: git: 959cfd57fa - main - Renew public key (extend expiration date) List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gshapiro X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 959cfd57faf6b85ebbe50b39e3eaf6fa73b650db Auto-Submitted: auto-generated The branch main has been updated by gshapiro: URL: https://cgit.FreeBSD.org/doc/commit/?id=959cfd57faf6b85ebbe50b39e3eaf6fa73b650db commit 959cfd57faf6b85ebbe50b39e3eaf6fa73b650db Author: Gregory Neil Shapiro AuthorDate: 2024-09-26 05:02:59 +0000 Commit: Gregory Neil Shapiro CommitDate: 2024-09-26 05:02:59 +0000 Renew public key (extend expiration date) --- documentation/static/pgpkeys/gshapiro.key | 928 ++++++++++++++++-------------- 1 file changed, 498 insertions(+), 430 deletions(-) diff --git a/documentation/static/pgpkeys/gshapiro.key b/documentation/static/pgpkeys/gshapiro.key index 22cb569584..3e9779a07e 100644 --- a/documentation/static/pgpkeys/gshapiro.key +++ b/documentation/static/pgpkeys/gshapiro.key @@ -2,14 +2,14 @@ [.literal-block-margin] .... -pub rsa4096/7B529648EE857264 2017-08-27 [SC] [expires: 2024-10-03] +pub 4096R/7B529648EE857264 2017-08-27 [expires: 2026-09-26] Key fingerprint = 296C 94DB D028 0245 BFD3 91D7 7B52 9648 EE85 7264 -uid Gregory Neil Shapiro -uid Gregory Neil Shapiro -uid Gregory Neil Shapiro -sub rsa4096/E06797B94ECB7FF3 2017-08-27 [E] [expires: 2024-10-03] +uid Gregory Neil Shapiro +uid Gregory Neil Shapiro +uid Gregory Neil Shapiro +sub 4096R/E06797B94ECB7FF3 2017-08-27 [expires: 2026-09-26] Key fingerprint = 556B B17C EA8E 3237 AC47 412B E067 97B9 4ECB 7FF3 -sub rsa4096/389DBDBF7CB42F23 2017-08-27 [A] [expires: 2024-10-03] +sub 4096R/389DBDBF7CB42F23 2017-08-27 [expires: 2026-09-26] Key fingerprint = 3D1C 235E E7C2 8671 12E8 C9B6 389D BDBF 7CB4 2F23 .... @@ -181,429 +181,497 @@ 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 -sg== -=gV9M +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 +=WiBU -----END PGP PUBLIC KEY BLOCK----- .... From nobody Fri Sep 27 07:40:38 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XFMny22Mxz5XfZw for ; Fri, 27 Sep 2024 07:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XFMny1ZZzz4HmP; Fri, 27 Sep 2024 07:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727422838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdQhury2qF3n2PRipTVUvHjao2gAz83WfL5VY4y2eFU=; b=FA32URZYE3QGikC84/WZpzgL8CX7MSjQORT5beAVasGXbtRR0Ztf/auLR08MdhKPackJ4V dB1mcaubuVsrR7/WDYRr/tNgZ9TA4YGjXuhKv+fpBXOx/GG3C1SfcBy78kNNLLHx4xoxjQ YMrT3Yp7Us+0wvmA1gLWi+B5b8KU0aX780Jz74OJSmF7n5BXMfKfGHvvEYMBocKiiIe9xl /QpJpsanrronW/R8xasb448oQ+NlHaZ2+G6Ef2aO6F6koeintegL7+h1jliiaPY402ffSb HLDmZZVGSrJFvTQb75vkXsa21/OEwzP11Z1hSed0ZpURsm2OQcgmFMw3e6y3fQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727422838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vdQhury2qF3n2PRipTVUvHjao2gAz83WfL5VY4y2eFU=; b=k6X9r+uj4s8wtNc0gUPUh5xg1dPwSOuNn71XpJm1REPr1MoccLP4tOIOCh5EFF7Kh3lkjA L9lhEafxNUvPxNX0qU365KqaWmuxYH47lZakpiMyolxqyH73AqztD5Jc+VYLWRSnmZaP2O hFfILoJVMbJAUEPbBb4StshIP7vhuY0dp5Cwt9Skx/jK6N9J8y6O1KCV3jg43Yyd3D/9y2 jbRmg0JppTSD10h9VDmhGapcpmDG/z0p2aPkGzc7pzj4tLsaERYIObXzTXldZhOJl0aPFp 5jfbtFyYdWN8ULa7aGwyxkpmypv5gC8ksJw6ryy4Ai3XLbNREU+LRb2aIwdYzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727422838; a=rsa-sha256; cv=none; b=aPR8lTlzEYOSTm2+Gped7XNPEzrSdgiftQc8NlwKxHVL3VC70vHS8ZPCvUO6DaaQLtG1Te iz/27wL8uekBKkwAPP3gpEc+4U+S7Sq/7xqsk2d249mZ9dKUHSZ2HDJabYQz1ePO5P3j+s YBdLFZIxp8fO0UsEPxXafwRucYNObEkPPQKqjxQZxC7Akixwx2IKRVfqQh0qVddtlz9mBw MRz7Ciexyun6QyFy4doHHcF+OptI/OutJDAj0MVbWmRxuTj0hSD3IyQwzyMbXQmd+QDvIA LTYzd4vniFdYIm85JdalLKpg87asBFNWxrBK4hYjv6RnIXVzM+xa+SDQbbxRMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XFMny1B0tzXXD; Fri, 27 Sep 2024 07:40:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48R7ecVO055827; Fri, 27 Sep 2024 07:40:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48R7ecIi055824; Fri, 27 Sep 2024 07:40:38 GMT (envelope-from git) Date: Fri, 27 Sep 2024 07:40:38 GMT Message-Id: <202409270740.48R7ecIi055824@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: 3196b31269 - main - [documentation][articles]: Fix copy-paste error List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3196b312694965b14fb00cc66255c69775130def Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=3196b312694965b14fb00cc66255c69775130def commit 3196b312694965b14fb00cc66255c69775130def Author: Fernando Apesteguía AuthorDate: 2024-09-27 07:39:34 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-27 07:39:34 +0000 [documentation][articles]: Fix copy-paste error In building-products article. Reported by: pauamma@gundo.com --- documentation/content/en/articles/building-products/_index.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/content/en/articles/building-products/_index.adoc b/documentation/content/en/articles/building-products/_index.adoc index 30c7355e55..4ace1173e8 100644 --- a/documentation/content/en/articles/building-products/_index.adoc +++ b/documentation/content/en/articles/building-products/_index.adoc @@ -111,7 +111,7 @@ FreeBSD makes an excellent foundation on which to build products: * The project offers exceptional transparency into its workings, allowing organizations using its code to plan effectively for the future. * The culture of the FreeBSD project, carried over from the Computer Science Research Group at The University of California, Berkeley - crossref:building-products[McKu1999-1,"Why you should use a BSD style license for your Open Source Project"], fosters high-quality work. Some features in FreeBSD define the state of the art. + crossref:building-products[McKu1999-1,"Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable"], fosters high-quality work. Some features in FreeBSD define the state of the art. crossref:building-products[GoldGab2005,"Innovation Happens Elsewhere: Open Source as Business Strategy"] examines the business reasons for using open-source in greater detail. For organizations, the benefits of using FreeBSD components in their products include a shorter time to market, lower development costs and lower development risks. @@ -163,7 +163,7 @@ FreeBSD's in-kernel Netgraph (man:netgraph[4]) framework allows kernel networkin + FreeBSD supports a number of filesystems, and its native UFS2 filesystem supports soft updates, snapshots and very large filesystem sizes (16TB per - filesystem) crossref:building-products[McKu1999,"Why you should use a BSD style license for your Open Source Project"]. + filesystem) crossref:building-products[McKu1999,"Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem"]. + FreeBSD's in-kernel GEOM (man:geom[4]) framework allows kernel storage modules to be composed in flexible ways. * Over {numports} ported applications, both commercial and open-source, managed via the FreeBSD ports collection. From nobody Fri Sep 27 21:00:25 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XFjXn6knJz5XDj9 for ; Fri, 27 Sep 2024 21:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XFjXn6FVhz4dfX; Fri, 27 Sep 2024 21:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727470825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pk5ZWP1EM1eIMrV7MP+7z+XPDQaJiFf/8tsbh2Ric7Q=; b=ifc5/8YD7GhuR9cnppeFUkVQbkix4b/XJBJIsvWMTXsQkPY7875WwCZoLe5jISxVo0A2zo 8PjE+8HKNZX/ZxZHIcsk0n4Lw2bQJ37+cPsXIzxBclHfAIcZf4q04IGUaqVvbih5mO5VLh fFml4ODxwXGgAe7jNyO/cJi+yONNw1OVTxGGl3Orcy+hy6I0qRqVtDTiHm3HIOk8zYe0XL i5PvghwCn4r3kPQVirNy2xxiWEuO7iRIBnAHg/t1OSrTmFMCvNewghxn5PF/gnzFU/w2ix JTiGA+CEfsQSNlCkpxjdqa3bs8Q9iif6Ks3+2wqQk5OI1yPs8YKlDpikfZ+oMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727470825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pk5ZWP1EM1eIMrV7MP+7z+XPDQaJiFf/8tsbh2Ric7Q=; b=buXQpZNRQArC7bEKOlk7pGGpoYxTtnbfXvqcNmVmcCZzRbX97UNt/pQy3G0iQ11fAmOuze vUVNCNkUFFjjCVXevWebTbSWEKFfb7/BPQprOErZinkjEXbMbSygS2JvLGtKOXn6TSfG5x F1ImRXQ+D6EAnCsI2NRX7amrvi8hm3RY1MlTvtAoyMlfqasmFDr731QzExDFQadQRfRJmT ZdcjMMfx1Wr53no896B1sNrr55NIZSzGR1YyJWvoid2JWqmiZnN/nig9M0viMIR4IH/RAl pdEgIv63OrlPzf9TDSrZwpHp1JOe2+xpjg3e+bjwHHmZdI6QFm11CHUimbfMzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727470825; a=rsa-sha256; cv=none; b=VlNf9kRohcNbC+WczM7zf/+ieRAaoG6Vc6tFVUp6VDxTeZaCZFiImuxMCF+AD1Wb7bVrUp dSDWz1NBBZAlyZiIh3XkaKX6+EvV6/nPlqPolfIfbkcH8H0fl9+GuU83z+djGXatupGHgs XYNewAvVbPtGTo8HRHvO/7h1/2EwjPYw0jEXu7ooPYk6O2SRMDWy6ItFNBryfwjB8jxRsV KY1vr3HhQrKZ74O8PNFdvzn0nDzZH8N+maWnTWr0Gc9rvqRyQQ8wLjpENhrChFOhjbRnzf Dm03XdLTbKu0/KxYBkwzk5Ni5qLIgMjGD9y8JZeSRsogZj55AgTlQdg2UQUQcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XFjXn5jl8zwj2; Fri, 27 Sep 2024 21:00:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48RL0PWn012163; Fri, 27 Sep 2024 21:00:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48RL0PS4012160; Fri, 27 Sep 2024 21:00:25 GMT (envelope-from git) Date: Fri, 27 Sep 2024 21:00:25 GMT Message-Id: <202409272100.48RL0PS4012160@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Daniel Ebdrup Jensen Subject: git: 3de85d772f - main - virtualization: Add chapter on QEMU List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: debdrup X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3de85d772f3e8766d0d23018c0e290a3b9473b0f Auto-Submitted: auto-generated The branch main has been updated by debdrup: URL: https://cgit.FreeBSD.org/doc/commit/?id=3de85d772f3e8766d0d23018c0e290a3b9473b0f commit 3de85d772f3e8766d0d23018c0e290a3b9473b0f Author: Jimmy Brown AuthorDate: 2024-09-27 20:15:26 +0000 Commit: Daniel Ebdrup Jensen CommitDate: 2024-09-27 20:44:31 +0000 virtualization: Add chapter on QEMU QEMU has long supported FreeBSD as a guest, so getting documentation in the handbook is desirable. Reviewed by: Pau Amma Differential Revision: https://reviews.freebsd.org/D46659 --- .../en/books/handbook/virtualization/_index.adoc | 785 ++++++++++++++++++++- .../handbook/virtualization/qemu-freebsd01.png | Bin 0 -> 15878 bytes .../handbook/virtualization/qemu-freebsd02.png | Bin 0 -> 8098 bytes .../handbook/virtualization/qemu-freebsd03.png | Bin 0 -> 16209 bytes .../handbook/virtualization/qemu-freebsd04.png | Bin 0 -> 248997 bytes .../handbook/virtualization/qemu-freebsd05.png | Bin 0 -> 10161 bytes .../handbook/virtualization/qemu-freebsd06.png | Bin 0 -> 94399 bytes .../handbook/virtualization/qemu-freebsd07.png | Bin 0 -> 121914 bytes .../handbook/virtualization/qemu-freebsd08.png | Bin 0 -> 107865 bytes .../handbook/virtualization/qemu-freebsd09.png | Bin 0 -> 67687 bytes .../handbook/virtualization/qemu-freebsd12.png | Bin 0 -> 42992 bytes .../handbook/virtualization/qemu-freebsd13.png | Bin 0 -> 48118 bytes .../handbook/virtualization/qemu-freebsd14.png | Bin 0 -> 83665 bytes .../handbook/virtualization/qemu-freebsd15.png | Bin 0 -> 116174 bytes .../handbook/virtualization/qemu-freebsd16.png | Bin 0 -> 32037 bytes .../handbook/virtualization/qemu-freebsd17.png | Bin 0 -> 52920 bytes .../handbook/virtualization/qemu-freebsd18.png | Bin 0 -> 69111 bytes .../handbook/virtualization/qemu-freebsd19.png | Bin 0 -> 18609 bytes 18 files changed, 783 insertions(+), 2 deletions(-) diff --git a/documentation/content/en/books/handbook/virtualization/_index.adoc b/documentation/content/en/books/handbook/virtualization/_index.adoc index cd1c614ee4..763a7ce62f 100644 --- a/documentation/content/en/books/handbook/virtualization/_index.adoc +++ b/documentation/content/en/books/handbook/virtualization/_index.adoc @@ -4,7 +4,7 @@ part: Part III. System Administration prev: books/handbook/filesystems next: books/handbook/l10n description: Virtualization software allows multiple operating systems to run simultaneously on the same computer -tags: ["virtualization", "Parallels", "VMware", "VirtualBox", "bhyve", "XEN"] +tags: ["virtualization", "Parallels", "VMware", "VirtualBox", "QEMU", "bhyve", "XEN"] showBookMenu: true weight: 28 path: "/books/handbook/virtualization/" @@ -61,6 +61,7 @@ After reading this chapter, you will know: ** Parallels Desktop(Apple(R) macOS(R)) ** VMware Fusion(Apple(R) macOS(R)) ** VirtualBox(TM)(Microsoft(R) Windows(R), Intel(R)-based Apple(R) macOS(R), Linux) +** QEMU(FreeBSD) ** bhyve(FreeBSD) * How to tune a FreeBSD system for best performance under virtualization. @@ -496,6 +497,786 @@ perm pass* 0660 # service devfs restart .... +[[qemu-virtualization-host-guest]] +== Virtualization with QEMU on FreeBSD + +link:https://www.qemu.org[QEMU] is a generic machine emulator and virtualizer that is completely open source software. +It is developed by a large, active community and provides support for FreeBSD, OpenBSD, and NetBSD as well as other operating systems. + +From the link:https://www.qemu.org/docs/master/[QEMU documentation]: + +* QEMU can be used in several different ways. +The most common is for System Emulation, where it provides a virtual model of an entire machine (CPU, memory, and emulated devices) to run a guest OS. +In this mode the CPU may be fully emulated, or it may work with a hypervisor such as `KVM`, `Xen` or `Hypervisor.Framework` to allow the guest to run directly on the host CPU. + +* The second supported way to use QEMU is User Mode Emulation, where QEMU can launch processes compiled for one CPU on another CPU. +In this mode the CPU is always emulated. + +* QEMU also provides a number of standalone command line utilities, such as the man:qemu-img[1] disk image utility that allows one to create, convert, and modify disk images. + +QEMU can emulate a wide number of architectures including `Arm(TM)`, `i386`, `x86_64`, `MIPS(TM)`, `s390X`, `SPARC(TM)` (Sparc(TM) and Sparc64(TM)), and others. +The list of link:https://www.qemu.org/docs/master/system/targets.html#system-targets-ref[QEMU System Emulator Targets] is regularly kept up to date. + +This section describes how to use QEMU for both System Emulation and User Mode Emulation on FreeBSD, and provides examples of using QMEU commands and command line utilities. + +[[qemu-installing-qemu-software]] +=== Installing QEMU Software +QEMU is available as a FreeBSD package or as a port in package:emulators/qemu[]. +The package build includes sane options and defaults for most users and is the recommended method of installation. + +[source,shell] +.... +# pkg install qemu +.... + +The package installation includes several dependencies. +Once the installation is complete, create a link to the host version of QEMU that will be used most often. +If the host is an Intel(TM) or AMD(TM) 64 bit system that will be: + +[source,shell] +.... +# ln -s /usr/local/bin/qemu-system-x86_64 /usr/local/bin/qemu +.... + +Test the installation by running the following command as a non-root user: + +[source,shell] +.... +% qemu +.... +This brings up a window with QEMU actively trying to boot from hard disk, floppy disk, DVD/CD, and PXE. +Nothing has been set up yet, so the command will produce several errors and end with "No bootable device" as shown in Figure xref:qemu-nullboot[{counter:figure}]. +However, it does show that the QEMU software has been installed correctly. + +[[qemu-nullboot]] +.QEMU with no bootable image +image::qemu-freebsd01.png[QEMU with no bootable image] + +[[qemu-virtual-machine-install]] +=== Virtual Machine Install + +[NOTE] +==== +QEMU is under very active development. +Features and command options can change from one version to the next. +This section provides examples developed with QEMU version 9.0.1 (Summer, 2024). +When in doubt, always consult the link:https://www.qemu.org/docs/master/[QEMU Documentation] particularly the link:https://www.qemu.org/docs/master/about/index.html[About QEMU] page which has links to supported build platforms, emulation, deprecated features, and removed features. +==== + +Follow the steps below to create two virtual machines named "*left*", and "*right*". +Most commands can be performed without root privileges. + +. Create a test environment to work with QEMU: ++ +[source,shell] +.... +% mkdir -p ~/QEMU ~/QEMU/SCRIPTS ~/QEMU/ISO ~/QEMU/VM +.... ++ +The [.filename]#SCRIPTS# directory is for startup scripts and utilities. +The [.filename]#ISO# directory is for the guest ISO boot images. +The [.filename]#VM# directory is where the virtual machine images (`VMs`) will reside. + +. Download a recent copy of FreeBSD into [.filename]#~/QEMU/ISO#: ++ +[source,shell] +.... +% cd ~/QEMU/ISO +% fetch https://download.freebsd.org/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RELEASE-amd64-bootonly.iso +.... ++ +Once the download is complete create a shorthand link. +This shorthand link is used in the startup scripts below. ++ +[source,shell] +.... +% ln -s FreeBSD-14.1-RELEASE-amd64-bootonly.iso fbsd.iso +.... +. Change directory to the location for virtual machines ([.filename]#~/QEMU/VM#). +Run man:qemu-img[1] to create the disk images for the “left” VM: ++ +[source,shell] +.... +% cd ~/QEMU/VM +% qemu-img create -f raw left.img 15G +.... ++ +The QEMU `raw` format is designed for performance. +The format is straightforward and has no overhead which makes it faster, especially for high performance or high throughput scenarios. +The use case is for maximum performance where no additional features, such as snapshots, are needed. +This format is used in the script for the "left" VM below. ++ +A separate format is `qcow2` which uses QEMU's "copy on write" technique for managing disk space. +This technique does not require a complete 15G disk, just a stub version that is managed directly by the VM. +The disk grows dynamically as the VM writes to it. +This format supports snapshots, compression, and encryption. +The use case for this format is for development, testing, and scenarios with the need of these advanced features. +This format is used in the script for the "right" VM below. ++ +Run man:qemu-img[1] again to create the disk image for the "right" VM using `qcow2`: ++ +[source,shell] +.... +% qemu-img create -f qcow2 -o preallocation=full,cluster_size=512K,lazy_refcounts=on right.qcow2 20G +.... ++ +To see the actual size of the file use: ++ +[source,shell] +.... +% du -Ah right.qcow2 +.... ++ +. Set up networking for both virtual machines with the following commands. +In this example the host network interface is `em0`. +If necessary, change it to fit the interface for the host system. +This must be done after every host machine restart to enable the QEMU guest VMs to communicate. ++ +[source,shell] +.... +# ifconfig tap0 create +# ifconfig tap1 create +# sysctl net.link.tap.up_on_open=1 +net.link.tap.up_on_open: 0 -> 1 +# sysctl net.link.tap.user_open=1 +net.link.tap.user_open: 0 -> 1 +# ifconfig bridge0 create +# ifconfig bridge0 addm tap0 addm tap1 addm em0 +# ifconfig bridge0 up +.... ++ +The above commands create two man:tap[4] devices (`tap0`, `tap1`) and one man:if_bridge[4] device (`bridge0`). +Then, they add the `tap` devices and the local host interface (`em0`) to the `bridge`, and set two man:sysctl[8] entries to allow for normal users to open the tap device. +These commands will allow the virtual machines to talk to the network stack on the host. ++ +. Change to [.filename]#~/QEMU/SCRIPTS#, use the following script to start the first virtual machine, "left". +This script uses the QEMU raw disk format. ++ +[.programlisting] +.... +/usr/local/bin/qemu-system-x86_64 -monitor none \ + -cpu qemu64 \ + -vga std \ + -m 4096 \ + -smp 4 \ + -cdrom ../ISO/fbsd.iso \ + -boot order=cd,menu=on \ + -blockdev driver=file,aio=threads,node-name=imgleft,filename=../VM/left.img \ + -blockdev driver=raw,node-name=drive0,file=imgleft \ + -device virtio-blk-pci,drive=drive0,bootindex=1 \ + -netdev tap,id=nd0,ifname=tap0,script=no,downscript=no,br=bridge0 \ + -device e1000,netdev=nd0,mac=02:20:6c:65:66:74 \ + -name \"left\" +.... + +[TIP] +==== +Save the above into a file (for example `left.sh`) and simply run: % `/bin/sh left.sh` +==== + +QEMU will start up a virtual machine in a separate window and boot the FreeBSD iso as shown in Figure xref:qemu-newboot-loader-menu[{counter:figure}]. +All command options such as `-cpu` and `-boot` are fully described in the QEMU man page man:qemu[1]. + +[[qemu-newboot-loader-menu]] +.FreeBSD Boot Loader Menu +image::qemu-freebsd02.png[The FreeBSD loader menu.] + +[TIP] +==== +If the mouse is clicked in the QEMU console window, QEMU will “grab” the mouse as shown in Figure xref:qemu-grab[{counter:figure}]. +Type kbd:[Ctl]+kbd:[Alt]+kbd:[G]” to release the mouse. +==== + +[[qemu-grab]] +.When QEMU Has Grabbed the Mouse +image::qemu-freebsd03.png[When QEMU has grabbed the mouse] + +[NOTE] +==== +On FreeBSD, an initial QEMU installation can be somewhat slow. +This is because the emulator writes filesystem formatting and metadata during the disk first use. +Subsequent operations are generally much faster. +==== + +During the installation there are several points to note: + +* Select to use UFS as the filesystem. +ZFS does not perform well with small memory sizes. +* For networking use DHCP. +If desired, configure IPv6 if supported by the local LAN. +* When adding the default user, ensure they are a member of the *wheel* group. + +Once the installation completes, the virtual machine reboots into the newly installed FreeBSD image. + +Login as `root` and update the system as follows: + +[source,shell] +.... +# freebsd-update fetch install +# reboot +.... + +[NOTE] +==== +After a successful installation, QEMU will boot the operating system installed on the disk, and not the installation program. +==== + +[NOTE] +==== +QEMU supports a ```-runas``` option. +For added security, include the option "-runas your_user_name" in the script listing above. +See man:qemu[1] for details. +==== + +Login as `root` again and add any packages desired. +To utilize the X Window system in the guest, see the section "Using the X Window System" below. + +This completes the setup of the "left" VM. + +To install the "right" VM, run the following script. +This script has the modifications needed for tap1, format=qcow2, the image filename, the MAC address, and the terminal window name. +If desired, include the "-runas" parameter as described in the above note. + +[.programlisting] +.... + +/usr/local/bin/qemu-system-x86_64 -monitor none \ + -cpu qemu64 \ + -vga cirrus \ + -m 4096 -smp 4 \ + -cdrom ../ISO/fbsd.iso \ + -boot order=cd,menu=on \ + -drive if=none,id=drive0,cache=writeback,aio=threads,format=qcow2,discard=unmap,file=../VM/right.qcow2 \ + -device virtio-blk-pci,drive=drive0,bootindex=1 \ + -netdev tap,id=nd0,ifname=tap1,script=no,downscript=no,br=bridge0 \ + -device e1000,netdev=nd0,mac=02:72:69:67:68:74 \ + -name \"right\" +.... + +Once the installation is complete, the "left" and "right" machines can communicate with each other and with the host. +If there are strict firewall rules on the host, consider adding or modifying rules to allow the bridge and tap devices to communicate with each other. + +[[qemu-usage-tips]] +=== Usage Tips +[[qemu-setting-up-x-windows]] +==== Using the X Window System + +crossref:x11[x11,Installing Xorg] describes how to set up the `X Window` system. +Refer to that guide for initial `X Window` setup then consult crossref:desktop[desktop,Desktop Environments] on how to set up a complete desktop. + +This section demonstrates use of the XFCE desktop. + +Once the installation is complete, login as a regular user, then type: + +[source,shell] +.... +% startx +.... + +The XFCE4 window manager should start up and present a functioning graphical desktop as in Figure xref:qemu-two-qemu[{counter:figure}]. +On initial startup, it may take up to a minute to display the desktop. +See the documentation at the link:https://www.xfce.org[XFCE website] for usage details. +[[qemu-two-qemu]] +.Both QEMU VMs +image::qemu-freebsd04.png[Both QEMU VMs] + +[TIP] +==== +Adding more memory to the guest system may speed up the graphical user interface. +==== + +Here, the "left" VM has had the `X Window` system installed, while the "right" VM is still in text mode. + +[[qemu-using-qemu-window]] +==== Using the QEMU Window + +The QEMU window functions as a full FreeBSD console, and is capable of running multiple virtual terminals, just like a bare-metal system. + +To switch to another virtual console, click into the QEMU window and type kbd:[Alt+F2] or kbd:[Alt+F3]. +FreeBSD should switch to another virtual console. +Figure xref:qemu-console-ttyv3[{counter:figure}] shows the "left" VM displaying the virtual console on `ttyv3`. +[[qemu-console-ttyv3]] +.Switching to Another Virtual Console in the QEMU Window +image::qemu-freebsd05.png[Switching to Another Virtual Console in the QEMU Window] + +[TIP] +==== +The host current desktop manager or window manager may be already setup for another function with the kbd:[Alt+F1], kbd:[Alt+F2] key sequences. +If so, try typing kbd:[Ctl+Alt+F1], kbd:[Ctl+Alt+F2], or some other similar key combination. +Check the window manager or desktop manager documentation for details. +==== + +[[qemu-using-qemu-window-menus]] +==== Using the QEMU Window Menus + +Another feature of the QEMU window is the `View` menu and the Zoom controls. +The most useful is `Zoom to Fit`. +When this menu selection is clicked, it is then possible to resize the QEMU window by clicking the window corner controls and resizing the window. +Figure xref:qemu-zoom-to-fit[{counter:figure}] shows the effect of resizing the "left" window while in graphics mode. + +[[qemu-zoom-to-fit]] +.Using the View Menu `Zoom to Fit` Option +image::qemu-freebsd06.png[Using the View Menu `Zoom to Fit` Option] + +[[qemu-other-qemu-window-menu-options]] +==== Other QEMU Window Menu Options + +Also shown in the `View` menu are + +* `cirrus-vga`, `serial0`, and `parallel0` options. +These allow for switching input/output to the selected device. + +The QEMU window `Machine` menu allows for four types of control over the guest VM: + +* `Pause` allows for pausing the QEMU virtual machine. +This may be helpful in freezing a fast scrolling window. +* `Reset` immediately resets the virtual machine back at cold "power on" state. +As with a real machine, it is not recommended unless absolutely necessary. +* `Power Down` simulates an ACPI shutdown signal and the operating system goes through a graceful shutdown. +* `Quit` powers off the virtual machine immediately - also not recommended unless necessary. + +[[qemu-adding-serial-port-to-guest-vm]] +=== Adding a Serial Port Interface to a Guest VM + +To implement a serial console, a guest VM running FreeBSD needs to insert +[.programlisting] +.... +console="comconsole" +.... +in [.filename]#/boot/loader.conf# to allow the use of the FreeBSD serial console. + +The updated configuration below shows how to implement the serial console on the guest VM. +Run the script to start the VM. +[.programlisting] +.... +# left+serial.sh +echo +echo "NOTE: telnet startup server running on guest VM!" +echo "To start QEMU, start another session and telnet to localhost port 4410" +echo + +/usr/local/bin/qemu-system-x86_64 -monitor none \ + -serial telnet:localhost:4410,server=on,wait=on\ + -cpu qemu64 \ + -vga std \ + -m 4096 \ + -smp 4 \ + -cdrom ../ISO/fbsd.iso \ + -boot order=cd,menu=on \ + -blockdev driver=file,aio=threads,node-name=imgleft,filename=../VM/left.img \ + -blockdev driver=raw,node-name=drive0,file=imgleft \ + -device virtio-blk-pci,drive=drive0,bootindex=1 \ + -netdev tap,id=nd0,ifname=tap0,script=no,downscript=no,br=bridge0 \ + -device e1000,netdev=nd0,mac=02:20:6c:65:66:74 \ + -name \"left\" +.... +[[qemu-left-serial-port]] +.Enabling a Serial Port over TCP +image::qemu-freebsd07.png[] + +In Figure xref:qemu-left-serial-port[{counter:figure}], the serial port is redirected to a TCP port on the host system at VM startup and the QEMU monitor waits (`wait=on`) to activate the guest VM until a man:telnet[1] connection occurs on the indicated localhost port. +After receiving a connection from a separate session, the FreeBSD system starts booting and looks for a console directive in [.filename]#/boot/loader.conf#. +With the directive "console=comconsole", FreeBSD starts up a console session on a serial port. +The QEMU monitor detects this and directs the necessary character I/O on that serial port to the telnet session on the host. +The system boots and once finished, login prompts are enabled on the serial port (`ttyu0`) and on the console (`ttyv0`). + +It is important to note that the this serial redirect over TCP takes place outside the virtual machine. +There is no interaction with any network on the virtual machine and therefore it is not subject to any firewall rules. +Think of it like a dumb terminal sitting on an RS-232 or USB port on a real machine. + +[[qemu-notes-on-serial-console]] +==== Notes on Using the Serial Console + +On the serial console, if the window is resized, execute man:resizewin[1] to update the terminal size. + +It may be desirable (even necessary) to stop syslog message from being sent to the console (both the QEMU console and the serial port). +Consult man:syslog.conf[5] for details on redirecting console messages. + +[NOTE] +==== +Once the [.filename]#/boot.loader.conf# has been updated to permit a serial console, +the guest VM will attempt to boot from the serial port every time. +Ensure that the serial port is enabled as shown in the listing above, or update the [.filename]#/boot/loader.conf# file to not require a serial console. +==== + +[[qemu-user-mode-emulation]] +=== QEMU User Mode Emulation + +QEMU also supports running applications that are precompiled on an architecture different from the host CPU. +For example, it is possible to run a Sparc64 architecture operating system on an x86_64 host. +This is demonstrated in the next section. + +[[qemu-sparc64-user-mode-emulation]] +==== Setting up a SPARC64 Guest VM on an x86_64 Host + +Setting up a new VM with an architecture different from the host involves several steps: + +* Getting the software that will run on the guest VM +* Creating a new disk image for the guest VM +* Setting up a new QEMU script with the new architecture +* Performing the install + +In the following procedure a copy of OpenBSD 6.8 SPARC64 software is used for this QEMU User Mode Emulation exercise. + +[NOTE] +==== +Not all versions of OpenBSD Sparc64 work on QEMU. +OpenBSD version 6.8 is known to work and was selected as the example for this section. +==== + +. Download OpenBSD 6.8 Sparc64 from an OpenBSD archive. ++ +On the OpenBSD download sites, only the most current versions are maintained. +It is necessary to search an archive to obtain past releases. ++ +[source,shell] +.... +% cd ~/QEMU/ISO +% fetch https://mirror.planetunix.net/pub/OpenBSD-archive/6.8/sparc64/install68.iso +.... + +. Creating a new disk image for the Sparc64 VM is similar to the "right" VM above. +This case uses the QEMU qcow2 format for the disk: ++ +[source,shell] +.... +% cd ~/QEMU/VM +qemu-img create -f qcow2 -o preallocation=full,lazy_refcounts=on sparc64.qcow2 16G +.... + +. Use the script below for the new Sparc64 architecture. +As with above example, run the script, then start a new session and `telnet` to localhost on the port indicated: ++ +[.programlisting] +.... +echo +echo "NOTE: telnet startup server running on guest VM!" +echo "To start QEMU, start another session and telnet to localhost port 4410" +echo + +/usr/local/bin/qemu-system-sparc64 \ + -serial telnet:localhost:4410,server=on,wait=on \ + -machine sun4u,usb=off \ + -smp 1,sockets=1,cores=1,threads=1 \ + -rtc base=utc \ + -m 1024 \ + -boot d \ + -drive file=../VM/sparc64.qcow2,if=none,id=drive-ide0-0-1,format=qcow2,cache=none \ + -cdrom ../ISO/install68.iso \ + -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-1,id=ide0-0-1 \ + -msg timestamp=on \ + -net nic,model=sunhme -net user \ + -nographic \ + -name \"sparc64\" +.... + +Note the following: + +* The `-boot d` option boots from the QEMU CDROM device which is set as `-cdrom ../ISO/install68.iso`. +* As before, the `telnet` server option is set to wait for a separate connection on port 4410. +Start up another session and use man:telnet[1] to connect to localhost on port 4410. +* The script sets the `-nographic` option meaning there is only serial port I/O. +There is no graphical interface. +* Networking is not set up through the man:tap[4] / man:if_bridge[4] combination. +This example uses a separate method of QEMU networking known as "Serial Line Internet Protocol" (SLIRP), sometimes referred to as "User Mode Networking". +Documentation on this and other QEMU networking methods is here: link:https://wiki.qemu.org/Documentation/Networking[QEMU Networking Documentation] + +If everything is set correctly, the system will boot as shown in Figure xref:qemu-sparc64-boot-cdrom-installation[{counter:figure}]. +[[qemu-sparc64-boot-cdrom-installation]] +.QEMU Booting OpenBSD 6.8 Sparc64 from CDROM During User Mode Emulation +image::qemu-freebsd08.png[] + +Once the system is installed, modify the script and change the boot parameter to `-boot c`. +This will indicate to QEMU to boot from the supplied hard disk, not the CDROM. + +The installed system can be used just like any other guest virtual machine. +However, the underlying architecture of the guest is Sparc64, not x86_64. + +[TIP] +==== +If the system is halted at the OpenBios console prompt `0 >`, enter `power-off` to exit the system. +==== +Figure xref:qemu-sparc64-login-to-installed-system[{counter:figure}] shows a root login to the installed system and running man:uname[1]. + +[[qemu-sparc64-login-to-installed-system]] +.QEMU Booting from CDROM During User Mode Emulation +image::qemu-freebsd09.png[] + +[[qemu-using-qemu-monitor]] +=== Using the QEMU Monitor + +The link:https://www.qemu.org/docs/master/system/monitor.html[QEMU monitor] controls a running QEMU emulator (guest VM). + +Using the monitor, it is possible to: + +* Dynamically remove or insert devices, including disks, network interfaces, CD-ROMs, or floppies +* Freeze/unfreeze the guest VM, and save or restore its state from a disk file +* Gather information about the state of the VM and devices +* Change device settings on the fly + +As well as many other operations. + +The most common uses of the monitor are to examine the state of the VM, and to add, delete, or change devices. +Some operations such as migrations are only available under hypervisor accelerators such as KVM, Xen, etc. and are not supported on FreeBSD hosts. + +When using a graphical desktop environment, the simplest way to use the QEMU monitor is the `-monitor stdio` option when launching QEMU from a terminal session. + +[.programlisting] +.... +# /usr/local/bin/qemu-system-x86_64 -monitor stdio \ + -cpu qemu64 \ + -vga cirrus \ + -m 4096 -smp 4 \ + ... +.... + +This results in a new prompt `(qemu)` in the terminal window as shown in Figure xref:qemu-monitor-operation[{counter:figure}]. + +[[qemu-monitor-operation]] +.QEMU Monitor Prompt and "stop" Command +image::qemu-freebsd13.png[] + +The image also shows the `stop` command freezing the system during the FreeBSD boot sequence. +The system will remain frozen until the `cont` command is entered in the monitor. + +[[qemu-adding-new-disk]] +==== Adding a New Disk to the VM + +To add a new disk to a running VM, the disk needs to be prepared as above: + +[source, shell] +.... +% cd ~/QEMU/VM +% qemu-img create -f raw new10G.img 10G +.... + +Figure xref:qemu-add-new-disk-figure[{counter:figure}] shows the monitor command sequence needed to add a new disk in the VM. +Once the device has been added with the `device_add` command in the monitor it shows up on the FreeBSD system console shown in the lower part of the figure. +The disk can be configured as needed. + +Note that the new disk must be added to the startup script if it is to be used after a VM reboot. + +[[qemu-add-new-disk-figure]] +.QEMU Monitor Commands to Add a New Disk +image::qemu-freebsd14.png[] + +[[qemu-using-monitor-manage-snapshots]] +==== Using the QEMU Monitor to Manage Snapshots + +QEMU's documentation describes several similar concepts when using the term *snapshot*. +There is the `-snapshot` option on the command line which refers to using a drive or portion of a drive to contain a copy of a device. +Then there are the monitor commands `snapshot_blkdev` and `snapshot_blkdev_internal` which describe the actual act of copying the blockdev device. +Finally, there are the monitor commands `savevm`, `loadvm`, and `delvm` commands which refer to creating and saving, loading, or deleting a copy of an entire virtual machine. +Along with the latter, the monitor `info snapshots` command lists out details of recent snapshots. + +This section will focus on creating, saving, and loading a complete VM image and will use the term *snapshot* for this purpose. + +To start, recreate the "left" VM from scratch, this time using the `qcow2` format. + +[source, shell] +.... +% cd ~/QEMU/VM +% rm left.img +% qemu-img create -f qcow2 left.qcow2 16G # Clean file for a new FreeBSD installation. +% cd ../SCRIPTS +# /bin/sh left.sh # See the below program listing. +.... + +Once the installation is complete, reboot, this time using the `-monitor stdio` option to allow use of the monitor. + +[.programlisting] +.... +# left VM script. +/usr/local/bin/qemu-system-x86_64 -monitor stdio \ + -cpu qemu64 \ + -vga std \ + -m 4096 \ + -smp 4 \ + -cdrom ../ISO/fbsd.iso \ + -boot order=cd,menu=on \ + -blockdev driver=file,aio=threads,node-name=imgleft,filename=../VM/left.qcow2 \ + -blockdev driver=qcow2,node-name=drive0,file=imgleft \ + -device virtio-blk-pci,drive=drive0,bootindex=1 \ + -netdev tap,id=nd0,ifname=tap0,script=no,downscript=no,br=bridge0 \ + -device e1000,netdev=nd0,mac=02:20:6c:65:66:74 \ + -name \"left\" +.... + +To demonstrate snapshots, the following procedure can be used: + +. Install FreeBSD from scratch +. Prepare the environment and take a snapshot with the `savevm` monitor command +. Install several packages +. Shut down the system +. Restart a bare QEMU instance and utilize the monitor command `loadvm` to restore the VM +. Observe that the restored VM does not have any packages + +During the "Prepare the environment" step, in a separate virtual console (ttyv1), an editing session with man:vi[1] is initiated simulating user activity. +Additional programs may be started if desired. +The snapshot should account for the state of all applications running at the time the snapshot is taken. + +Figure xref:qemu-using-monitor-snapshots[{counter:figure}] shows the newly installed FreeBSD system with no packages, and separately, the editing session on ttyv1. +The man:vi[1] editor is currently in `insert` mode with the typist typing the word "broadcast". + +[[qemu-using-monitor-snapshots]] +.QEMU VM Before First Snapshot +image::qemu-freebsd15.png[] + +To generate the snapshot, enter `savevm` in the monitor. +Be sure to give it a tag (such as `original_install`). + +[source,shell] +.... +QEMU 9.0.1 monitor - type 'help' for more information +(qemu) +(qemu) savevm original_install +.... + +Next, in the main console window, install a package, such as man:zip[1] which has no dependencies. +Once that completes, renter the monitor and create another snapshot (`snap1_pkg+zip`). + +Figure xref:qemu-after-monitor-snapshots[{counter:figure}] shows the results of the above commands and the output of the `info shapshots` command. + +[[qemu-after-monitor-snapshots]] +.QEMU Using Monitor Commands for Snapshots +image::qemu-freebsd16.png[] + +Reboot the system, and before FreeBSD starts up, switch to the monitor and enter `stop`. +The VM will stop. + +Enter `loadvm` with the tag you used above (here `original_install`). + +[source, shell] +.... +QEMU 9.0.1 monitor - type 'help' for more information +(qemu) stop +(qemu) loadvm original_install +(qemu) cont +.... + +Immediately, the VM screen will switch to the exact moment the `savevm` command was entered above. +Note that the VM is still stopped. + +Enter `cont` to start the VM, switch to the editing session on `ttyv1`, and type one letter on the keyboard. +The editor, still in insert mode, should respond accordingly. +Any other programs running at the time the snapshot was taken should be unaffected. + +The above steps show how a snapshot can be taken, the system modified, and then "rolled back" by restoring the previous snapshot. + +By default QEMU stores snapshot data in the same file as the image. +View the list of snapshots with man:qemu-img[1] as shown below in Figure xref:qemu-examine-monitor-snapshots[{counter:figure}]. + +[[qemu-examine-monitor-snapshots]] +.QEMU Using man:qemu-img[1] to Examine Snapshots +image::qemu-freebsd17.png[] + +[[qemu-using-qemu-usb-devices]] +=== Using QEMU USB Devices + +QEMU supports the creation of virtual USB devices that are backed by an image file. +These are virtual USB devices that can be partitioned, formatted, mounted, and used just like a real USB device. + +[.programlisting] +.... +/usr/local/bin/qemu-system-x86_64 -monitor stdio \ + -cpu qemu64 \ + -vga cirrus \ + -m 4096 -smp 4 \ + -cdrom ../ISO/fbsd.iso \ + -boot order=cd,menu=on \ + -drive if=none,id=usbstick,format=raw,file=../VM/foo.img \ + -usb \ + -device usb-ehci,id=ehci \ + -device usb-storage,bus=ehci.0,drive=usbstick \ + -device usb-mouse \ + -blockdev driver=file,node-name=img1,filename=../VM/right.qcow2 \ + -blockdev driver=qcow2,node-name=drive0,file=img1 \ + -device virtio-blk-pci,drive=drive0,bootindex=1 \ + -netdev tap,id=nd0,ifname=tap1,script=no,downscript=no,br=bridge0 \ + -device e1000,netdev=nd0,mac=02:72:69:67:68:74 \ + -name \"right\" +.... + +This configuration includes a `-drive` specification with the `id=usbstick`, raw format, and an image file (must be created by man:qemu-img[1]). +The next line contains the `-device usb-ehci` specification for a USB EHCI controller, with `id=ehci`. +Finally, a `-device usb-storage` specification ties the above drive to the EHCI USB bus. + +When the system is booted, FreeBSD will recognize a USB hub, add the attached USB device, and assign it to `da0` as shown in Figure xref:qemu-usb-internal-storage[{counter:figure}]. + +[[qemu-usb-internal-storage]] +.QEMU Created USB Hub and Mass Storage Device +image::qemu-freebsd12.png[] + +The device is ready to be partitioned with man:gpart[8], and formatted with man:newfs[8]. +Because the USB device is backed by a man:qemu-img[1] created file, data written to the device will persist across reboots. + +[[qemu-using-host-usb-devices]] +=== Using Host USB Devices via Passthrough + +QEMU USB passthrough support is listed as experimental in version 9.0.1 (Summer, 2024). +However, the following steps show how a USB stick mounted on the host can be used by the guest VM. + +For more information and examples, see: + +* link:https://www.qemu.org/docs/master/system/devices/usb.html[] + +The upper part of Figure xref:qemu-usb-passthrough[{counter:figure}] shows the QEMU monitor commands: + +* `info usbhost` shows information about all USB devices on the host system. +Find the desired USB device on the host system and note the two hexadecimal values on that line. +(In the example below the host USB device is a Memorex Mini, with vendorid 0718, and productid 0619.) +Use the two values shown by the `info usbhost` command in the `device_add` step below. +* `device_add` adds a USB device to the guest VM. + +[[qemu-usb-passthrough]] +.QEMU Monitor Commands to Access a USB Device on the Host +image::qemu-freebsd18.png[] + +As before, once `device_add` completes, the FreeBSD kernel recognizes a new USB device, as shown in the lower half of the Figure. + +Using the new device is shown in Figure xref:qemu-usb-passthrough2[{counter:figure}]. + +[[qemu-usb-passthrough2]] +.Using the Host USB Device via Passthrough +image::qemu-freebsd19.png[] + +If the USB device is formatted as a FAT16 or FAT32 filesystem it can be mounted as an MS-DOS(TM) filesystem with man:mount_msdosfs[8] as in the example shown. +The `/etc/hosts` file is copied to the newly mounted drive and checksums are taken to verify the integrity of the file on the USB device. +The device is then unmounted with man:umount[8]. + +If the USB device is formatted with NTFS it is necessary to install the `fusefs-ntfs` package and use man:ntfs-3g[8] to access the device: + +[source, shell] +.... +# pkg install fusefs-ntfs +# kldload fusefs +# gpart show da1 +# ntfs-3g /dev/da1s1 /mnt + +Access the drive as needed. When finished: + +# umount /mnt +.... + +Change the above device identifiers to match the installed hardware. +Consult man:ntfs-3g[8] for additional information on working with NTFS filesystems. + +[[qemu-summary]] +=== QEMU on FreeBSD Summary + +As noted above, QEMU works with several different hypervisor accelerators. + +The list of link:https://www.qemu.org/docs/master/system/introduction.html#virtualisation-accelerators[Virtualization Accelerators] supported by QEMU includes: + +* `KVM` on Linux supporting 64 bit Arm, MIPS, PPC, RISC-V, s390x, and x86 +* `Xen` on Linux as dom0 supporting Arm, x86 +* `Hypervisor Framework (hvf)` on MacOS supporting x86 and Arm (both 64 bit only) +* `Windows Hypervisor Platform (whpx)` on Windows supporting x86 +* `NetBSD Virutal Machine Monitor (nvmm)` on NetBSD supporting x86 +* `Tiny Code Generator (tcg)` on Linux and other POSIX, Windows, MacOS supporting Arm, x86, Loongarch64, MIPS, PPC, s390x, and Sparc64. + +All the examples in this section used the `Tiny Code Generator (tcg)` accelerator as that is the only supported accelerator on FreeBSD at present. + [[virtualization-host-bhyve]] == FreeBSD as a Host with bhyve @@ -602,7 +1383,7 @@ Now the guest can be started from the virtual disk: [[virtualization-bhyve-linux]] === Creating a Linux(R) Guest -Linux guests can be booted either like any other regular crossref:virtualization[virtualization-bhyve-uefi,"UEFI-based guest"] virtual machine, or alternatively, you can make use of the package:sysutils/grub2-bhyve[] port. +Linux guests can be booted either like any other regular crossref:virtualization[virtualization-bhyve-uefi,"UEFI-based guest"] virtual machine, or alternatively, you can make use of the package:sysutils/grub2-bhyve[] port. To do this, first ensure that the port is installed, then create a file to use as the virtual disk for the guest machine: diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd01.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd01.png new file mode 100644 index 0000000000..27fea7c4a1 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd01.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd02.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd02.png new file mode 100644 index 0000000000..d2af382191 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd02.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd03.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd03.png new file mode 100644 index 0000000000..7759729fbc Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd03.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd04.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd04.png new file mode 100644 index 0000000000..1230b050b6 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd04.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd05.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd05.png new file mode 100644 index 0000000000..8f01e6a324 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd05.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd06.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd06.png new file mode 100644 index 0000000000..d521a9b1e9 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd06.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd07.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd07.png new file mode 100644 index 0000000000..5e0fd7e902 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd07.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd08.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd08.png new file mode 100644 index 0000000000..b549d094be Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd08.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd09.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd09.png new file mode 100644 index 0000000000..67520c0ea3 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd09.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd12.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd12.png new file mode 100644 index 0000000000..21592fa04d Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd12.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd13.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd13.png new file mode 100644 index 0000000000..b36c4f3665 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd13.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd14.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd14.png new file mode 100644 index 0000000000..4154d7c99d Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd14.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd15.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd15.png new file mode 100644 index 0000000000..7b61a2badb Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd15.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd16.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd16.png new file mode 100644 index 0000000000..651896e0bb Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd16.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd17.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd17.png new file mode 100644 index 0000000000..0cae95147b Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd17.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd18.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd18.png new file mode 100644 index 0000000000..e34f36f7ae Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd18.png differ diff --git a/documentation/static/images/books/handbook/virtualization/qemu-freebsd19.png b/documentation/static/images/books/handbook/virtualization/qemu-freebsd19.png new file mode 100644 index 0000000000..f7222892c9 Binary files /dev/null and b/documentation/static/images/books/handbook/virtualization/qemu-freebsd19.png differ From nobody Sat Sep 28 04:55:43 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XFw5D0djsz5XlpB for ; Sat, 28 Sep 2024 04:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XFw5D006nz4Xqw; Sat, 28 Sep 2024 04:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727499344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DZdhkPMILoZ5G5aEwPz6/5vtwNinYnnc4ypDtVGA3fM=; b=ETRY4QsVvwwAY8Ey2d6h3HNbud6FQWcIC3EIcBauRTkaDOoNvKFTXYLY51XluQm1h/7EE4 Q2GGLyFN+h9KCgQ5uhUUE9llfTyYZN9Y4jiGF94fPMX7qPhQ5/23J3orlwEaTtMUBt+gQo Rv2B45MaVStUJ8cFxJvjDLCy6ttRBYBre0TdMOIIkAfaRw+ICdExwME22QSOn9hGCTiTtM nWyAm1JpY18ByCNEnuhXPrQZdWjuLOT/3GkSSAksxACKO8Xm46obS6l2xWiJaTx2vynr9f AgHmnB/Cbfn2OoP+m9+jYceDqD5fNsCTs1NuftfTV0FNNyKF1LfDoSZFWEQUmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727499344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DZdhkPMILoZ5G5aEwPz6/5vtwNinYnnc4ypDtVGA3fM=; b=ssHITUnc0kFI3zWCEAaIR6jLbcA+UTpGttivyN9/P1K9G22UhjdinSo5plQSsM7F+1vi9q vauXojP/yOZXre4hGnKKklhtpTqQy0aY4o4ESwul5BZBo4afHK4IL/AetiE7fzBAoiFbXG hKkk6b2egQX/JhXAa4pZs9bht6YrbRcMJRqwbgzszE1xV7+whRS/8QcL59hu74xk6QrjH1 TnrPKQf1L4mL0ERsBD5jEcmFBIv9eXSlaNOe7g+DbREs0Y0dMrlnGYP8EbtH2b5ot3qVJI eSYoZCmVyeYDROD9JyEHMqqARjz1MlLgAt69IMjhG6n0jRpKEll9dvqvu6263Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727499344; a=rsa-sha256; cv=none; b=H4XHpl5Wlsl4tl8Q+4qtAztt3A1hm07c3Y+kp4nrZWBTRcIRyG1f51bbGeK1gxxUbfWmKB 2zT3BEVXjSB4tGhvmhSE1XpI5Sl8xaWfMe4aUCaUb6SC5NJsGjY7XSQ60DWoz3UdcP3NUy VWEy/IkpW+pYtlaOh/4pcU/w9j91FSwlfeeJ8uev1rN59AIdui9PxqW4Xu0Z6by/4eTFhk 6dAed/sKdwqvtzoHp6jkZt0TAZrt8A5sYEpT0yF6J9EIUrRAXkWqKuWbbN5hGwD8GBBqoB EDjv/JOGqFeufb5BtkSP3k7CbBrewszz4Yh9CHx3u79ZuEZEPcFmNC4hqTeh2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XFw5C69Q4z1918; Sat, 28 Sep 2024 04:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48S4thOk018446; Sat, 28 Sep 2024 04:55:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48S4thnB018443; Sat, 28 Sep 2024 04:55:43 GMT (envelope-from git) Date: Sat, 28 Sep 2024 04:55:43 GMT Message-Id: <202409280455.48S4thnB018443@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 6164c61fcb - main - 13.4: Avoid version confusion in release notes List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6164c61fcbdaee25ad546f98d03c7ed11bb0ec61 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=6164c61fcbdaee25ad546f98d03c7ed11bb0ec61 commit 6164c61fcbdaee25ad546f98d03c7ed11bb0ec61 Author: Colin Percival AuthorDate: 2024-09-28 04:54:00 +0000 Commit: Colin Percival CommitDate: 2024-09-28 04:54:00 +0000 13.4: Avoid version confusion in release notes The EoL for stable/14 is based on the release date of 14.0-RELEASE, not 13.3-RELEASE. Remove comment about using "13.3-RELEASE or the stable/14 branch" to migrate off 32-bit platforms. Sponsored by: Amazon Noticed by: Graham Perrin --- website/content/en/releases/13.4R/relnotes.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/content/en/releases/13.4R/relnotes.adoc b/website/content/en/releases/13.4R/relnotes.adoc index 43156e49eb..d7f3628cc3 100644 --- a/website/content/en/releases/13.4R/relnotes.adoc +++ b/website/content/en/releases/13.4R/relnotes.adoc @@ -314,8 +314,7 @@ However, all 32-bit platforms are Tier-2 or Tier-3, and support for individual p With the current support schedule, stable/14 will reach end of life (EOL) around 5 years after the release of FreeBSD 14.0-RELEASE. The EOL of stable/14 will mark the end of support for deprecated 32-bit platforms, including source releases, pre-built packages, and support for building applications from ports. -With the release of {releasePrev} in November 2023, support for deprecated 32-bit platforms will end in November 2028. +With the release of 14.0-RELEASE in November 2023, support for deprecated 32-bit platforms will end in November 2028. The project may choose to alter this approach when FreeBSD 15.0 is released by extending some level of support for one or more of the deprecated platforms in 15.0 or later. Any alterations will be driven by community feedback and committed efforts to support these platforms. -Use FreeBSD {releasePrev} and following minor releases, or the stable/14 branch, to migrate off 32-bit platforms. From nobody Sat Sep 28 06:49:52 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XFycx1tMBz5XsXL for ; Sat, 28 Sep 2024 06:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XFycx14Ylz4f14; Sat, 28 Sep 2024 06:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727506193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eBC8jvIDzi7kcyzLvQ8IVUToguP0BBcsMZ4dwID1a8=; b=Z8w+X4m/pJkQuyo44mRFHGjgn8o0MJnCjtkJOeecLaZrH2NDqloxmljb0ERFBNSaA/0bYQ E0PMvelEDLaDa1kU0TImLbfUnrkPl79dV/Mwlum1vEv99sHlY4izSXteX51kGjRxICc6hX FWIjHbWI6QxAJIkJM5XhWU4OLXKeVzdSfs/x14GWAIQMJUxKcfKOPVqCh3IY8l+WObr20Q YRoEkJ8B6qAJCguQyYH/4GmemytddSM/x1JxQ/kF61BpUFpXuVHczAZe07DPSPg0FTPlji pvmjW3NTiBBW6RVUggq+YhPkjoKNj8hvZNthUG98uPI3rW0Y58KDryO3G6T50Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727506193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4eBC8jvIDzi7kcyzLvQ8IVUToguP0BBcsMZ4dwID1a8=; b=geLYrhcGjFdqj10ZiMVDAtC2e2d+cEX0/ajcLXE2GTUf7zBv1UnG80FinLPxlqDZczA6rE Fh/VVIGVS0Let9EsH9BsDrniaXHIPRQWYO1UHcBOriqeQJf9yZzsvCIOgHZE7Ym6uGItvC gcsWXvgJjThQHRUl7FkIwu5WFq/3NaXrvgcUtHsqcOI+MPz6gZmhd0Cl5if3CbVwZoAn3U DXrIkIKNLNDrl2XzcDd1iSJ+u/Vpen1QshUaSOpypTlDYjFkdjZWnr1MPlcNaf6ScMHRV3 +lHPmy1/BgGpqcf+mmzT1i/c1hlix/QCiSU+0by1YcDyA1uMMLCjxWFClZ8ZUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727506193; a=rsa-sha256; cv=none; b=YUkQE6bVm3zSrOG33ObxOew0qx3eDNDpMgmwZC6gThM2jWkHfGZbnqobiARof4griqkv+T Q8X7qn22OuGjD4BhwIuRFryM5aal94rtmNzEM6QbcXLmY4e4Ip8QtAkobByv4QHHvJ59lJ /joY6ogyLH1kwmK6RACvVpRx0ZXijGBcFZurexOGGVyy2S9+50mj/iH6w4uUqkYq18RnfS Gmk+6HJ/HI5nujAelw11kpCq1TkzXF0uat3oCy3D1xVl2pfK0Ph1r6DXXsyQHpVurEhTQ2 pmekobPftggRFZ3N2HW5AnVb+8krEJKlweQv8bFag8K21rDpFYvTv3g0LbCVcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XFycx0N2jzDf6; Sat, 28 Sep 2024 06:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48S6nqBk005768; Sat, 28 Sep 2024 06:49:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48S6nqDP005765; Sat, 28 Sep 2024 06:49:52 GMT (envelope-from git) Date: Sat, 28 Sep 2024 06:49:52 GMT Message-Id: <202409280649.48S6nqDP005765@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: df21bcb117 - main - 13.4/relnotes.adoc: corrections, suggestions List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df21bcb117de066bc5e83509d502004aed3591ab Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=df21bcb117de066bc5e83509d502004aed3591ab commit df21bcb117de066bc5e83509d502004aed3591ab Author: Graham Perrin AuthorDate: 2024-09-17 19:41:52 +0000 Commit: Colin Percival CommitDate: 2024-09-28 06:47:00 +0000 13.4/relnotes.adoc: corrections, suggestions Pull Request: https://github.com/freebsd/freebsd-doc/pull/414 --- website/content/en/releases/13.4R/relnotes.adoc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website/content/en/releases/13.4R/relnotes.adoc b/website/content/en/releases/13.4R/relnotes.adoc index d7f3628cc3..b63bc2a77e 100644 --- a/website/content/en/releases/13.4R/relnotes.adoc +++ b/website/content/en/releases/13.4R/relnotes.adoc @@ -279,6 +279,7 @@ This section covers changes to the FreeBSD Ports Collection, package infrastruct === Packaging Changes The DVD package set has been modernized. + package:archivers/unzip[] has been removed as it is in base now. package:emulators/linux_base-c7[] has been removed as it is unlikely to be useful without other Linux packages being installed. @@ -298,9 +299,9 @@ FreeBSD 15.0 is not expected to include support for 32-bit platforms other than The armv6, i386, and powerpc platforms are deprecated and will be removed. 64-bit systems will still be able to run older 32-bit binaries. -The project expect to support armv7 as a Tier 2 architecture in FreeBSD 15.0 and stable/15. -However, the project also anticipate that armv7 may be removed in FreeBSD 16.0. -The project will provide an update on the status of armv7 for both 15.x and 16.x at the time of 15.0 release. +The FreeBSD Project expects to support armv7 as a Tier 2 architecture in FreeBSD 15.0 and stable/15. +However, the Project also anticipates that armv7 may be removed in FreeBSD 16.0. +The Project will provide an update on the status of armv7 for both 15.x and 16.x at the time of 15.0 release. Support for executing 32-bit binaries on 64-bit platforms via the `COMPAT_FREEBSD32` option will continue for at least the stable/15 and stable/16 branches. Support for compiling individual 32-bit applications via `cc -m32` will also continue for at least the stable/15 branch, which includes suitable headers in [.filename]#/usr/include# and libraries in [.filename]#/usr/lib32#. @@ -316,5 +317,5 @@ With the current support schedule, stable/14 will reach end of life (EOL) around The EOL of stable/14 will mark the end of support for deprecated 32-bit platforms, including source releases, pre-built packages, and support for building applications from ports. With the release of 14.0-RELEASE in November 2023, support for deprecated 32-bit platforms will end in November 2028. -The project may choose to alter this approach when FreeBSD 15.0 is released by extending some level of support for one or more of the deprecated platforms in 15.0 or later. +The Project may choose to alter this approach when FreeBSD 15.0 is released by extending some level of support for one or more of the deprecated platforms in 15.0 or later. Any alterations will be driven by community feedback and committed efforts to support these platforms. From nobody Sat Sep 28 18:40:05 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XGGNQ19sNz5XhTS for ; Sat, 28 Sep 2024 18:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XGGNQ0N1qz50h5; Sat, 28 Sep 2024 18:40:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727548806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsuQbi5YOy9CZbMDHTHi4tMIlOUqPEZl1Xv/2/sw/u4=; b=sL2coCn/MjcORAElFeqnnXI4FFQ7bi9LqFlaJ4TBi83XtV90J1Bck3g9oDXqBh4s5Q4srW EUmf9fDToVBaFeaXpBu3df2cf7IZ2DTeYsluVQ94eBKRe2jYd9Bh/7yzvB1dREOtLnkOzF jmJbs7gGSAa7sy/+HzSkh5TKfpQ+YT9qh7x6qjPdcdTrRmIdNLzUa/ce/cfZgjBiZ88mqV /irUdx0dPjS8IL+zB5zXJG7HH1r8BWR1Hb3jtyLRyPymOGq/1UnlRjUuQ5n96Mla39BTPn 5MhjbQeC18II4nnRA/75V+qboJyjlIaxs//GR7zj6hmy3g1SZ7tZv+j65xjdiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727548806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsuQbi5YOy9CZbMDHTHi4tMIlOUqPEZl1Xv/2/sw/u4=; b=aN38pGcaI2u818V1GsBNpCr5N0ynVSzs5vykk/q5T5iJKsNkJx3BXiln97r892X3MZQLoX OHnWf30QFzRZVsMQY32y1a8vFXuo6zvzMnrsH1HoIz9zgXJoob2i2ke7UqOK2hOOVkl8RD bII+N5wcG6Jv18Ym4dEjSm3jpmS4YPVBcoGVhgYdgsfb2vuFLAI7k7JWtxM2V5Afb48AKP 6td6ibO0rCFm4ash2RcTjAWzkULarnk72BLStsBqbtmBu0GAV5qeOZLWmkVA6z+vHyySxV cvHLAS4YrDbMwLKji0Jmco/gRA5Zm+ePrE8ZoKTOY3GzG+RM1dc2f4U73rsbOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727548806; a=rsa-sha256; cv=none; b=K4nCasgvmxFwh2lt2Txpd0xSuV6o+EmOOhdkOelLYRqw+ez583dUvRnJWQQ+URFL7kl6dB omWfyD6s8msuMx/xbA+XJreiVOpndlY8lIa41Qa9Nln/ML3VX8XK2jX/7h2liWHxiweqxL Skiu5V66SfXOD/9spff1Hk4/N6mNygck4EU/1JVp8SpJ8L1tUZ99AZ8iM88ceQ2b5p2+fU XytmM9fZx6+7yMbCDK+Ra4kQEYkhiAsE9ypCdjutQ3JFau+8Gyv62cW2233HOHd+BPML/0 FP2fUlnoYk+1SBadoBJB5nKsegeQrkilkg2WF1R2yig28SGKsN7+sRpnI4vvcw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XGGNP75RyzbDC; Sat, 28 Sep 2024 18:40:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48SIe5Yk015376; Sat, 28 Sep 2024 18:40:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48SIe5PP015371; Sat, 28 Sep 2024 18:40:05 GMT (envelope-from git) Date: Sat, 28 Sep 2024 18:40:05 GMT Message-Id: <202409281840.48SIe5PP015371@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: fc928e71ab - main - Add schedule of upcoming releases List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fc928e71ab6f78ad096bbcbb5e96058ff93d4453 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=fc928e71ab6f78ad096bbcbb5e96058ff93d4453 commit fc928e71ab6f78ad096bbcbb5e96058ff93d4453 Author: Colin Percival AuthorDate: 2024-09-28 18:34:18 +0000 Commit: Colin Percival CommitDate: 2024-09-28 18:34:18 +0000 Add schedule of upcoming releases I announced the schedule of upcoming releases in July (https://lists.freebsd.org/archives/freebsd-announce/2024-July/000143.html) but we should have upcoming releases on the website too. Reported by: bz Sponsored by: Amazon --- website/content/en/releng/_index.adoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/website/content/en/releng/_index.adoc b/website/content/en/releng/_index.adoc index a9f6fe3018..4d8388a00d 100644 --- a/website/content/en/releng/_index.adoc +++ b/website/content/en/releng/_index.adoc @@ -33,6 +33,16 @@ General information about committing to -STABLE. |=== |Date |Event |Information |December 2024 |FreeBSD 14.2 |link:../releases/14.2R/schedule/[Target Schedule] +|March 2025 |FreeBSD 13.5 | +|June 2025 |FreeBSD 14.3 | +|December 2025 |FreeBSD 15.0 | +|March 2026 |FreeBSD 14.4 | +|June 2026 |FreeBSD 15.1 | +|September 2026 |FreeBSD 14.5 | +|December 2026 |FreeBSD 15.2 | +|March 2027 |FreeBSD 14.6 | +|June 2027 |FreeBSD 15.3 | +|December 2027 |FreeBSD 16.0 | |=== [[freeze]] From nobody Sun Sep 29 17:05:55 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XGrFH5yrSz5XvfR for ; Sun, 29 Sep 2024 17:05:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XGrFH5NSKz47cr; Sun, 29 Sep 2024 17:05:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727629555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UZo5LxtO5EahGQF6hwjZPqlONwmzC+XhH+W8MKYBfrE=; b=KJfsluH+ocVGZpaTAOyXGl+66jychFnFaB37U9RnokLNo5+wgdzNAb25e0PGMRZtFtK3AD o+G00XB339i2Uq3bAw1pX9vT1JMB++fx27LdU+YGRO+OOwHBPj5yjCjnmfT40sxUrg+S1T cZQRxSTQlcmc1v0HXO7NzSQSJgtiiTFoe3VR6cY1b1C5t7cVJz9YZ26qPmy/E5ObJLP+kZ +khDg0l/68ZbnnD+ElM6eLsa0VKfBryGCVqnUKVMpThoXEk5gHyEXCxfaZkIqCJXG78RC0 t9h3H31FCBYbMtBLnbaAILfgefOlMzofprf4Hfcax4OCS7eN26sKcSS9XRm76w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727629555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UZo5LxtO5EahGQF6hwjZPqlONwmzC+XhH+W8MKYBfrE=; b=PYp1JPLdakHOtmxGF65vXbJjsLlYH8iSGm/SOkvEvIt3B82nIfNq9PYGK7Zg6zYKPl6nOT ieJbbxkTN1HmWF5n6S/scE0TWtR7+PJ+4G25sEAPRovh8DoTfbRG4Qq0C5hefgTEnVjFyZ f7dq++I+vqY5SIS3/rwPIssZ5QKSheXoXOKySTQYDZtV8ZAQkmW7XWxTbZRMX9Rvhke1/n bsMic1IRoN6++rqirysgYCutTqXAYz87HVuFJsvPTCSAIXIjcFI0MK38vnQPn7dPxX1Dqz mofbmwbmRkJI9mtDjAFee+Gd2TbesYvrrQJavHREhWx3ppJMNBqj8PT6xUsm4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727629555; a=rsa-sha256; cv=none; b=eJCn2JRzSPTWK1YMlaIOwwvVTcdvoRlhhrt/Vwby//oXW6wlpuomY1E9HZbAe/EwdpAchL cGvAwMJoW9vGRvbAFkZWMIS1Wl9nUL/2NsRAy3lY9VamNEbY+eAnz2ZXkqUFzlt1unD7Ee WvbpWC5bYU+VqIgHGuyptX50Y9cBeoVDaVPZ6U05Cgqjbeqt7GyItRPJjAnh2khDYv285o vrNxmsKVTUIvdReeuSOylVb2FBuhwd5tRmvLZ6SUdAgCFqKatrQZ5+FqVOWbaKrykxvQdh uJ1GlOzeVXxH77jQJyFcBhpiXnQQ9SbMH+haPxRty5SsEDZqxnaUqZHMtNabGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XGrFH4tVrzHCh; Sun, 29 Sep 2024 17:05:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48TH5tVh000779; Sun, 29 Sep 2024 17:05:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48TH5tgh000776; Sun, 29 Sep 2024 17:05:55 GMT (envelope-from git) Date: Sun, 29 Sep 2024 17:05:55 GMT Message-Id: <202409291705.48TH5tgh000776@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando =?utf-8?Q?Apestegu=C3=ADa?= Subject: git: f02284bf39 - main - [documentation][virtualization]: Fix links List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f02284bf39162cb333e86b7bb1ca4e8e99268fb1 Auto-Submitted: auto-generated The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=f02284bf39162cb333e86b7bb1ca4e8e99268fb1 commit f02284bf39162cb333e86b7bb1ca4e8e99268fb1 Author: Fernando Apesteguía AuthorDate: 2024-09-29 17:03:43 +0000 Commit: Fernando Apesteguía CommitDate: 2024-09-29 17:03:43 +0000 [documentation][virtualization]: Fix links * Do not use xref since it does not create working links in all outputs. * Point to the proper X installation subparagraph. Fixes: 3de85d772f --- .../en/books/handbook/virtualization/_index.adoc | 51 +++++++++++++--------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/documentation/content/en/books/handbook/virtualization/_index.adoc b/documentation/content/en/books/handbook/virtualization/_index.adoc index 763a7ce62f..8c2cb783df 100644 --- a/documentation/content/en/books/handbook/virtualization/_index.adoc +++ b/documentation/content/en/books/handbook/virtualization/_index.adoc @@ -545,7 +545,9 @@ Test the installation by running the following command as a non-root user: % qemu .... This brings up a window with QEMU actively trying to boot from hard disk, floppy disk, DVD/CD, and PXE. -Nothing has been set up yet, so the command will produce several errors and end with "No bootable device" as shown in Figure xref:qemu-nullboot[{counter:figure}]. +Nothing has been set up yet, so the command will produce several errors and end +with "No bootable device" as shown in +crossref:virtualization[qemu-nullboot,Figure {counter:figure}]. However, it does show that the QEMU software has been installed correctly. [[qemu-nullboot]] @@ -674,7 +676,8 @@ This script uses the QEMU raw disk format. Save the above into a file (for example `left.sh`) and simply run: % `/bin/sh left.sh` ==== -QEMU will start up a virtual machine in a separate window and boot the FreeBSD iso as shown in Figure xref:qemu-newboot-loader-menu[{counter:figure}]. +QEMU will start up a virtual machine in a separate window and boot the FreeBSD +iso as shown in crossref:virtualization[qemu-newboot-loader-menu,Figure {counter:figure}]. All command options such as `-cpu` and `-boot` are fully described in the QEMU man page man:qemu[1]. [[qemu-newboot-loader-menu]] @@ -683,7 +686,8 @@ image::qemu-freebsd02.png[The FreeBSD loader menu.] [TIP] ==== -If the mouse is clicked in the QEMU console window, QEMU will “grab” the mouse as shown in Figure xref:qemu-grab[{counter:figure}]. +If the mouse is clicked in the QEMU console window, QEMU will “grab” the mouse +as shown in crossref:virtualization[qemu-grab,Figure {counter:figure}]. Type kbd:[Ctl]+kbd:[Alt]+kbd:[G]” to release the mouse. ==== @@ -761,7 +765,7 @@ If there are strict firewall rules on the host, consider adding or modifying rul [[qemu-setting-up-x-windows]] ==== Using the X Window System -crossref:x11[x11,Installing Xorg] describes how to set up the `X Window` system. +crossref:x11[x-install,Installing Xorg] describes how to set up the `X Window` system. Refer to that guide for initial `X Window` setup then consult crossref:desktop[desktop,Desktop Environments] on how to set up a complete desktop. This section demonstrates use of the XFCE desktop. @@ -773,7 +777,8 @@ Once the installation is complete, login as a regular user, then type: % startx .... -The XFCE4 window manager should start up and present a functioning graphical desktop as in Figure xref:qemu-two-qemu[{counter:figure}]. +The XFCE4 window manager should start up and present a functioning graphical +desktop as in crossref:virtualization[qemu-two-qemu,Figure {counter:figure}]. On initial startup, it may take up to a minute to display the desktop. See the documentation at the link:https://www.xfce.org[XFCE website] for usage details. [[qemu-two-qemu]] @@ -794,7 +799,7 @@ The QEMU window functions as a full FreeBSD console, and is capable of running m To switch to another virtual console, click into the QEMU window and type kbd:[Alt+F2] or kbd:[Alt+F3]. FreeBSD should switch to another virtual console. -Figure xref:qemu-console-ttyv3[{counter:figure}] shows the "left" VM displaying the virtual console on `ttyv3`. +crossref:virtualization[qemu-console-ttyv3,Figure {counter:figure}] shows the "left" VM displaying the virtual console on `ttyv3`. [[qemu-console-ttyv3]] .Switching to Another Virtual Console in the QEMU Window image::qemu-freebsd05.png[Switching to Another Virtual Console in the QEMU Window] @@ -812,7 +817,7 @@ Check the window manager or desktop manager documentation for details. Another feature of the QEMU window is the `View` menu and the Zoom controls. The most useful is `Zoom to Fit`. When this menu selection is clicked, it is then possible to resize the QEMU window by clicking the window corner controls and resizing the window. -Figure xref:qemu-zoom-to-fit[{counter:figure}] shows the effect of resizing the "left" window while in graphics mode. +crossref:virtualization[qemu-zoom-to-fit,Figure {counter:figure}] shows the effect of resizing the "left" window while in graphics mode. [[qemu-zoom-to-fit]] .Using the View Menu `Zoom to Fit` Option @@ -874,7 +879,7 @@ echo .Enabling a Serial Port over TCP image::qemu-freebsd07.png[] -In Figure xref:qemu-left-serial-port[{counter:figure}], the serial port is redirected to a TCP port on the host system at VM startup and the QEMU monitor waits (`wait=on`) to activate the guest VM until a man:telnet[1] connection occurs on the indicated localhost port. +In crossref:virtualization[qemu-notes-on-serial-console,Figure {counter:figure}], the serial port is redirected to a TCP port on the host system at VM startup and the QEMU monitor waits (`wait=on`) to activate the guest VM until a man:telnet[1] connection occurs on the indicated localhost port. After receiving a connection from a separate session, the FreeBSD system starts booting and looks for a console directive in [.filename]#/boot/loader.conf#. With the directive "console=comconsole", FreeBSD starts up a console session on a serial port. The QEMU monitor detects this and directs the necessary character I/O on that serial port to the telnet session on the host. @@ -945,7 +950,7 @@ qemu-img create -f qcow2 -o preallocation=full,lazy_refcounts=on sparc64.qcow2 1 .... . Use the script below for the new Sparc64 architecture. -As with above example, run the script, then start a new session and `telnet` to localhost on the port indicated: +As with the above example, run the script, then start a new session and `telnet` to localhost on the port indicated: + [.programlisting] .... @@ -981,7 +986,8 @@ There is no graphical interface. This example uses a separate method of QEMU networking known as "Serial Line Internet Protocol" (SLIRP), sometimes referred to as "User Mode Networking". Documentation on this and other QEMU networking methods is here: link:https://wiki.qemu.org/Documentation/Networking[QEMU Networking Documentation] -If everything is set correctly, the system will boot as shown in Figure xref:qemu-sparc64-boot-cdrom-installation[{counter:figure}]. +If everything is set correctly, the system will boot as shown in +crossref:virtualization[qemu-sparc64-boot-cdrom-installation,Figure {counter:figure}]. [[qemu-sparc64-boot-cdrom-installation]] .QEMU Booting OpenBSD 6.8 Sparc64 from CDROM During User Mode Emulation image::qemu-freebsd08.png[] @@ -996,7 +1002,7 @@ However, the underlying architecture of the guest is Sparc64, not x86_64. ==== If the system is halted at the OpenBios console prompt `0 >`, enter `power-off` to exit the system. ==== -Figure xref:qemu-sparc64-login-to-installed-system[{counter:figure}] shows a root login to the installed system and running man:uname[1]. +crossref:virtualization[qemu-sparc64-login-to-installed-system,Figure {counter:figure}] shows a root login to the installed system and running man:uname[1]. [[qemu-sparc64-login-to-installed-system]] .QEMU Booting from CDROM During User Mode Emulation @@ -1030,7 +1036,8 @@ When using a graphical desktop environment, the simplest way to use the QEMU mon ... .... -This results in a new prompt `(qemu)` in the terminal window as shown in Figure xref:qemu-monitor-operation[{counter:figure}]. +This results in a new prompt `(qemu)` in the terminal window as shown in +crossref:virtualization[qemu-monitor-operation,Figure {counter:figure}]. [[qemu-monitor-operation]] .QEMU Monitor Prompt and "stop" Command @@ -1050,7 +1057,7 @@ To add a new disk to a running VM, the disk needs to be prepared as above: % qemu-img create -f raw new10G.img 10G .... -Figure xref:qemu-add-new-disk-figure[{counter:figure}] shows the monitor command sequence needed to add a new disk in the VM. +crossref:virtualization[qemu-add-new-disk-figure,Figure {counter:figure}] shows the monitor command sequence needed to add a new disk in the VM. Once the device has been added with the `device_add` command in the monitor it shows up on the FreeBSD system console shown in the lower part of the figure. The disk can be configured as needed. @@ -1115,7 +1122,7 @@ During the "Prepare the environment" step, in a separate virtual console (ttyv1) Additional programs may be started if desired. The snapshot should account for the state of all applications running at the time the snapshot is taken. -Figure xref:qemu-using-monitor-snapshots[{counter:figure}] shows the newly installed FreeBSD system with no packages, and separately, the editing session on ttyv1. +crossref:virtualization[qemu-using-monitor-snapshots,Figure {counter:figure}] shows the newly installed FreeBSD system with no packages, and separately, the editing session on ttyv1. The man:vi[1] editor is currently in `insert` mode with the typist typing the word "broadcast". [[qemu-using-monitor-snapshots]] @@ -1135,7 +1142,7 @@ QEMU 9.0.1 monitor - type 'help' for more information Next, in the main console window, install a package, such as man:zip[1] which has no dependencies. Once that completes, renter the monitor and create another snapshot (`snap1_pkg+zip`). -Figure xref:qemu-after-monitor-snapshots[{counter:figure}] shows the results of the above commands and the output of the `info shapshots` command. +crossref:virtualization[qemu-after-monitor-snapshots,Figure {counter:figure}] shows the results of the above commands and the output of the `info shapshots` command. [[qemu-after-monitor-snapshots]] .QEMU Using Monitor Commands for Snapshots @@ -1164,7 +1171,8 @@ Any other programs running at the time the snapshot was taken should be unaffect The above steps show how a snapshot can be taken, the system modified, and then "rolled back" by restoring the previous snapshot. By default QEMU stores snapshot data in the same file as the image. -View the list of snapshots with man:qemu-img[1] as shown below in Figure xref:qemu-examine-monitor-snapshots[{counter:figure}]. +View the list of snapshots with man:qemu-img[1] as shown below in +crossref:virtualization[qemu-examine-monitor-snapshots,Figure {counter:figure}]. [[qemu-examine-monitor-snapshots]] .QEMU Using man:qemu-img[1] to Examine Snapshots @@ -1201,7 +1209,9 @@ This configuration includes a `-drive` specification with the `id=usbstick`, raw The next line contains the `-device usb-ehci` specification for a USB EHCI controller, with `id=ehci`. Finally, a `-device usb-storage` specification ties the above drive to the EHCI USB bus. -When the system is booted, FreeBSD will recognize a USB hub, add the attached USB device, and assign it to `da0` as shown in Figure xref:qemu-usb-internal-storage[{counter:figure}]. +When the system is booted, FreeBSD will recognize a USB hub, add the attached +USB device, and assign it to `da0` as shown in +crossref:virtualization[qemu-usb-internal-storage,Figure {counter:figure}]. [[qemu-usb-internal-storage]] .QEMU Created USB Hub and Mass Storage Device @@ -1220,7 +1230,7 @@ For more information and examples, see: * link:https://www.qemu.org/docs/master/system/devices/usb.html[] -The upper part of Figure xref:qemu-usb-passthrough[{counter:figure}] shows the QEMU monitor commands: +The upper part of crossref:virtualization[qemu-usb-passthrough,Figure {counter:figure}] shows the QEMU monitor commands: * `info usbhost` shows information about all USB devices on the host system. Find the desired USB device on the host system and note the two hexadecimal values on that line. @@ -1232,9 +1242,10 @@ Use the two values shown by the `info usbhost` command in the `device_add` step .QEMU Monitor Commands to Access a USB Device on the Host image::qemu-freebsd18.png[] -As before, once `device_add` completes, the FreeBSD kernel recognizes a new USB device, as shown in the lower half of the Figure. +As before, once `device_add` completes, the FreeBSD kernel recognizes a new USB device, as shown in the lower half of the . -Using the new device is shown in Figure xref:qemu-usb-passthrough2[{counter:figure}]. +Using the new device is shown in +crossref:virtualization[qemu-usb-passthrough2,Figure {counter:figure}]. [[qemu-usb-passthrough2]] .Using the Host USB Device via Passthrough