From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1maQCE-0003G4-ST for mharc-grub-devel@gnu.org; Tue, 12 Oct 2021 18:24:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33872) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1maQC6-0003BT-9H for grub-devel@gnu.org; Tue, 12 Oct 2021 18:24:22 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:42665) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1maQC0-0003xG-0K for grub-devel@gnu.org; Tue, 12 Oct 2021 18:24:21 -0400 Received: by mail-qt1-x831.google.com with SMTP id z24so833087qtv.9 for ; Tue, 12 Oct 2021 15:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficientek-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XB+NB/F5+S1GTeiiYa4BZMjXjJSRjs0YjTJbwwoVajg=; b=oQOzpOUFXtwDwHYjrn0bbB6u6EKVYA4C9Mj5z/0rgbCPXhjKyCsinGo+aukbBSZno4 66AMXXz4kh7Oby57eFbWZuJ+62Qc5Lr2GYW4EOI4UVOW0DTkENSYYkGNF1N8qTiLv9yx 5yV8BzyRwO/RM2IVlsdSdfI8icKYnRO/yzve2QCAi4qFqoZTwG/B+bynSc/IgAwfPRAW B9lHplVhMSIjjDpYtTYFjdaiQ0zxr16FqBCY8RvMb7jmX0924Ri/7cbuFiuE/+cnVlDe xfz+3BC1NMdaA+P5959QA6CDf+X7g1QfNf/R0PbumD14MzwV6uY22ktB3RS1igyR26rO hhcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=XB+NB/F5+S1GTeiiYa4BZMjXjJSRjs0YjTJbwwoVajg=; b=A61GjE2ffuWqwBpD+OZgWQls8GRVLRStx2cbWGBcijrsmFU2EpxNPwIsmNkDbF3NCa DMkM7/K2HA5ndl6Z1s28FOgk9aAPIn3xrPEd0AC0m+GURZxTtGhJFCoipVMLuOCjxiv4 MpgMrHLRRoz0ajgOIdpQC+l254u6nhxqd9OiRL5abrv+aojo5XZfI0XNXX8P8exH4d0l ydVseweiuliNYrIuLyksev39cr65b5Tw9TKiLGRWXc4JRpwkgPn0VcoHiGQ67Mln13sd dYrAZn49PRg2cxa33BLby2fXo6bOzuvs+wRiLBIFTMVfunIgrN/QnrEsuck6Q/70EsYx RfBg== X-Gm-Message-State: AOAM530f7ceQe9sV86oEnrS5x6GKl/aOrMGcqRisZETfetvICiWY//YJ dcfb0PpSr+4R0VzH/tSIHgB382XIIP7akA== X-Google-Smtp-Source: ABdhPJxYr8zeur/ojqRckxMAw1dD/nAidzK1XyiTo8tmKAqFLb5HEsTCuT3VlFSeinAX4OPwqUPA/w== X-Received: by 2002:ac8:7143:: with SMTP id h3mr25804559qtp.242.1634077454601; Tue, 12 Oct 2021 15:24:14 -0700 (PDT) Received: from localhost.localdomain ([37.218.244.251]) by smtp.gmail.com with ESMTPSA id i14sm6401762qka.19.2021.10.12.15.24.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Oct 2021 15:24:14 -0700 (PDT) From: Glenn Washburn To: Daniel Kiper , grub-devel@gnu.org Cc: Glenn Washburn Subject: [PATCH v3] docs: Add fuller accounting of make check prerequisites Date: Tue, 12 Oct 2021 17:23:02 -0500 Message-Id: <20211012222302.157428-1-development@efficientek.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::831; envelope-from=development@efficientek.com; helo=mail-qt1-x831.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Oct 2021 22:24:28 -0000 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 --- 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