[Bug 1996619] Re: Setfont error due to deprecated PIO_FONTX ioctl
Heather Lemon
1996619 at bugs.launchpad.net
Wed Jan 25 16:20:43 UTC 2023
### VERIFICATION DONE JAMMY ###
sudo apt-get update
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils -y
sudo systemctl enable libvirtd
sudo systemctl status libvirtd
wget https://releases.ubuntu.com/jammy/ubuntu-22.04.1-live-server-
amd64.iso
sudo chown ubuntu:ubuntu ubuntu-22.04.1-live-server-amd64.iso
sudo chmod +rwx ubuntu-22.04.1-live-server-amd64.iso
*you will get a permission denied if you don't do this part*
virsh list
sudo virt-install --location='./ubuntu-22.04.1-live-server-amd64.iso',
--name=setfont-repo01 --vcpus=2 --memory=2048 --disk size=10 --console
pty,target_type=virtio --serial pty --graphics none
--boot=uefi,kernel='/boot/vmlinuz',initrd='/boot/initrd.img',kernel_args='console=/dev/ttyS0'
--extra-args='console=ttyS0,115200n8 serial' --debug
select Tab-> Help -> Enter Shell
sudo apt-cache policy kbd
# Check version installed
Installed: 2.3.0-3ubuntu4
#Error message thrown in logs
root at ubuntu-server:/# setfont $SNAP/subiquity.psf
setfont: ERROR kdfontop.c:266 put_font_piofontx: ioctl(PIO_FONTX): 512,8x16: failed: Inappropriate ioctl for device
### ENABLE PROPOSED ###
# create new VM for kinetic
sudo virt-install --location='./ubuntu-22.04.1-live-server-amd64.iso', --name=setfont-repo03 --vcpus=2 --memory=2048 --disk size=10 --console pty,target_type=virtio --serial pty --graphics none --boot=uefi,kernel='/boot/vmlinuz',initrd='/boot/initrd.img',kernel_args='console=/dev/ttyS0' --extra-args='console=ttyS0,115200n8 serial' --debug
select Enter -> Tab-> Help -> Enter Shell
# update /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu jammy-proposed universe multiverse restricted main
sudo apt --only-upgrade install kbd
Check version installed
sudo apt-cache policy kbd
Installed: 2.3.0-3ubuntu4.22.04
# execute command
setfont $SNAP/subiquity.psf
bash:
# no error messages thrown
# we don't have any error messages being thrown in the logs -
/var/log/installer/subiquity-client-debug.log
# if you need to log back into the vm
virsh list
virsh console setfont-repo03
# notes
ctl+5 = exit rich console command or CTRL+]
### VERIFICATION DONE KINETIC ###
** Tags removed: verification-needed-jammy verification-needed-kinetic
** Tags added: verification-done-jammy verification-done-kinetic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to kbd in Ubuntu.
https://bugs.launchpad.net/bugs/1996619
Title:
Setfont error due to deprecated PIO_FONTX ioctl
Status in subiquity:
Invalid
Status in kbd package in Ubuntu:
Fix Released
Status in kbd source package in Jammy:
Fix Committed
Status in kbd source package in Kinetic:
Fix Committed
Bug description:
[Impact]
There is an error message that get thrown in in syslog.
There is a suggestion to fix by upgrading the KDB package to version 2.5.1+ (upstream) has a fix.
It is caused by this line in subiquity
https://github.com/canonical/subiquity/blob/46f671d14d57a5da6bc3d60b1da6715b43954f0d/bin/subiquity-service#L11
It's due to PIO_FONTX ioctl removed from kernel since 5.12
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ff2047fb755d4415ec3c70ac799889371151796d
In 2.4.5 of kbd which provide setfont in user space, they already
switched over to use KDFONTOP only.
[ Test Plan ]
### REPRODUCER STEPS ###
# install libvirt
sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
# check libvirtd process is running
virsh
virsh list
# get iso
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.1-live-server-amd64.iso
# install vm
sudo virt-install --cdrom='./ubuntu-22.04.1-live-server-amd64.iso' --name=setfont-repo --vcpus=2 --memory=2048 --disk size=20 --serial pty --graphics none --boot=uefi --debug
# you can either do the full install,
the error will be in the /var/log/installer.log file
# or on the first page of the installer press Tab-> go to Help, -> Shell
and cd /var/log/
grep setfont* syslog
# to show error message cd to
/snap/subiquity/3698
#execute
setfont $SNAP/subiquity.psf
# error
root at ubuntu-server:/snap/subiquity/3698# setfont $SNAP/subiquity.psf
setfont: ERROR kdfontop.c:266 put_font_piofontx: ioctl(PIO_FONTX): 512,8x16: failed: Inappropriate ioctl for device
# grep
grep setfont* syslog
Nov 14 18:22:11 ubuntu-server console-setup.sh[1107]: setfont: ERROR kdfontop.c:266 put_font_piofontx: ioctl(PIO_FONTX): 512,8x16: failed: Inappropriate ioctl for device
Nov 14 18:22:29 ubuntu-server subiquity.subiquity-service[1878]: setfont: ERROR kdfontop.c:266 put_font_piofontx: ioctl(PIO_FONTX): 512,8x16: failed: Inappropriate ioctl for device
[ Where problems could occur ]
There could be a failure to correctly parse fonts.
https://man7.org/linux/man-pages/man8/setfont.8.html
[Other Notes]
# github link to upstream repo & commit
https://github.com/legionus/kbd
https://github.com/legionus/kbd/commit/2b68ba3ef22e6f68dcd9dc5c7fc47f72761f3764
To manage notifications about this bug go to:
https://bugs.launchpad.net/subiquity/+bug/1996619/+subscriptions
More information about the foundations-bugs
mailing list