All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glenn Washburn <development@efficientek.com>
To: Daniel Kiper <dkiper@net-space.pl>, grub-devel@gnu.org
Cc: Glenn Washburn <development@efficientek.com>
Subject: [PATCH v2] docs: Add fuller accounting of make check prerequisites
Date: Tue,  5 Oct 2021 00:45:04 -0500	[thread overview]
Message-ID: <20211005054504.9990-1-development@efficientek.com> (raw)

Many of the prerequisites for exercising the full `make check' test suite
have not been documented. This adds them along with a note that some tests
require elevated privileges to run.

Also add documentation on trusted sources for finding cross compiling tool
chains.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
Changes since v1

* Add section on where to find cross compiling tool chains per Daniel's request.
* Missed needed modules loop and we need fuse for ntfs and exfat (though on
  very recent kernels the exfat module would be better to use).
* Also, romfs, isofs, and squashfs are not required either because we don't
  mount or use these images in loopback devices.
* Need exfat-fuse for all but recent kernels. And exfatprogs is better
  than exfat-utils (more compete support). But its a newer package, so
  may not be available on older systems. 
* g++ package is needed to build some tests.
* Gawk is not strictly needed, in that testing will work, but the process
  will complain without it.

---
Interdiff against v1:
  diff --git a/INSTALL b/INSTALL
  index 25e3740ff..bb086a902 100644
  --- a/INSTALL
  +++ b/INSTALL
  @@ -46,6 +46,11 @@ need the following.
   * Autoconf 2.63 or later
   * Automake 1.11 or later
   
  +Cross compiling tool chains can be found at the following trusted sites:
  +
  +* https://mirrors.kernel.org/pub/tools/crosstool/
  +* https://toolchains.bootlin.com/
  +
   Prerequisites for make-check:
   
   * qemu, specifically the binary 'qemu-system-ARCH' where ARCH is the
  @@ -57,14 +62,17 @@ Prerequisites for make-check:
   * mtools, FAT tools for EFI platforms
   
   * If running a Linux kernel the following modules must be loaded:
  -  - minix, hfs, mac-roman, hfsplus, exfat, reiserfs, xfs, f2fs, btrfs,
  -    nilfs2, jfs, fat, ext4, udf, romfs, isofs, squashfs
  +  - fuse, loop, minix, hfs, mac-roman, hfsplus, reiserfs, xfs, f2fs, btrfs,
  +    nilfs2, jfs, fat, ext4, udf
  +  - On newer kernels, the exfat kernel modules may be used instead of the
  +    exfat FUSE filesystem.
   * The following are debian named packages required mostly for the full
     suite of filesystem testing (but some are needed by other tests as well
     - tar, cpio, gzip, lzop, xz-utils, parted, util-linux, squashfs-tools,
  -    zfs-fuse, dosfstools, exfat-utils, ntfs-3g, e2fsprogs, btrfs-progs,
  +    zfs-fuse, dosfstools, exfatprogs, ntfs-3g, e2fsprogs, btrfs-progs,
       xfsprogs, hfsprogs, recode, jfsutils, reiserfsprogs, udftools,
  -    nilfs-tools, f2fs-tools, genromfs, attr
  +    nilfs-tools, f2fs-tools, genromfs, attr, g++, gawk
  +  - exfat-fuse, if not using the exfat kernel module
   
   Note that `make check' will run and many tests may complete successfully
   with only a subset of these prerequisites. However, some tests may be

 INSTALL | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/INSTALL b/INSTALL
index 5e152b71f..bb086a902 100644
--- a/INSTALL
+++ b/INSTALL
@@ -46,10 +46,37 @@ need the following.
 * Autoconf 2.63 or later
 * Automake 1.11 or later
 
+Cross compiling tool chains can be found at the following trusted sites:
+
+* https://mirrors.kernel.org/pub/tools/crosstool/
+* https://toolchains.bootlin.com/
+
 Prerequisites for make-check:
 
-* qemu, specifically the binary 'qemu-system-i386'
+* qemu, specifically the binary 'qemu-system-ARCH' where ARCH is the
+  architecture GRUB has been built for
+* OVMF, for EFI platforms
+* OpenBIOS, for ieee1275 platforms
 * xorriso 1.2.9 or later, for grub-mkrescue and grub-shell
+* wamerican, for grub-fs-tester
+* mtools, FAT tools for EFI platforms
+
+* If running a Linux kernel the following modules must be loaded:
+  - fuse, loop, minix, hfs, mac-roman, hfsplus, reiserfs, xfs, f2fs, btrfs,
+    nilfs2, jfs, fat, ext4, udf
+  - On newer kernels, the exfat kernel modules may be used instead of the
+    exfat FUSE filesystem.
+* The following are debian named packages required mostly for the full
+  suite of filesystem testing (but some are needed by other tests as well
+  - tar, cpio, gzip, lzop, xz-utils, parted, util-linux, squashfs-tools,
+    zfs-fuse, dosfstools, exfatprogs, ntfs-3g, e2fsprogs, btrfs-progs,
+    xfsprogs, hfsprogs, recode, jfsutils, reiserfsprogs, udftools,
+    nilfs-tools, f2fs-tools, genromfs, attr, g++, gawk
+  - exfat-fuse, if not using the exfat kernel module
+
+Note that `make check' will run and many tests may complete successfully
+with only a subset of these prerequisites. However, some tests may be
+skipped or fail due to missing prerequisites.
 
 Configuring the GRUB
 ====================
@@ -101,7 +128,8 @@ The simplest way to compile this package is:
   6. Type `make' to compile the package.
 
   7. Optionally, type `make check' to run any self-tests that come with
-     the package.
+     the package.  Note that many of the tests require root privileges in
+     order to run.
 
   8. Type `make install' to install the programs and any data files and
      documentation.
-- 
2.27.0



             reply	other threads:[~2021-10-05  5:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05  5:45 Glenn Washburn [this message]
2021-10-05 16:08 ` [PATCH v2] docs: Add fuller accounting of make check prerequisites Daniel Kiper
2021-10-08 18:10   ` Glenn Washburn
2021-10-11 15:27     ` Daniel Kiper
2021-10-12 20:34       ` Glenn Washburn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211005054504.9990-1-development@efficientek.com \
    --to=development@efficientek.com \
    --cc=dkiper@net-space.pl \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.