grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Illegal Instruction" error in grub_script_comments


From: Lennart Sorensen
Subject: Re: "Illegal Instruction" error in grub_script_comments
Date: Tue, 18 Oct 2016 15:12:09 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Mon, Oct 17, 2016 at 02:34:16PM -0400, tedheadster wrote:
> I am building the older grub2-1.98+20100804 under the similarly old Debian
> 'squeeze' distribution. However, I bet the error persists with newer
> version. This is because I am building it on a true Intel 80486 and I don't
> thing the compiler is building for the correct architecture. Here is the
> output:
> 
> ./config.status --file=-:tests/grub_script_dollar.in | sed -e
> 's,@pkglib_DATA@,efiemu32.o efiemu64.o moddep.lst command.lst fs.lst
> partmap.lst parttool.lst handler.lst vi\
> deo.lst crypto.lst terminal.lst,g' > grub_script_dollar
> chmod +x grub_script_dollar
> 
> ./config.status --file=-:tests/grub_script_comments.in | sed -e
> 's,@pkglib_DATA@,efiemu32.o efiemu64.o moddep.lst command.lst fs.lst
> partmap.lst parttool.lst handler.lst \
> video.lst crypto.lst terminal.lst,g' > grub_script_comments
> chmod +x grub_script_comments
> 
> Illegal instruction
> 
> ./grub_script_echo1: GRUB and BASH outputs did not match (see diff -u
> /tmp/tmp.tP7l8uR3SD /tmp/tmp.wYCFOK2zor)
> make[2]: *** [check] Error 1
> make[2]: Leaving directory `/root/grub2-1.98+20100804/build/grub-pc'
> dh_auto_test: make -j1 check returned exit code 2
> make[1]: *** [build/stamps/build-grub-pc] Error 29
> make[1]: Leaving directory `/root/grub2-1.98+20100804'
> make: *** [build] Error 2
> 
> Is there a file I can modify to pass in -march=i486 or something similar?

Well I tried installing squeeze in a qemu VM emulating a 486.  It worked
fine there.

But qemu is emulating a 486DX4, which supports CPUID.  If your 486 is
older if probably does not have the CPUID instruction.  The place grub
is blowing up appears to be the test suite which uses qemu-system-i386.

So my suspicion is that it is actually qemu crashing, not grub, and
that your best bet would be to just not run the test suite.  The compile
almost certainly worked fine.

Simply uninstalling qemu whould make it not try to run the test based on
the debian/rules file, although debian/control considers qemu a built
dependancy.  So you probably have to use -d with dpkg-builcpackage to
make it ignore the missing dependancy.

Or edit debian/rules and simply set the with_check variable to no.

I can't find anything that says if qemu should run on an older 486,
probably since those usually didn't have enough memory to make that
worth the bother and they are too slow.  Maybe no one had ever tried
it before.

-- 
Len Sorensen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]