Skip to content

Commit

Permalink
adjust boot requirements tests and doc
Browse files Browse the repository at this point in the history
  • Loading branch information
wfeldt committed Nov 16, 2018
1 parent ca607b9 commit ecc25ad
Show file tree
Hide file tree
Showing 2 changed files with 261 additions and 203 deletions.
255 changes: 135 additions & 120 deletions doc/boot-requirements.md
Expand Up @@ -2,116 +2,51 @@
[//]: # (document was automatically created using 'rake doc:bootspecs')

# Y2Storage::BootRequirementsChecker
## needed partitions in a x86 system
- using UEFI
- with a partitions-based proposal
- if there are no EFI partitions
## needed partitions in an aarch64 system
- with a partitions-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with a LVM-based proposal
- if there are no EFI partitions
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with a LVM-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with an encrypted proposal
- if there are no EFI partitions
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with an encrypted proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- not using UEFI (legacy PC)
- with GPT partition table
- in a partitions-based proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- in a LVM-based proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- in an encrypted proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- with a MS-DOS partition table
- if the MBR gap is big enough to embed Grub
- in a partitions-based proposal
- **does not require any particular volume**
- in a LVM-based proposal
- if the MBR gap has additional space for grubenv
- **does not require any particular volume**
- if the MBR gap has no additional space
- **requires only a /boot partition**
- in an encrypted proposal
- if the MBR gap has additional space for grubenv
- **does not require any particular volume**
- if the MBR gap has no additional space
- **requires only a /boot partition**
- with too small MBR gap
- in a partitions-based proposal
- if proposing root (/) as Btrfs
- **does not require any particular volume**
- if proposing root (/) as non-Btrfs
- **raises an exception**
- in a LVM-based proposal
- **raises an exception**
- in an encrypted proposal
- **raises an exception**
- when proposing a boot partition
- **requires /boot to be a non-encrypted ext4 partition in the booting disk**
- when aiming for the recommended size
- **requires /boot to be at least 200 MiB large**
- when aiming for the minimal size
- **requires /boot to be at least 100 MiB large**
- when proposing an new GRUB partition
- **requires it to have the correct id**
- **requires it to be a non-encrypted partition**
- when aiming for the recommended size
- **requires it to be at least 4 MiB (Grub2 stages 1+2, needed Grub modules and extra space)**
- **requires it to be at most 8 MiB (anything bigger would mean wasting space)**
- when aiming for the minimal size
- **requires it to be at least 2 MiB (Grub2 stages 1+2 and needed Grub modules)**
- **requires it to be at most 8 MiB (anything bigger would mean wasting space)**
- when proposing an new EFI partition
- **requires /boot/efi to be a non-encrypted vfat partition**
- **requires /boot/efi to be close enough to the beginning of disk**
- when aiming for the recommended size
- **requires /boot/efi to be exactly 500 MiB large (enough for several operating systems)**
- when aiming for the minimal size
- **requires it to be at least 256 MiB (min size for FAT32 in drives with 4-KiB-per-sector)**
- **requires it to be at most 500 MiB (enough space for several operating systems)**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**

## needed partitions in a PPC64 system
- in a non-PowerNV system (KVM/LPAR)
- with a partitions-based proposal
- if there are no PReP partitions in the target disk
- if there are no suitable PReP partitions in the target disk
- **requires only a new PReP partition (to allocate Grub2)**
- **does not require a separate /boot partition (Grub2 can handle this setup)**
- if there is already a PReP partition in the disk
- if there is already a suitable PReP partition in the disk
- **does not require any partition (PReP will be reused and Grub2 can handle this setup)**
- with a LVM-based proposal
- if there are no PReP partitions in the target disk
- if there are no suitable PReP partitions in the target disk
- **requires only a new PReP partition (to allocate Grub2)**
- **does not require a separate /boot partition (Grub2 can handle this setup)**
- if there is already a PReP partition in the disk
- if there is already a suitable PReP partition in the disk
- **does not require any partition (PReP will be reused and Grub2 can handle this setup)**
- with an encrypted proposal
- if there are no PReP partitions in the target disk
- if there are no suitable PReP partitions in the target disk
- **requires only a new PReP partition (to allocate Grub2)**
- **does not require a separate /boot partition (Grub2 can handle this setup)**
- if there is already a PReP partition in the disk
- if there is already a suitable PReP partition in the disk
- **does not require any partition (PReP will be reused and Grub2 can handle this setup)**
- in bare metal (PowerNV)
- with a partitions-based proposal
Expand Down Expand Up @@ -140,32 +75,6 @@
- **requires it to be at least 2 MiB (Grub2 stages 1+2 and needed Grub modules)**
- **requires it to be at most 8 MiB (some firmwares will fail to load bigger ones)**

## needed partitions in an aarch64 system
- with a partitions-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with a LVM-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with an encrypted proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**

## needed partitions in a S/390 system
- trying to install in a FBA DASD disk
- with a partitions-based proposal
Expand Down Expand Up @@ -209,4 +118,110 @@
- when aiming for the minimal size
- **requires /boot/zipl to be at least 100 MiB (Grub2 and one kernel+initrd)**


## needed partitions in a x86 system
- using UEFI
- with a partitions-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with a LVM-based proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- with an encrypted proposal
- if there are no EFI partitions
- **requires only a new /boot/efi partition**
- if there is already an EFI partition
- and it is not a suitable EFI partition (not enough size, invalid filesystem)
- **requires only a new /boot/efi partition**
- and it is a suitable EFI partition (enough size, valid filesystem)
- **only requires to use the existing EFI partition**
- not using UEFI (legacy PC)
- with GPT partition table
- in a partitions-based proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- in a LVM-based proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- in an encrypted proposal
- if there is no GRUB partition
- **requires a new GRUB partition**
- if there is already a GRUB partition
- **does not require any particular volume**
- with a MS-DOS partition table
- if the MBR gap is big enough to embed Grub
- in a partitions-based proposal
- **does not require any particular volume**
- in a LVM-based proposal
- **does not require any particular volume**
- in an encrypted proposal
- **does not require any particular volume**
- with too small MBR gap
- in a partitions-based proposal
- if / can embed grub
- **does not require any particular volume**
- **shows a warning that the setup is not supported**
- if / can not embed grub
- **requires a new /boot partition**
- **shows a warning that the bootloader cannot be installed**
- in a LVM-based proposal
- if / can embed grub
- **requires a new /boot partition**
- **shows a warning that the bootloader cannot be installed**
- if /boot can not embed grub
- **requires a new /boot partition**
- **shows a warning that the bootloader cannot be installed**
- in an encrypted proposal
- if / can embed grub
- **requires a new /boot partition**
- **shows a warning that the bootloader cannot be installed**
- if / can not embed grub
- **requires a new /boot partition**
- **shows a warning that the bootloader cannot be installed**
- with no partition table
- in an unencrypted proposal
- if / can embed grub
- **shows a warning that the setup is not supported**
- if / can not embed grub
- **shows a warning that the bootloader cannot be installed**
- in an encrypted proposal
- if / can embed grub
- **shows a warning that the bootloader cannot be installed**
- if / can not embed grub
- **shows a warning that the bootloader cannot be installed**
- when proposing a boot partition
- **requires /boot to be a non-encrypted ext4 partition in the booting disk**
- when aiming for the recommended size
- **requires /boot to be at least 200 MiB large**
- when aiming for the minimal size
- **requires /boot to be at least 100 MiB large**
- when proposing an new GRUB partition
- **requires it to have the correct id**
- **requires it to be a non-encrypted partition**
- when aiming for the recommended size
- **requires it to be at least 4 MiB (Grub2 stages 1+2, needed Grub modules and extra space)**
- **requires it to be at most 8 MiB (anything bigger would mean wasting space)**
- when aiming for the minimal size
- **requires it to be at least 2 MiB (Grub2 stages 1+2 and needed Grub modules)**
- **requires it to be at most 8 MiB (anything bigger would mean wasting space)**
- when proposing an new EFI partition
- **requires /boot/efi to be a non-encrypted vfat partition**
- **requires /boot/efi to be close enough to the beginning of disk**
- when aiming for the recommended size
- **requires /boot/efi to be exactly 500 MiB large (enough for several operating systems)**
- when aiming for the minimal size
- **requires it to be at least 256 MiB (min size for FAT32 in drives with 4-KiB-per-sector)**
- **requires it to be at most 500 MiB (enough space for several operating systems)**

0 comments on commit ecc25ad

Please sign in to comment.