### 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@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
Touch seeded packages, 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@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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to