Add option to turn on/off prelinking

--prelink, --noprelink

do_prelink=[yes|no]
add /etc/system-fips for dracut-fips subpackage
dracut: Generlize microcode early cpio usage

ACPI early table override also may need to place files into an early cpio.
Reflect this in variable and file names.
This change is renaming only and does not introduce any real change.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
dracut: Do not create early_cpio if no suitable microcode exist in hostonly case

Intel microcodes only exist for very specific family/model/stepping CPUs.
If no microcode gets added, there is no need to create an empty
(only directories) cpio later that gets glued to the initrd.

This also fixes:

*** Constructing GenuineIntel.bin ****
cat: /lib/firmware/intel-ucode/06-3c-03: No such file or directory

in hostonly mode if there is no suitable microcode for the CPU.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
dracut: Implement ACPI table overriding

An example config file for this feature could be:

/etc/dracut.conf.d/03-acpi-override.conf

with this content:
acpi_override="yes"
acpi_table_dir="/etc/dracut.conf.d/acpi_tables"

Then all files ending with *.aml will be put into the early cpio
(kernel/firmware/acpi) and will be used to replace the BIOS provided tables
if the kernel supports this feature.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
dracut.conf.5.asc: Add ACPI table override and uncompressed cpio doc

Signed-off-by: Thomas Renninger <trenn@suse.de>
dracut-bash-completion.sh: add --prelink --noprelink
dracut.sh: bail out early, if destination dir is not writeable
dracut-logger.sh: do not log to syslog/kmsg/journal for UID != 0

Don't clutter the system log with user actions.

Also check, if systemd-cat works, before using it.