[Bug 1996619] Re: Setfont error due to deprecated PIO_FONTX ioctl
Heather Lemon
1996619 at bugs.launchpad.net
Wed Jan 25 16:03:06 UTC 2023
### VERIFICATION DONE KINETIC ###
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/kinetic/ubuntu-22.10-live-server-
amd64.iso
virsh list
sudo chown -R ubuntu:ubuntu ubuntu-22.10-live-server-amd64.iso
* you will get a permission denied if you don't do this part*
sudo virt-install --location='./ubuntu-22.10-live-server-amd64.iso',
--name=setfont-repo --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
virsh console setfont-repo <name of vm>
select Tab-> Help -> Enter Shell
sudo apt-cache policy kbd
kbd package version previous
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.10-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 Tab-> Help -> Enter Shell
# edit sources.list
deb http://archive.ubuntu.com/ubuntu kinetic-proposed universe multiverse restricted main
sudo apt-get upgrade kbd
Check version installed
sudo apt-cache policy kbd
Candidate: 2.3.0-3ubuntu4.22.10
sudo apt --only-upgrade install kbd
# execute command
$SNAP/subiquity.psf
bash: /snap/subiquity/4003/subiquity.psf: Permission denied
# we get a permission denied, not an ioctl error
# 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 ###
--
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