grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3] docs: Add fuller accounting of make check prerequisites


From: Glenn Washburn
Subject: [PATCH v3] docs: Add fuller accounting of make check prerequisites
Date: Tue, 12 Oct 2021 17:23:02 -0500

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.

Add an incomplete list of cross compiling toolchain packages for Debian
and trusted sources for other distro.

Add statement at the start of the document to clarify that package names are
from Debian 11.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
Changes since v2
* Add statement noting that package name are from Debian 11.
* Use double quotes instead of single quotes.
* Add an incomplete list of debian cross compiler packages.
* Mention that the qemu-system package installs all needed qemu architecture
  packages.
* Add ackage names for OVMF and OpenBIOS packages.
* Separate big packages list into subgroups as list items and sort
  alphabetically.

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 v2:
  diff --git a/INSTALL b/INSTALL
  index bb086a902..fe09b04ae 100644
  --- a/INSTALL
  +++ b/INSTALL
  @@ -4,6 +4,9 @@ This is the GRUB.  Welcome.
   
   This file contains instructions for compiling and installing the GRUB.
   
  +Where this document refers to packages names, they are named according to the
  +Debian 11 package repositories.
  +
   The Requirements
   ================
   
  @@ -46,33 +49,41 @@ 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:
  +Your distro may package cross-compiling toolchains such as the following
  +incomplete list on Debian: gcc-aarch64-linux-gnu, gcc-arm-linux-gnueabihf,
  +gcc-mipsel-linux-gnu, and mingw-w64.
  +
  +More 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
  -  architecture GRUB has been built for
  -* OVMF, for EFI platforms
  -* OpenBIOS, for ieee1275 platforms
  +* qemu, specifically the binary "qemu-system-ARCH" where ARCH is the
  +  architecture GRUB has been built for. The "qemu-system" package on Debian
  +  will install all needed qemu architectures.
  +* OVMF, for EFI platforms (packages ovmf, ovmf-ia32, qemu-efi-arm, and
  +  qemu-efi-aarch64)
  +* OpenBIOS, for ieee1275 platforms (packages openbios-ppc and openbios-sparc)
   * 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
  +  - fuse, loop
  +  - btrfs, ext4, f2fs, fat, hfs, hfsplus, jfs, mac-roman, minix, nilfs2,
  +    reiserfs, udf, xfs
     - 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
  +  suite of filesystem testing (but some are needed by other tests as well):
  +  - btrfs-progs, dosfstools, e2fsprogs, exfatprogs, f2fs-tools, genromfs,
  +    hfsprogs, jfsutils, nilfs-tools, ntfs-3g, reiserfsprogs, squashfs-tools,
  +    reiserfsprogs, udftools, xfsprogs, zfs-fuse
     - exfat-fuse, if not using the exfat kernel module
  +  - gzip, lzop, xz-utils
  +  - attr, cpio, g++, gawk, parted, recode, tar, util-linux
   
   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 | 43 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 41 insertions(+), 2 deletions(-)

diff --git a/INSTALL b/INSTALL
index 5e152b71f..fe09b04ae 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,6 +4,9 @@ This is the GRUB.  Welcome.
 
 This file contains instructions for compiling and installing the GRUB.
 
+Where this document refers to packages names, they are named according to the
+Debian 11 package repositories.
+
 The Requirements
 ================
 
@@ -46,10 +49,45 @@ need the following.
 * Autoconf 2.63 or later
 * Automake 1.11 or later
 
+Your distro may package cross-compiling toolchains such as the following
+incomplete list on Debian: gcc-aarch64-linux-gnu, gcc-arm-linux-gnueabihf,
+gcc-mipsel-linux-gnu, and mingw-w64.
+
+More 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. The "qemu-system" package on Debian
+  will install all needed qemu architectures.
+* OVMF, for EFI platforms (packages ovmf, ovmf-ia32, qemu-efi-arm, and
+  qemu-efi-aarch64)
+* OpenBIOS, for ieee1275 platforms (packages openbios-ppc and openbios-sparc)
 * 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
+  - btrfs, ext4, f2fs, fat, hfs, hfsplus, jfs, mac-roman, minix, nilfs2,
+    reiserfs, udf, xfs
+  - 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):
+  - btrfs-progs, dosfstools, e2fsprogs, exfatprogs, f2fs-tools, genromfs,
+    hfsprogs, jfsutils, nilfs-tools, ntfs-3g, reiserfsprogs, squashfs-tools,
+    reiserfsprogs, udftools, xfsprogs, zfs-fuse
+  - exfat-fuse, if not using the exfat kernel module
+  - gzip, lzop, xz-utils
+  - attr, cpio, g++, gawk, parted, recode, tar, util-linux
+
+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 +139,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 via email to

[Prev in Thread] Current Thread [Next in Thread]