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]

Reply via email to