USB Flash boot fail if "pkeys=de"
September 14, 2009 —
BarryK
It has been reported that booting from a USB Flash drive with "pkeys=de" the boot failed. Without the pkeys parameter it works.
I found the problem. This is the fixed code in the 'init' script:
vfat) #w476
####TODO#### need to get rid of the old 2-letter keyboard layout, so PKEYS boot
# param works for the main kbd layouts.
#would like to introduce codepage and iocharset, maybe as kernel params...
#ex: codepage=850 iocharset=iso8859-2 ...no, already have 'pkeys'
OUT_PARAM='shortname=mixed,quiet'
[ "$MNT_O" ] && OUT_PARAM="${OUT_PARAM},${MNT_O}"
if [ "$PKEYS" ];then
case $PKEYS in
de|be|br|dk|es|fi|fr|it|no|se|pt)
modprobe nls_cp850 #v426
OUT_PARAM="$OUT_PARAM"',codepage=850'
;;
slovene|croat|hu101|hu|cz-lat2|pl|ro_win)
modprobe nls_cp852 #v426
modprobe nls_iso8859-2 #v426
OUT_PARAM="$OUT_PARAM"',codepage=852,iocharset=iso8859-2'
;;
esac
fi
mount -t $MNT_T -o $OUT_PARAM $MNT_DEV $MNT_DIR
;;
...you can see where I have inserted explicit modprobe commands. Those modules should have loaded automatically, I don't know why they don't.
Comments
Why the modules aren't loadedUsername: Dougal
You're using a zdrv. It's the same bug that makes you need to "fetch" the drm modules for Xorg (and modules for filesystems that aren't built into the kernel).
No zdrv
Username: BarryK
"I'm not that dumb. No, there is no zdrv. The only zdrv in 4.3beta3 is some extra modem drivers. The initrd is setup in the normal way with a small selection of modules. 'depmod' was run when the initrd was created, so that modprobe and the kernel can locate and load the modules. In other words, a normal environment, and I expected the nls_* modules to auto-load. Besides, the whole "feching" concept is no longer used for a zdrv. A zdrv now gets loaded as a aufs layer at bootup and depmod is run, so all modules are accessible without needing to be fetched. A lot has changed with the Woof-built puppies!
Tags: woof