Hi Guix!
I hope you are all doing fine!
I made some progress porting Guix to an i.MX6 ARM32 board. After some
minor roadblocks, I can finally boot into an image. However, I have some
problems logging into the system due to strange behavior with agetty. The
system is connected to my PC via UART, and agetty is used to prompt for a
login. It looks like the input keys are not sent correctly. A log of a
session looks like this (line breaks correspond to the actual session
output):
> This is the GNU system. Welcome.
> jupiter login:
> This is the GNU system. Welcome.
> jupiter login:
> jupiter login:
> jupiter login:
> jupiter login:
> jupiter login:
> jupiter login:
> jupiter login:
> jupiter login: root
> Password:
> Password:
> Login incorrect
> jupiter login: root
> Login incorrect
> jupiter login: root
> This is the GNU operating system, welcome!
> root@jupiter ~#
> Password: p
> Login incorrect
> jupiter login: pwd
> Password:
> Login incorrect
> Maximum number of tries exceeded (3)
> This is the GNU system. Welcome.
> jupiter login: icepic
> Password:
> Login incorrect
> jupiter login: root
> Password:
> Login incorrect
> jupiter login: root
> This is the GNU operating system, welcome!
> root@jupiter ~# ip addr
> -bash: pip: command not found
> root@jupiter ~# ip addr
> -bash: iarpd: command not found
> root@jupiter ~# ip addr
> -bash: i: command not found
> root@jupiter ~# i
> root@jupiter ~# i
> -bash: pdri: command not found
> root@jupiter ~# ls
> -bash: il: command not found
> root@jupiter ~# ls
> root@jupiter ~# ls
> -bash: slsls: command not found
I try to log in as root with a blank default password. As you can see,
the login keeps failing for some time, and I am repeatedly asked for my
credentials. Then, after some more attemps and repeatedly hitting the
enter key, I am greeted with the shell prompt, only to be logged out
again. Repeating this several times, I eventually manage to get a bash
shell, but issuing commands fails because, as you can see from the bash
output, some keys are not received correctly.
Here is my image definition:
--8<---------------cut here---------------start------------->8---
(define grimbard-os
(operating-system
(host-name "jupiter")
(timezone "Europe/Berlin")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader u-boot-grimbard-bootloader)
(targets '("/dev/mmcblk1"))))
(initrd-modules '())
(kernel linux-grimbard-6.1)
(kernel-arguments (cons* "console=ttymxc1,115200"
%default-kernel-arguments))
(file-systems (cons (file-system
(device (file-system-label "grimbard"))
(mount-point "/")
(type "ext4"))
%base-file-systems))
(users (cons (user-account
(name "icepic")
(comment "Bob's sister")
(group "users")
(supplementary-groups '("wheel"
"audio" "video")))
%base-user-accounts))
(packages (append (list screen openssh) %base-packages))
(services (append (list (service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(password-authentication? #t)
(permit-root-login #t)
(port-number 22)))
;; mingetty does not work on serial lines.
;; Use agetty with board-specific serial parameters.
(service agetty-service-type
(agetty-configuration
(extra-options '("-L"))
(baud-rate "115200")
(term "vt100")
(tty "ttymxc1"))))
%base-services))))
--8<---------------cut here---------------end--------------->8---
I am pretty sure that the baud rate is correct because I can boot an
alternative Linux image that works fine with the same settings. I am
also fairly confident that the UART adapter I am using is working fine
because everything works as expected on the U-Boot prompt i boot into
first. I also tried different agetty parameters (e.g., removing the
`extra-options` or the `term` option), but nothing seems to work. I took
the agetty service configuration from the BeagleBone sample in the Guix
repo.
For what it's worth, logging in via SSH works fine.
I am not really sure if this problem is Guix-related, but maybe someone has
a hint about where the issue might be?
--
Best regards
Christoph Buck <[email protected]>
GnuPG key: https://web.icepic.de/public_key.txt
FingerPrint: B43F 4D2B 2017 E715 36C0 03C6 B8BB BCDE CD00 3305