Use acpi=nospcr instead of console=tty0 to workaround #1661288
Thanks to @jlinton for this suggestion, via https://bugzilla.redhat.com/show_bug.cgi?id=2457336 - I'm not sure why I never thought of it. acpi=nospcr should be a much superior workaround to console=tty0. It should produce exactly the behavior we want (i.e. identical to x86_64), and because anaconda 'forwards' the acpi arg to the installed system, we only need to pass it to the installer - we can get rid of the awkward post-install fixup path. Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
8065013eee
commit
b84f6b0ca4
4 changed files with 6 additions and 28 deletions
|
|
@ -1444,7 +1444,7 @@ sub select_rescue_mode {
|
|||
sleep 1;
|
||||
send_key 'up';
|
||||
send_key "end";
|
||||
type_safely " console=tty0";
|
||||
type_safely " acpi=nospcr";
|
||||
send_key "ctrl-x";
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
"backend": "qemu",
|
||||
"settings": {
|
||||
"ARCH_BASE_MACHINE": "aarch64",
|
||||
"CONSOLE_EXTRA_ARGS": "console=tty0",
|
||||
"CONSOLE_EXTRA_ARGS": "acpi=nospcr",
|
||||
"INSECURE_PFLASH_CODE": "/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw",
|
||||
"INSECURE_PFLASH_VARS": "/usr/share/edk2/aarch64/vars-template-pflash.raw",
|
||||
"MINCPU": "host",
|
||||
|
|
|
|||
|
|
@ -64,12 +64,12 @@ sub run {
|
|||
$params .= "inst.addrepo=buildroot,https://kojipkgs.fedoraproject.org/repos/${brrepo}/latest/${arch} ";
|
||||
}
|
||||
}
|
||||
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1661288
|
||||
# ACPI SPCR table presence causes kernel to make serial console the
|
||||
# default, setting this disables that and fixes lots of issues
|
||||
$params .= "acpi=nospcr " if ($arch eq "aarch64");
|
||||
if (get_var("ANACONDA_TEXT")) {
|
||||
$params .= "inst.text ";
|
||||
# we need this on aarch64 till #1594402 is resolved,
|
||||
# and we also can utilize this if we want to run this
|
||||
# over the serial console.
|
||||
$params .= "console=tty0 " if ($arch eq "aarch64");
|
||||
# when the text installation should run over the serial console,
|
||||
# we have to add some more parametres to grub. Although, the written
|
||||
# test case recommends using ttyS0, OpenQA only uses that console for
|
||||
|
|
|
|||
|
|
@ -164,7 +164,6 @@ sub run {
|
|||
# there are various things we might have to do at a console here
|
||||
# before we actually reboot. let's figure them all out first...
|
||||
my @actions;
|
||||
push(@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64");
|
||||
push(@actions, 'abrt') if (get_var("ABRT", '') eq "system");
|
||||
push(@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT"));
|
||||
push(@actions, 'usbhalt') if (get_var("USBBOOT"));
|
||||
|
|
@ -204,27 +203,6 @@ sub run {
|
|||
# finding the actual host system root is fun for ostree...
|
||||
$mount = "/mnt/sysimage/ostree/deploy/fedora*/deploy/*.?";
|
||||
}
|
||||
if (grep { $_ eq 'consoletty0' } @actions) {
|
||||
# somehow, by this point, localized keyboard layout has been
|
||||
# loaded for this tty, so for French and Arabic at least we
|
||||
# need to load the 'us' layout again for the next command to
|
||||
# be typed correctly
|
||||
console_loadkeys_us;
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1661288 results
|
||||
# in boot messages going to serial console on aarch64, we need
|
||||
# them on tty0. We also need 'quiet' so we don't get kernel
|
||||
# messages, which screw up some needles. if /etc/default/grub
|
||||
# is not there, we're probably using bootupd; let's just edit
|
||||
# the BLS entries directly in that case
|
||||
if (script_run 'sed -i -e "s,\(GRUB_CMDLINE_LINUX.*\)\",\1 console=tty0 quiet\",g" ' . $mount . '/etc/default/grub') {
|
||||
assert_script_run 'sed -i -e "s,\(options .*\),\1 console=tty0 quiet,g" ' . $mount . '/boot/loader/entries/*.conf';
|
||||
}
|
||||
else {
|
||||
# regenerate the bootloader config, only necessary if we
|
||||
# edited /etc/default/grub
|
||||
assert_script_run 'chroot ' . $mount . ' grub2-mkconfig -o $(readlink -m /etc/grub2.cfg)';
|
||||
}
|
||||
}
|
||||
if (grep { $_ eq 'abrt' } @actions) {
|
||||
# Chroot in the newly installed system and switch on ABRT systemwide
|
||||
assert_script_run "chroot $mount abrt-auto-reporting 1";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue