My GSoC student and I have NetBSD 10 VMs that we are running under qemu.
We boot the VM with serial as the console.

After logging in on the console sudo anything does not respond to input
from the tty.  E.g.,

nbvm$ sudo -s
# exit
^D

And it hangs there.  ^C and ^T work, though.  It's just that nothing
happens when pressing ENTER, ^M, ^J, or ^D.

My GSoC student just reported that after "sudo pkgin install vim"
it prints "proceed ? [Y/n]"  and after entering "y" and ENTER nothing
happens.

This doesn't happen when logging in via ssh.

Does anyone else see this?

nbvm$ w|grep login
bad      constty -                 1:55PM     5 login
nbvm$ ps alxdwwwt00
 UID  PID PPID CPU PRI NI   VSZ  RSS WCHAN STAT TTY      TIME COMMAND
   0 1080    1   0  85  0 68892 6652 wait  Is   tty00 0:00.07 login 
1000 1063 1080   0  85  0 20628 2140 wait  I    tty00 0:00.01 - -sh 
   0 1245 1063   0  85  0 74068 6872 poll  I+   tty00 0:00.02 `-- sudo -s 
nbvm$ ps alxwwtpts/0|grep sh
  0 1186 1216   0  85  0 20132 1804 ttyraw I+   pts/0 0:00.00 /bin/sh 
nbvm$ sudo stty -af /dev/pts/0
Password:
speed 9600 baud; 0 rows; 0 columns; queue = 1024; line = termios;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
        -extproc
iflags: -istrip icrnl -inlcr -igncr -ixon -ixoff ixany -imaxbel -ignbrk
        brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
        -cdtrcts
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;
nbvm$

Programs that do not read input work.  E.g. "sudo date" prints the date and
exits as expected.

The VM was installed from the NetBSD-10.1-amd64.iso.
During the installation I told sysinst to install screen and sudo as
additional packages.

Relevant configuration:

nbvm$ egrep  '^[^#]+$' /usr/pkg/etc/pkgin/repositories.conf
https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/10.1/All
nbvm$ cat /boot.cfg
menu=Boot normally:consdev com0,115200;rndseed /var/db/entropy-file;boot
menu=Boot single user:consdev com0,115200;rndseed /var/db/entropy-file;boot
-s
menu=Drop to boot prompt:prompt
default=1
timeout=5
clear=1
nbvm$ 

qemu invocation:

qemu-system-x86_64 -M q35 -cpu host -accel hvf -smp 2 -m 2g \
        -device virtio-rng,rng=rng0 \
        -object rng-random,id=rng0,filename=/dev/urandom \
        -nic user,model=virtio-net-pci,hostfwd=tcp:127.1:2222-:22 \
        -drive if=ide,index=0,id=wd0,media=disk,file=vm/netbsd-10.1-root \
        -cdrom vm/NetBSD-10.1-amd64.iso \
        -display none -serial mon:stdio \
        -snapshot

Well, I'm running this on macOS under qemu-10.02.  My student runs it on
Manjaro linux with an older qemu version (8.1 I think).

Note that "-snapshot" is merely for convenience.  Omitting that option does
not change the behaviour.

--chris

Reply via email to