Bug 811007 - dracut-018: 10-console.rules KERNEL=="tty0", therefore console_init.sh, set_font() never fire during dracut stage
Summary: dracut-018: 10-console.rules KERNEL=="tty0", therefore console_init.sh, set_f...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: dracut
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: dracut-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-09 20:46 UTC by Leho Kraav
Modified: 2012-11-29 15:57 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-11-29 15:57:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Proposed patch (429 bytes, patch)
2012-07-24 09:51 UTC, Harald Hoyer
no flags Details | Diff

Description Leho Kraav 2012-04-09 20:46:02 UTC
Description of problem:
I want to set display font to ter-112n. fbcon loads and sets the default kernel font before LUKS password. ter-112n is never loaded, vconsole.font apparently has no effect. I would expect the udev rule in 10-console.rules to fire when kernel console driver loads, but it doesn't.

Am I missing something in the general logic of the things, or...?


Version-Release number of selected component (if applicable):
all versions through 013 to 018


How reproducible:
every time


Additional info:
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.3.1-pf root=/dev/mapper/luks-UUID rd.luks.uuid=UUID rd.luks.key=s9.img:UUID=UUID acpi_osi=Linux pcie_aspm=force i915.i915_enable_rc6=1 i915.lvds_downclock=1 rd.driver.post=fbcon vconsole.font=ter-112n console=tty0 rd.plymouth=0

Comment 1 Harald Hoyer 2012-04-16 12:32:40 UTC
is the font in the initramfs?

# lsinitrd <image> | fgrep ter-112n

Comment 2 Leho Kraav 2012-04-16 12:39:28 UTC
Absolutely:

$ ./lsinitrd.sh | grep ter-112n
-rw-r--r--   1 root     root         3839 Aug 26  2011 usr/share/consolefonts/ter-112n.psf

Comment 3 Harald Hoyer 2012-04-16 13:05:30 UTC
can you add "rd.debug" to the kernel command line and attach /run/initramfs/init.log

Comment 4 Leho Kraav 2012-07-03 12:32:05 UTC
This is still on my radar, you will get some debug output soonish.

It most likely makes sense for me to test this against HEAD?

Comment 5 Harald Hoyer 2012-07-05 10:20:42 UTC
sure, if you want

Comment 6 Leho Kraav 2012-07-21 21:27:52 UTC
This is still an issue with 022. set_font() never happens.

BOOT_IMAGE=/vmlinuz-3.4.6-pf root=/dev/mapper/luks-MYUUID rd.luks.uuid=MYUUID rd.luks.key=s9.img:UUID=1234 acpi_osi=Linux pcie_aspm=force i915.i915_enable_rc6=1 i915.lvds_downclock=1 rd.driver.post=fbcon vconsole.font=ter-112n console=tty0 rd.plymouth=0 rd.debug

+ [ -f /etc/initrd-release ]
+ . /etc/initrd-release
+ NAME=Dracut
+ VERSION=dracut-
+ ID=dracut
+ VERSION_ID=
+ PRETTY_NAME=dracut- (Initramfs)
+ ANSI_COLOR=0;34
+ [ -n dracut- ]
+ info dracut-dracut-
+ check_quiet
+ [ -z  ]
+ DRACUT_QUIET=yes
+ getargbool 0 rd.info -y rdinfo
+ local _b
+ unset _b
+ local _default
+ _default=0
+ shift
+ getarg rd.info -y rdinfo
+ debug_off
+ set +x
+ return 1
+ _b=
+ [ 1 -ne 0 -a -z  ]
+ _b=0
+ [ -n 0 ]
+ [ 0 = 0 ]
+ return 1
+ getargbool 0 rd.debug -y rdinitdebug
+ local _b
+ unset _b
+ local _default
+ _default=0
+ shift
+ getarg rd.debug -y rdinitdebug
+ debug_off
+ set +x
+ return 0
+ _b=
+ [ 0 -ne 0 -a -z  ]
+ [ -n  ]
+ return 0
+ DRACUT_QUIET=no
+ getarg quiet
+ debug_off
+ set +x
+ return 1
+ DRACUT_QUIET=yes
+ getarg loglevel=
+ debug_off
+ set +x
+ return 1
+ a=
+ [ -n  ]
+ export DRACUT_QUIET
+ echo <30>dracut: dracut-dracut-
+ [ yes != yes ]
+ source_conf /etc/conf.d
+ local f
+ [ /etc/conf.d ]
+ [ -d //etc/conf.d ]
+ return
+ getarg rd.break=cmdline rdbreak=cmdline
+ debug_off
+ set +x
+ return 1
+ source_hook cmdline
+ local _dir
+ _dir=cmdline
+ shift
+ source_all /lib/dracut/hooks/cmdline
+ local f
+ local _dir
+ _dir=/lib/dracut/hooks/cmdline
+ shift
+ [ /lib/dracut/hooks/cmdline ]
+ [ -d //lib/dracut/hooks/cmdline ]
+ [ -e //lib/dracut/hooks/cmdline/01parse-kernel.sh ]
+ . //lib/dracut/hooks/cmdline/01parse-kernel.sh
+ getargs rd.driver.pre rdloaddriver=
+ debug_off
+ set +x
+ return 1
+ getargs rd.driver.blacklist rdblacklist=
+ debug_off
+ set +x
+ return 1
+ getargs rd.driver.post rdinsmodpost=
+ debug_off
+ set +x
+ return 0
+ echo blacklist fbcon
+ _do_insmodpost=1
+ [ -n 1 ]
+ initqueue --settled --unique --onetime insmodpost.sh
+ hookdir=/lib/dracut/hooks
+ export hookdir
+ [ ! -x /lib/systemd/systemd ]
+ [ 4 -gt 0 ]
+ qname=/settled
+ shift
+ [ 3 -gt 0 ]
+ unique=yes
+ shift
+ [ 2 -gt 0 ]
+ onetime=yes
+ shift
+ [ 1 -gt 0 ]
+ break
+ [ -z yes ]
+ job=insmodpost.sh
+ job=insmodpost.sh
+ exe=insmodpost.sh
+ shift
+ [ -x insmodpost.sh ]
+ command -v insmodpost.sh
+ exe=/sbin/insmodpost.sh
+ [ -n yes ]
+ echo [ -e "$job" ] && rm "$job"
+ [ -n  ]
+ echo /sbin/insmodpost.sh
+ mv -f /tmp/740-insmodpost.sh.sh /lib/dracut/hooks/initqueue/settled/insmodpost.sh.sh
+ [ -z /settled ]
+ exit 0
+ unset _do_insmodpost
+ [ -e //lib/dracut/hooks/cmdline/10parse-keydev.sh ]
+ . //lib/dracut/hooks/cmdline/10parse-keydev.sh
+ getargbool 1 rd.luks -n rd_NO_LUKS
+ local _b
+ unset _b
+ local _default
+ _default=1
+ shift
+ getarg rd.luks -n rd_NO_LUKS
+ debug_off
+ set +x
+ return 1
+ _b=
+ [ 1 -ne 0 -a -z  ]
+ _b=1
+ [ -n 1 ]
+ [ 1 = 0 ]
+ [ 1 = no ]
+ [ 1 = off ]
+ return 0
+ getarg rd.luks.key
+ debug_off
+ set +x
+ return 0
+ [ -n s9.img:UUID=1234 ]
+ exec
+ echo SUBSYSTEM!="block", GOTO="luks_keydev_end"
+ echo ACTION!="add|change", GOTO="luks_keydev_end"
+ getargs rd.luks.key
+ debug_off
+ set +x
+ return 0
+ unset keypath keydev luksdev
+ splitsep : s9.img:UUID=1234 keypath keydev luksdev
+ debug_off
+ set +x
+ return 0
+ info rd.luks.key: keypath='s9.img' keydev='UUID=1234' luksdev=''
+ check_quiet
+ [ -z yes ]
+ echo <30>dracut: rd.luks.key: keypath='s9.img' keydev='UUID=1234' luksdev=''
+ [ yes != yes ]
+ [ -z s9.img ]
+ [ -n UUID=1234 ]
+ udevmatch UUID=1234
+ printf ENV{ID_FS_UUID}=="%s*" 1234
+ printf ,
+ command -v initqueue
+ printf -- RUN+="%s --unique --onetime  /sbin/initqueue
+ printf -- --name probe-keydev-%%k
+ command -v probe-keydev
+ printf -- %s /dev/%%k %s %s"n /sbin/probe-keydev s9.img
+ unset arg keypath keydev luksdev
+ echo LABEL="luks_keydev_end"
+ exec
+ [ -e //lib/dracut/hooks/cmdline/10parse-root-opts.sh ]
+ . //lib/dracut/hooks/cmdline/10parse-root-opts.sh
+ getarg root=
+ debug_off
+ set +x
+ return 0
+ root=/dev/mapper/luks-MYUUID
+ getarg rootflags=
+ debug_off
+ set +x
+ return 1
+ rflags=
+ getarg rw
+ debug_off
+ set +x
+ return 1
+ getarg ro
+ debug_off
+ set +x
+ return 1
+ getarg rootfstype=
+ debug_off
+ set +x
+ return 1
+ fstype=
+ [ -z  ]
+ fstype=auto
+ [ -e //lib/dracut/hooks/cmdline/20parse-i18n.sh ]
+ . //lib/dracut/hooks/cmdline/20parse-i18n.sh
+ inst_key_val  /etc/vconsole.conf KEYMAP vconsole.keymap KEYTABLE
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg KEYMAP vconsole.keymap KEYTABLE
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ inst_key_val  /etc/vconsole.conf FONT vconsole.font SYSFONT
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg FONT vconsole.font SYSFONT
+ debug_off
+ set +x
+ return 0
+ _value=ter-112n
+ [ -z ter-112n ]
+ [ -n ter-112n ]
+ printf %s="%s"n FONT ter-112n
+ unset _file
+ unset _value
+ inst_key_val  /etc/vconsole.conf FONT_MAP vconsole.font.map CONTRANS
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg FONT_MAP vconsole.font.map CONTRANS
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ inst_key_val  /etc/vconsole.conf FONT_UNIMAP vconsole.font.unimap UNIMAP
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg FONT_UNIMAP vconsole.font.unimap UNIMAP
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ inst_key_val 1 /etc/vconsole.conf UNICODE vconsole.unicode vconsole.font.unicode
+ local _value
+ local _file
+ local _default
+ _default=1
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg UNICODE vconsole.unicode vconsole.font.unicode
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=1
+ [ -n 1 ]
+ printf %s="%s"n UNICODE 1
+ unset _file
+ unset _value
+ inst_key_val  /etc/vconsole.conf EXT_KEYMAP vconsole.keymap.ext
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/vconsole.conf
+ shift
+ getarg EXT_KEYMAP vconsole.keymap.ext
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ inst_key_val  /etc/locale.conf LANG locale.LANG
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/locale.conf
+ shift
+ getarg LANG locale.LANG
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ inst_key_val  /etc/locale.conf LC_ALL locale.LC_ALL
+ local _value
+ local _file
+ local _default
+ _default=
+ shift
+ _file=/etc/locale.conf
+ shift
+ getarg LC_ALL locale.LC_ALL
+ debug_off
+ set +x
+ return 1
+ _value=
+ [ -z  ]
+ _value=
+ [ -n  ]
+ unset _file
+ unset _value
+ [ -f /etc/locale.conf ]
+ . /etc/locale.conf
+ LANG=et_EE.UTF-8
+ export LANG
+ export LC_ALL
+ [ -e //lib/dracut/hooks/cmdline/30parse-crypt.sh ]
+ . //lib/dracut/hooks/cmdline/30parse-crypt.sh
...

Here we go to LUKS decryption already and rest of the log is unrelated.

I also wonder why I'm forced to do rd.driver.post=fbcon for the module to load at all. I would expect it to be loaded automatically by udev. Or am I missing something?

Comment 7 Harald Hoyer 2012-07-24 09:51:55 UTC
Created attachment 599978 [details]
Proposed patch

Does this patch help?

Comment 8 Leho Kraav 2012-08-08 08:25:16 UTC
Yes, this makes font switch work. Thanks!


Note You need to log in before you can comment on or make changes to this bug.