Decided to test using the "virt" Alpine build and it creates the error
I alluded to but couldn't remember. Login as root succeeds, but when
it tries to properly exec busybox's ash process it errors out with:

-ash: can't access tty; job control turned off

Still results in writing the prompt, but ash appears to exit and
return you to the login prompt.

Looking into the source for busybox, it seems to be triggered here:
https://git.busybox.net/busybox/tree/shell/ash.c?h=1_27_stable#n3857

The call is to tcgetpgrp(3) trying to get the process group for the
TTY file descriptor.

I'm a wee bit in over my head at this point, but figured I'd share the
latest. I'm honestly not sure if this is an issue with Alpine, but I
think if I can get it to work with a serial console in QEMU then it's
possibly a deficiency in VMD/SeaBIOS.

-Dave Voutila

On Sun, Sep 3, 2017 at 12:41 PM, Dave Voutila <vouti...@gmail.com> wrote:
> Hi misc@,
>
> I'm using the latest AMD64 snapshot from 2017-09-02 and can no longer
> log into an Alpine Linux VM. (This was working with a previous
> snapshot from a few days ago.)
>
> Currently I'm using the "vanilla" image from
> https://www.alpinelinux.org/downloads/
>
> I've removed any presence of /etc/vm.conf so the only options are
> those I give at start. Here's the command:
>
> $ doas vmctl start alpine -Lc -d iso/alpine-vanilla-3.6.2-x86_64.iso -m 1G
>
> When it gets to the EXTLINUX boot loader, I'm explicitly passing in
> console=/dev/ttyS0,115200 (I've tried other baud rates as well to no
> avail).
>
> I do get to the Alpine Linux login prompt, however trying to login as
> root results in "Login incorrect." One of these attempts I did get an
> error saying something about not being able to open some device...so
> this has me believing it's either a VMM issue or maybe SeaBIOS issue.
> This should be (and previously was working with) a password-less login
> for root. I'm not familiar enough with how Linux might be trying to
> spawn whatever thing it needs for the session after login, but my
> guess is it's failing in the background and giving me a generic error.
>
> [Note: as a sanity check, I can boot the same Alpine Linux ISO using
> QEMU and the password-less root login does work.]
>
> I've captured VMD's debug output during this using `vmd -dvvvv ` as follows:
> ----
> startup
> failed to open /etc/vm.conf: No such file or directory
> vm_opentty: vm alpine tty /dev/ttyp2 uid 0 gid 4 mode 620
> vm_priv_ifconfig: interface tap0 description vm1-if0-alpine
> vm_priv_ifconfig: interface tap0 address 100.64.1.2/31
> alpine: started vm 1 successfully, tty /dev/ttyp2
> loadfile_bios: loaded BIOS image
> run_vm: initializing hardware for vm alpine
> virtio_init: vm "alpine" vio0 lladdr fe:e1:bb:d1:21:cc, local
> run_vm: starting vcpu threads for vm alpine
> vcpu_reset: resetting vcpu 0 for vm 1
> run_vm: waiting on events for VM alpine
> i8259_write_datareg: master pic, reset IRQ vector to 0x8
> i8259_write_datareg: slave pic, reset IRQ vector to 0x70
> vcpu_exit_i8253: channel 0 reset, mode=0, start=65535
> virtio_blk_io: device reset
> vcpu_process_com_lcr: set baudrate = 115200
> i8259_write_datareg: master pic, reset IRQ vector to 0x30
> i8259_write_datareg: slave pic, reset IRQ vector to 0x38
> vcpu_exit_i8253: channel 0 reset, mode=7, start=3977
> vcpu_exit_i8253: channel 2 reset, mode=7, start=65535
> vcpu_exit_i8253: channel 2 reset, mode=7, start=65535
> vcpu_exit_i8253: channel 2 reset, mode=7, start=65535
> vcpu_exit_i8253: channel 2 reset, mode=7, start=65535
> vcpu_process_com_lcr: set baudrate = 115200
> vcpu_process_com_data: guest reading com1 when not ready
> virtio_blk_io: device reset
> virtio_net_io: device reset
> vcpu_process_com_data: guest reading com1 when not ready
> vcpu_process_com_data: guest reading com1 when not ready
> vcpu_process_com_lcr: set baudrate = 9600
> vcpu_process_com_data: guest reading com1 when not ready
> vcpu_process_com_data: guest reading com1 when not ready
> vcpu_process_com_data: guest reading com1 when not ready
> vcpu_process_com_lcr: set baudrate = 9600
> vcpu_process_com_lcr: set baudrate = 115200
> alpine: vcpu_assert_pic_irq: can't assert INTR
> control exiting, pid 63145
> priv exiting, pid 27770
> vmm exiting, pid 67773
> parent terminating
> -----
>
> My dmesg output is attached since it's longer.
>
> Any thoughts or suggestions would be appreciated! My current plan is
> to wait a few days and try another snapshot. In the mean time I may
> dig into the login process for Alpine and see if I can better
> understand what it tries to do.
>
> Thanks,
> Dave Voutila

Reply via email to