Skip to content

Commit

Permalink
susedistribution: bootloader_setup: Add sut-serial
Browse files Browse the repository at this point in the history
user-serial is svirt serial console for user. Adding a link helps
switching between root and non root user in select_serial_terminal().
This commit is similar to 4a89bfb ("susedistribution: Run user virtio
console on it's own socket").

Implements: poo#131258
Signed-off-by: Petr Vorel <pvorel@suse.cz>
  • Loading branch information
pevik committed Jun 26, 2023
1 parent 4b158c5 commit e36545d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
18 changes: 17 additions & 1 deletion lib/bootloader_setup.pm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ use File::Basename 'basename';
use Mojo::Util 'trim';
use Time::HiRes 'sleep';
use testapi;
use isotovideo;
use Utils::Architectures;
use utils;
use version_utils qw(is_microos is_sle_micro is_jeos is_leap is_sle is_tumbleweed is_selfinstall is_alp is_transactional);
Expand All @@ -21,6 +22,10 @@ use Utils::Backends;

use backend::svirt qw(SERIAL_TERMINAL_DEFAULT_DEVICE SERIAL_TERMINAL_DEFAULT_PORT SERIAL_CONSOLE_DEFAULT_DEVICE SERIAL_CONSOLE_DEFAULT_PORT);

if (isotovideo::get_version() >= 39) {
eval "use backend::svirt qw(SERIAL_USER_TERMINAL_DEFAULT_DEVICE SERIAL_USER_TERMINAL_DEFAULT_PORT)";
}

our @EXPORT = qw(
add_custom_grub_entries
autoyast_boot_params
Expand Down Expand Up @@ -1134,14 +1139,25 @@ sub zkvm_add_pty {
target_port => SERIAL_CONSOLE_DEFAULT_PORT
});

# sut-serial (serial terminal: emulation of QEMU's virtio console for svirt)
# sut-serial for root (serial terminal: emulation of QEMU's virtio console for svirt)
$svirt->add_pty(
{
pty_dev => SERIAL_TERMINAL_DEFAULT_DEVICE,
pty_dev_type => 'pty',
target_type => 'virtio',
target_port => SERIAL_TERMINAL_DEFAULT_PORT
});

# sut-serial for user (serial terminal: emulation of QEMU's virtio console for svirt)
if (isotovideo::get_version() >= 39) {
$svirt->add_pty(
{
pty_dev => eval { print "SERIAL_USER_TERMINAL_DEFAULT_DEVICE" },
pty_dev_type => 'pty',
target_type => 'virtio',
target_port => eval { print "SERIAL_USER_TERMINAL_DEFAULT_PORT" }
});
}
}

sub zkvm_add_interface {
Expand Down
17 changes: 15 additions & 2 deletions lib/susedistribution.pm
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,17 @@ use utils qw(
use version_utils qw(is_hyperv_in_gui is_sle is_leap is_svirt_except_s390x is_tumbleweed is_opensuse);
use x11utils qw(desktop_runner_hotkey ensure_unlocked_desktop x11_start_program_xterm);
use Utils::Backends;
use backend::svirt qw(SERIAL_TERMINAL_DEFAULT_DEVICE SERIAL_TERMINAL_DEFAULT_PORT);

use Cwd;
use autotest 'query_isotovideo';
use isotovideo;

use backend::svirt qw(SERIAL_TERMINAL_DEFAULT_DEVICE SERIAL_TERMINAL_DEFAULT_PORT);

if (isotovideo::get_version() >= 39) {
eval "use use backend::svirt qw(SERIAL_USER_TERMINAL_DEFAULT_DEVICE SERIAL_USER_TERMINAL_DEFAULT_PORT)";
}

=head1 SUSEDISTRIBUTION
=head1 SYNOPSIS
Expand Down Expand Up @@ -476,10 +482,17 @@ sub init_consoles {
});
set_var('SVIRT_VNC_CONSOLE', 'sut');
} else {
# sut-serial (serial terminal: emulation of QEMU's virtio console for svirt)
# sut-serial for root (serial terminal: emulation of QEMU's virtio console for svirt)
$self->add_console('root-sut-serial', 'ssh-virtsh-serial', {
pty_dev => SERIAL_TERMINAL_DEFAULT_DEVICE,
target_port => SERIAL_TERMINAL_DEFAULT_PORT});

# sut-serial for user (serial terminal: emulation of QEMU's virtio console for svirt)
if (isotovideo::get_version() >= 39) {
$self->add_console('sut-serial', 'ssh-virtsh-serial', {
pty_dev => eval { print "SERIAL_USER_TERMINAL_DEFAULT_DEVICE" },
target_port => eval { print "SERIAL_USER_TERMINAL_DEFAULT_PORT" }});
}
}

if ((get_var('BACKEND', '') =~ /qemu|ikvm/
Expand Down

0 comments on commit e36545d

Please sign in to comment.