it seems that the kernel on my system is broken as it complains about missing symbols when inserting the microcode module (2.6.18-4-xen-amd64).
On Wed, Jun 27, 2007 at 03:12:53PM -0400, Jim Paris wrote: > > >Setting up microcode.ctl (1.17-1) ... > > >udev active, devices will be created in /dev/.static/dev/ > > >dpkg: error processing microcode.ctl (--configure): > > > subprocess post-installation script returned error exit status 20 > > > > In one hour I've two report, all previous tests were ok, so > > I'm wondering if there is some external cause. > > > > I can find only two pattern: > > - amd64 architecture (I tested only on i386) > > - locate is: en_US.UTF-8 > > > > The error is on the debconf scripts, so I will > > check if I quoted something wrong, if in amd64 > > the template was generated wrongly, or if > > there is some locale problem on my installation > > script. > > > > Could you try to reinstall the package with LANG=C, > > and send to me all /var/lib/spkg/info/microcode.ctl.* files? > > I figured out the problem: the "microcode" module was not loaded. > (my kernel has CONFIG_MICROCODE=m). After "modprobe microcode" > and "apt-get -f install", everything was OK. > > I think this is because when the microcode module is not loaded, > "/dev/cpu/microcode" does not exist, and so the postinst calls > "makedev", which prints a diagnostic message about "udev active" to > stdout. Also, another message would have been printed to stdout if I > didn't have an Intel processor. > > "man debconf-devel" says about the postinst script: > > * Always source /usr/share/debconf/confmodule at the top of your > postinst, even if you won't be running any db_* commands in > it. This is required to make sure the config script gets a change > to run (see HACKS for details). > * Avoid outputting anything to stdout in your postinst, since that > can confuse debconf, and postinst should not be verbose > anyway. Output to stderr is ok, if you must. > > I moved ". /usr/share/debconf/confmodule" to the very top of the > postinst, below "set -e", and the problem went away. I presume > /usr/share/debconf/confmodule somehow works around the stdout problem > -- but it would probably also be good to redirect all output to stderr > anyway. > > > I would also recommend that you don't unconditionally unload the > microcode module in /etc/init.d/microcode.ctl. If I, for example, > included "microcode" in /etc/modules, I wouldn't expect a startup > script to undo that. > > Thanks, > -jim > Folkert van Heusden -- www.biglumber.com <- site where one can exchange PGP key signatures ---------------------------------------------------------------------- Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]