Merge pull request #41 from ClusterLabs/install-target-uefi

* The work on PXE / UEFI support is broken, and will be set aside for…
main
Digimer 4 years ago committed by GitHub
commit 2a1fa6891e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      cgi-bin/get_anvil_status
  2. 17
      cgi-bin/get_anvils
  3. 106
      html/skins/alteeve/pxe.txt
  4. 41
      notes
  5. 18
      scripts/plan_partitions
  6. 2
      share/anvil.sql
  7. 12
      share/words.xml
  8. 5
      tools/striker-manage-install-target

@ -39,6 +39,7 @@ $anvil->Database->get_anvils();
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n";
my $hash = {};
my $anvil_uuid = $anvil->data->{cgi}{anvil_uuid}{value};
if ((not $anvil_uuid) or (not exists $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}))
{
@ -60,6 +61,11 @@ else
$anvil->data->{anvil_status}{nodes}{node2}{host_name} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_name};
$anvil->data->{anvil_status}{nodes}{node2}{host_uuid} = $node2_uuid;
$anvil->data->{anvil_status}{nodes}{node2}{host_status} = $anvil->data->{hosts}{host_uuid}{$node2_uuid}{host_status} eq "online" ? 1 : 0;
$hash->{timestamp} = time;
$hash->{nodes} = [];
push @{$hash->{nodes}}, { on => $anvil->data->{anvil_status}{nodes}{node1}{host_status} };
push @{$hash->{nodes}}, { on => $anvil->data->{anvil_status}{nodes}{node2}{host_status} };
}
print JSON->new->utf8->encode($anvil->data->{anvil_status})."\n";
print JSON->new->utf8->encode($hash)."\n";

@ -35,6 +35,19 @@ if (not $anvil->data->{sys}{database}{connections})
$anvil->Get->cgi();
$anvil->Database->get_anvils();
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n";
print JSON->new->utf8->encode($anvil->data->{anvils}{anvil_name})."\n";
my $json_hash = {};
$json_hash->{anvils} = [];
foreach my $anvil_uuid (keys %{$anvil->data->{anvils}{anvil_uuid}})
{
push @{$json_hash->{anvils}}, { uuid => $anvil_uuid };
my $anvil_description = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_description};
my $anvil_password = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_password};
my $anvil_node1_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_node1_host_uuid};
my $anvil_node2_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_node2_host_uuid};
my $anvil_dr1_host_uuid = $anvil->data->{anvils}{anvil_uuid}{$anvil_uuid}{anvil_dr1_host_uuid};
}
print $anvil->Template->get({file => "shared.html", name => "json_headers", show_name => 0})."\n";
print JSON->new->utf8->encode($json_hash)."\n";

@ -82,7 +82,7 @@ selinux --permissive
%packages
@^minimal-environment
alteeve-el8-repo
#alteeve-el8-repo
#createrepo
#dhcp-server
#firefox
@ -276,7 +276,7 @@ use strict;
use warnings;
# Set to '1' for verbose output
my $debug = #!variable!debug!#;
my $debug = 0;
### NOTE: This must be set to 'striker', 'node' or 'dr'! Wither set '$type' or use the appropriate argument.
my $type = "#!variable!type!#";
@ -533,7 +533,6 @@ else
### NOTE: kickstart sizes are in MiB
# Prepare some variables
my $swap_size = 8192;
my $boot_size = 1024;
my $root_size = 0;
my $vg_name = $type."_".$id;
@ -571,7 +570,7 @@ if ($available_space < 40960)
}
# The left over space is for '/' (we'll shorten this up to 40GiB for nodes and DR hosts next)
$root_size = $available_space - $swap_size - $boot_size;
$root_size = $available_space - $swap_size;
print __LINE__."; [ Debug ] - root_size: [".$root_size."]\n" if $debug;
print __LINE__."; [ Debug ] - type: [".$type."], root_size: [".$root_size."]\n" if $debug;
@ -583,23 +582,22 @@ if (($type ne "striker") && ($root_size > 40960))
# Round down to an event integer.
$root_size =~ s/\.\d+$//;
print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size." MiB)], root_size: [".hr_size($root_size * (2**20))." (".$root_size.") MiB], boot_size: [".hr_size($boot_size * (2**20))." (".$boot_size.") MiB]\n" if $debug;
print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size." MiB)], root_size: [".hr_size($root_size * (2**20))." (".$root_size.") MiB]\n" if $debug;
# Build the partition file.
my $partition_file = "/tmp/plan_partitions.out";
my $partition_body = "zerombr
clearpart --all --drives=".$say_use_drive."
ignoredisk --only-use=".$say_use_drive."
bootloader --location=mbr --driveorder=".$say_use_drive." --boot-drive=".$use_drive;
my $partition_body = "ignoredisk --only-use=".$say_use_drive."
clearpart --none --initlabel";
if (not $raid_level)
{
# Finally, we've got our output.
$partition_body .= "
# Partitions
part biosboot --fstype=biosboot --size=2
part /boot --fstype=ext4 --size=1024 --ondisk=".$use_drive."
part pv.01 --fstype=lvmpv --size=100 --ondisk=".$use_drive." --grow
# Disk partitioning information
part biosboot --fstype=\"biosboot\" --ondisk=".$use_drive." --size=2
part /boot --fstype=\"xfs\" --ondisk=".$use_drive." --size=1024
part /boot/efi --fstype=\"efi\" --ondisk=".$use_drive." --size=600 --fsoptions=\"umask=0077,shortname=winnt\"
part pv.01 --fstype=lvmpv --ondisk=".$use_drive." --size=100 --grow
# LVM Volume groups
volgroup ".$vg_name." --pesize=4096 pv.01
@ -617,26 +615,22 @@ else
for (my $i = 0; $i < $count; $i++)
{
$partition_body .= "part biosboot --fstype=biosboot --size=2 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n";
$partition_body .= "part biosboot --fstype=\"biosboot\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=2 \n";
$partition_body .= "part /boot/efi --fstype=\"efi\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=600 --fsoptions=\"umask=0077,shortname=winnt\" \n";
$partition_body .= "part /boot --fstype=\"xfs\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=1024 \n";
}
$partition_body .= "
# LVM PV
";
### TODO: Test the /boot part.
my $say_raid_boot = "";
my $say_raid = "";
for (my $i = 0; $i < $count; $i++)
{
my $disk_number = $i + 1;
$partition_body .= "part raid.0".$disk_number." --size 1025 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n";
$partition_body .= "part raid.1".$disk_number." --size 100 --grow --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n";
$say_raid_boot .= "raid.0".$disk_number." ";
$say_raid .= "raid.1".$disk_number." ";
}
$partition_body .= "
raid /boot --fstype=ext4 --device=boot --level=RAID1 ".$say_raid_boot."
raid pv.01 --fstype=xfs --device=pv.01 --level=RAID".$raid_level." ".$say_raid."
$partition_body .= "raid pv.01 --fstype=xfs --device=pv.01 --level=RAID".$raid_level." ".$say_raid."
# LVM Volume groups
volgroup ".$vg_name." pv.01
@ -647,7 +641,7 @@ logvol / --fstype=xfs --size=100 --grow --maxsize=".$root_size." --name=lv_r
";
}
### NOTE: This shouldn't be needed... See: https://bugzilla.redhat.com/show_bug.cgi?id=1654902
# Wipe out the start of each disk so that the install doesn't puke if it sees, for example, an mdadm
# signature on the sole disk being used as an install target.
foreach my $path (split/,/, $say_use_drive)
@ -819,7 +813,7 @@ MENU COLOR help 0 #c0f2f2f2 #c0000000 std # Help text, if set via '
### NOTE: inst.repo is the image of the install media, looks for .treeinfo
label striker
menu label #!string!message_0084!#
menu label ^1. #!string!message_0084!#
TEXT HELP
#!string!message_0085!#
ENDTEXT
@ -828,7 +822,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
label node
menu label #!string!message_0086!#
menu label ^2. #!string!message_0086!#
TEXT HELP
#!string!message_0087!#
ENDTEXT
@ -836,7 +830,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/node.ks inst.gpt inst.sshd
label node
menu label #!string!message_0088!#
menu label ^3. #!string!message_0088!#
TEXT HELP
#!string!message_0089!#
ENDTEXT
@ -844,7 +838,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/dr.ks inst.gpt inst.sshd
label rescue
menu label #!string!message_0090!#
menu label ^4. #!string!message_0090!#
TEXT HELP
#!string!message_0091!#
ENDTEXT
@ -852,7 +846,7 @@ kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img ip=dhcp root=live:#!variable!base_url!#/LiveOS/squashfs.img rescue inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.sshd
label #!data!host_os::os_type!#
menu label #!string!message_0092!#
menu label ^5. #!string!message_0092!#
TEXT HELP
#!string!message_0093!#
ENDTEXT
@ -861,7 +855,7 @@ append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url
label next
menu default
menu label #!string!message_0094!#
menu label ^6. #!string!message_0094!#
localboot 0xffff
<!-- end tftp_bios -->
@ -890,13 +884,21 @@ search --no-floppy --set=root -l 'RHEL-8-3-0-BaseOS-x86_64'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install #!variable!say_os!# 8' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/#!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/
initrdefi /images/#!data!host_os::os_type!#/initrd.img
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/
initrdefi #!data!host_os::os_type!#/initrd.img
}
menuentry '#!string!message_0084!#' --class #!data!host_os::os_type!# --class gnu-linux --class gnu --class os {
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/os/ inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
initrdefi #!data!host_os::os_type!#/initrd.img
}
<!-- end tftp_grub -->
<!-- start tftp_uefi -->
set timeout="-1"
set default="1"
function load_video {
insmod efi_gop
insmod efi_uga
@ -914,8 +916,48 @@ menuentry 'Install RHEL 8' --class rhel --class gnu-linux --class gnu --class o
initrdefi #!data!host_os::os_type!#/initrd.img
}
menuentry 'Install Striker' --class rhel --class gnu-linux --class gnu --class os {
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/ root=live:#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/os/images/install.img inst.ks=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/kickstart/striker.ks inst.sshd rd.debug
menuentry '#!string!message_0084!#' --class #!data!host_os::os_type!# --class gnu-linux --class gnu --class os { inst.ks=#!variable!base_url!#/kickstart/striker.ks inst.gpt inst.sshd
linuxefi #!data!host_os::os_type!#/vmlinuz ip=dhcp inst.repo=#!variable!base_url!#/#!data!host_os::os_type!#/#!data!host_os::os_arch!#/iso/
initrdefi #!data!host_os::os_type!#/initrd.img
}
<!-- end tftp_uefi -->
<!-- start temp -->
label node
menu label ^2. #!string!message_0086!#
TEXT HELP
#!string!message_0087!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/node.ks inst.gpt inst.sshd
label node
menu label ^3. #!string!message_0088!#
TEXT HELP
#!string!message_0089!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/os/images/install.img inst.stage2=#!variable!base_url!#/os/ ip=dhcp inst.ks=#!variable!base_url!#/kickstart/dr.ks inst.gpt inst.sshd
label rescue
menu label ^4. #!string!message_0090!#
TEXT HELP
#!string!message_0091!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img ip=dhcp root=live:#!variable!base_url!#/LiveOS/squashfs.img rescue inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.sshd
label #!data!host_os::os_type!#
menu label ^5. #!string!message_0092!#
TEXT HELP
#!string!message_0093!#
ENDTEXT
kernel #!data!host_os::os_type!#/vmlinuz
append initrd=#!data!host_os::os_type!#/initrd.img root=live:#!variable!base_url!#/images/install.img inst.repo=#!variable!base_url!#/os/ ip=dhcp inst.gpt inst.sshd
label next
menu default
menu label ^6. #!string!message_0094!#
localboot 0xffff
<!-- end temp -->

41
notes

@ -1,12 +1,3 @@
============
From: test-alert@alert.alteeve.com
To: Madison Kelly <debug@alteeve.com>
Subject: [ ScanCore ] - Test email
Reply-To:
This is a test alert.
============
DISABLE KSM!
@ -137,38 +128,6 @@ mkinitrd /var/lib/tftpboot/${OS}/initrd.img $(uname -r)
# Configs from anvil source
rsync -av pxe/tftpboot/pxelinux.cfg/default root@f28-striker01:/var/lib/tftpboot/pxelinux.cfg/
rsync -av pxe/tftpboot/pxelinux/uefi root@f28-striker01:/var/lib/tftpboot/pxelinux/
==== UEFI boot crash
>>Start PXE over IPv4.
Station IP address is 10.1.14.186
Server IP address is 10.1.4.1
NBP filename is uefi/shim.efi
NBP filesize is 1210776 Bytes
Downloading NBP file...
NBP file downloaded successfully.
Fetching Netboot Image
!!!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID - 00000000 !!!!
ExceptionData - 0000000000000000
RIP - 000000007FF8E976, CS - 0000000000000038, RFLAGS - 0000000000210202
RAX - 0000000000000001, RCX - 0000000000000010, RDX - AFAFAFAFAFAFAFA7
RBX - 0000000000000020, RSP - 000000007FF7E6B0, RBP - 000000007ED11F18
RSI - AFAFAFAFAFAFAFAF, RDI - 000000007FFA1720
R8 - 0000000000000000, R9 - 0000000000000028, R10 - 0000000000000020
R11 - 0000000000000002, R12 - 000000007ECE3798, R13 - 000000007ECE3C18
R14 - 000000007FF7E788, R15 - 000000007ECE37D8
DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
GS - 0000000000000030, SS - 0000000000000030
CR0 - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000007FC01000
CR4 - 0000000000000668, CR8 - 0000000000000000
DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 000000007FBEE698 0000000000000047, LDTR - 0000000000000000
IDTR - 000000007F5B5018 0000000000000FFF, TR - 0000000000000000
FXSAVE_STATE - 000000007FF7E310
!!!! Find image based on IP(0x7FF8E976) /builddir/build/BUILD/tianocore-edk2-cb5f4f45ce/Build/OvmfX64/DEBUG_GCC5/X64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll (ImageBase=000000007FF80000, EntryPoint=000000007FF98DB1) !!!!
====
DB stuff;

@ -328,18 +328,18 @@ print __LINE__."; Assigning: [".hr_size($swap_size * (2**20))." (".$swap_size."
# Build the partition file.
my $partition_file = "/tmp/plan_partitions.out";
my $partition_body = "zerombr
clearpart --all --drives=".$say_use_drive."
ignoredisk --only-use=".$say_use_drive."
bootloader --location=mbr --driveorder=".$say_use_drive." --boot-drive=".$use_drive;
my $partition_body = "ignoredisk --only-use=".$say_use_drive."
clearpart --none --initlabel";
if (not $raid_level)
{
# Finally, we've got our output.
$partition_body .= "
# Partitions
part biosboot --fstype=biosboot --size=2
part pv.01 --fstype=lvmpv --size=100 --ondisk=".$use_drive." --grow
# Disk partitioning information
part biosboot --fstype=\"biosboot\" --ondisk=".$use_drive." --size=2
part /boot --fstype=\"xfs\" --ondisk=".$use_drive." --size=1024
part /boot/efi --fstype=\"efi\" --ondisk=".$use_drive." --size=600 --fsoptions=\"umask=0077,shortname=winnt\"
part pv.01 --fstype=lvmpv --ondisk=".$use_drive." --size=100 --grow
# LVM Volume groups
volgroup ".$vg_name." --pesize=4096 pv.01
@ -357,7 +357,9 @@ else
for (my $i = 0; $i < $count; $i++)
{
$partition_body .= "part biosboot --fstype=biosboot --size=2 --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]."\n";
$partition_body .= "part biosboot --fstype=\"biosboot\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=2 \n";
$partition_body .= "part /boot/efi --fstype=\"efi\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=600 --fsoptions=\"umask=0077,shortname=winnt\" \n";
$partition_body .= "part /boot --fstype=\"xfs\" --ondisk=".$drives->{by_hr_size}{$hr_size}->[$i]." --size=1024 \n";
}
$partition_body .= "

@ -56,7 +56,7 @@ CREATE TABLE hosts (
host_key text not null, -- This is the host's key used to authenticate it when other machines try to ssh to it.
host_ipmi text not null default '', -- This is an optional string, in 'fence_ipmilan' format, that tells how to access/fence this host.
host_health numeric not null default 0, -- This is a numerical representation of the health of the node. 0 is healthy, and the higher the value, the more "sick" the node is. This guides ScanCore is determining when to proactive live migrate servers.
host_status text not null default 'unknown' -- This is the power state of the host. Default is 'unknown', and can be "powered off", "online", "stopping" and "booting.
host_status text not null default 'unknown', -- This is the power state of the host. Default is 'unknown', and can be "powered off", "online", "stopping" and "booting.
modified_date timestamp with time zone not null
);
ALTER TABLE hosts OWNER TO admin;

@ -1459,7 +1459,7 @@ NOTE: Please be patient!
<key name="message_0081">Will boot the next device as configured in your BIOS in # second{,s}.</key>
<key name="message_0082"><![CDATA[Press the <tab> key to edit the boot parameters of the highlighted option.]]></key>
<key name="message_0083">Editing of this option is disabled.</key>
<key name="message_0084">^1. Install a Striker dashboard (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<key name="message_0084">Install a Striker dashboard (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ -->
<key name="message_0085">
@ -1471,7 +1471,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
</key>
<!-- \===========================================================================================================/ -->
<key name="message_0086">^2. Install an #!string!brand_0002!# Node (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<key name="message_0086">Install an #!string!brand_0002!# Node (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ -->
<key name="message_0087">
@ -1484,7 +1484,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
</key>
<!-- \===========================================================================================================/ -->
<key name="message_0088">^3. Install an #!string!brand_0002!# Disaster Recover Host (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<key name="message_0088">Install an #!string!brand_0002!# Disaster Recover Host (#!data!host_os::os_name!# #!data!host_os::os_arch!#)</key>
<key name="message_0089">
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ -->
@ -1497,7 +1497,7 @@ NOTE: Please be patient!
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
<!-- \===========================================================================================================/ -->
</key>
<key name="message_0090">Boot into a ^Rescue session</key>
<key name="message_0090">Boot into a rescue session</key>
<key name="message_0091">
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ -->
@ -1507,7 +1507,7 @@ NOTE: Please be patient!
No data on the target machine will be changed by this option.
</key>
<!-- \===========================================================================================================/ -->
<key name="message_0092">Install ^Standard #!data!host_os::os_name!# #!data!host_os::os_arch!# Install</key>
<key name="message_0092">Install standard #!data!host_os::os_name!# #!data!host_os::os_arch!# Install</key>
<!-- Keep help text wrapped within the area shown directly below for the 'help' section of PXE 'default' meny entry. -->
<!-- /===========================================================================================================\ -->
<key name="message_0093">
@ -1516,7 +1516,7 @@ NOTE: Please be patient!
This option will not change anything on disk until and unless you choose to do so.
</key>
<!-- \===========================================================================================================/ -->
<key name="message_0094">Boot from Next ^Boot Device</key>
<key name="message_0094">Boot from the next boot device</key>
<key name="message_0095">Restarting: [#!variable!daemon!#] after updating the file: [#!variable!file!#].</key>
<key name="message_0096">The file: [#!variable!file!#] did not need to be updated.</key>
<key name="message_0097">The file: [#!variable!file!#] was updated.</key>

@ -1593,6 +1593,7 @@ sub load_packages
"dbus-tools.x86_64",
"dbus-x11.x86_64",
"dbus.x86_64",
"dbxtool.x86_64",
"dconf.x86_64",
"dejavu-fonts-common.noarch",
"dejavu-sans-fonts.noarch",
@ -1632,6 +1633,8 @@ sub load_packages
"edk2-ovmf.noarch",
"efi-filesystem.noarch",
"efi-srpm-macros.noarch",
"efivar-libs.x86_64",
"efibootmgr.x86_64",
"elfutils.x86_64",
"elfutils-default-yama-scope.noarch",
"elfutils-libelf.x86_64",
@ -2168,6 +2171,7 @@ sub load_packages
"microcode_ctl.x86_64",
"mlocate.x86_64",
"mobile-broadband-provider-info.noarch",
"mokutil.x86_64",
"mod_http2.x86_64",
"ModemManager-glib.x86_64",
"mozilla-filesystem.x86_64",
@ -2593,6 +2597,7 @@ sub load_packages
"sgabios-bin.noarch",
"shadow-utils.x86_64",
"shared-mime-info.x86_64",
"shim-x64.x86_64",
"slang.x86_64",
"smartmontools.x86_64",
"snappy.x86_64",

Loading…
Cancel
Save