At Fri, 13 Feb 2004 06:35:47 -0200,
Cesar Eduardo Barros wrote:
> A simple way to avoid problems when dist-upgrading would be to check in
> the preinst for a working bswap.
>
> A small precompiled static binary could
> be added to the preinst (it doesn't even have to use a C library, see
> http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html) and run
> to check if using the emulated opcodes won't die with SIGILL or SIGSEGV.

I think it's easier just use "uname -m".  I don't know bswap is 486
mandatory instruction or not, so it may be wrong, though.

I think Cesar's suggestion is good idea.  Checking processor class in
preinst and if it does not have "bswap" (so i386 class processor), we
stop to install and warn with libc6.preinst:

    if [ "$realarch" = i386 ]
    then
        kernel_ver=`uname -r`
        if dpkg --compare-versions "$kernel_ver" lt 2.4.24
        then    
            echo WARNING: This machine has i386 class processor.
            echo Debian sarge and later you need to use at least a 2.4.24 
            echo or 2.6.0 kernel on i386.  Please upgrade your kernel 
            echo before installing glibc.
            echo The reason is that "bswap" instruction is not supported
            echo on i386 class processors, and newer kernel can emulate
            echo such lacking instructions.
            exit 1
        fi
    fi

Well newer initrd-tools module-init-tools should be in woody 
in order to upgrade to sarge smoothly.

Regards,
-- gotom







-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to