I'm installing Gentoo on a VIA 800MHz mini-ITX, following the excellent instructions on the website. However, at the crucial point of entering the new environment, the following command fails:
cdimage gentoo # chroot /mnt/gentoo /bin/bash Illegal instruction
Everything seems to be in the right place; any ideas why this might be happening? Have I made an error in assuming the CPU (calls itself an Ezra) is a 686-class?
-- GT
Hi Graham
Did you do the following before chrooting ?
mount --bind /dev /mnt/gentoo/dev mount --bind /proc /mnt/gentoo/proc
N.B. Not installed Gentoo, but I regularly run a chroot environment for other tasks..
Regards, Paul.
On Sunday 07 December 2003 12:04 pm, Graham Trott wrote:
I'm installing Gentoo on a VIA 800MHz mini-ITX, following the excellent instructions on the website. However, at the crucial point of entering the new environment, the following command fails:
cdimage gentoo # chroot /mnt/gentoo /bin/bash Illegal instruction
On Sunday 07 December 2003 12:04, Graham Trott wrote:
Everything seems to be in the right place; any ideas why this might be happening? Have I made an error in assuming the CPU (calls itself an Ezra) is a 686-class?
That might be an issue but if it was it would have happened at the point of the kernel loading (I think)
(Snip from previous posting)
For those that may be thinking about installing SuSE (or is it SUSE now, I'm confused) on a MiniITX board, there is an issue with the Nehemiah chip, cpuid says it is a i686 compat, but it does not support the cmpxchg8b opcode, gcc assumes that anything above i486 can handle cmpxchg8b. End result is that suse 8.2's kernel (compiled for i586) will not run. Gahhhhhh I blame gcc as the IA32 documentation states that you should check before doing conditional moves,and that cmov implementation in the processor is optional. ...
I am not sure how the ezra behaves, but I think you should be telling your complier that it's a i486 or using the flags specific to the C3 (Ezra is basically a Cyrix III processor)
On Sunday 07 December 2003 12:20, Wayne Stallwood wrote:
I am not sure how the ezra behaves, but I think you should be telling your complier that it's a i486 or using the flags specific to the C3 (Ezra is basically a Cyrix III processor)
Thanks Wayne and the others who responded to my call for help. It does seem the Ezra is best treated as a 486; doing so permitted the chroot to go ahead.
-- GT
On 8 Dec 2003, at 14:13, Graham Trott wrote:
On Sunday 07 December 2003 12:20, Wayne Stallwood wrote:
I am not sure how the ezra behaves, but I think you should be telling your complier that it's a i486 or using the flags specific to the C3 (Ezra is basically a Cyrix III processor)
Thanks Wayne and the others who responded to my call for help. It does seem the Ezra is best treated as a 486; doing so permitted the chroot to go ahead.
Well I compile everything as:
CHOST="i586-pc-linux-gnu" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer"
And running Gentoo Unstable.... Works fine for me.
C
On Mon, 2003-12-08 at 14:57, Craig wrote:
CHOST="i586-pc-linux-gnu" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer" And running Gentoo Unstable.... Works fine for me.
I'd recommend reducing the -O3 to -O2 since gcc has bugs which will make -O3 sometimes break utterly and in many cases it slows stuff down anyway.
D.
On Mon, 2003-12-08 at 15:01, Daniel Silverstone wrote:
On Mon, 2003-12-08 at 14:57, Craig wrote:
CHOST="i586-pc-linux-gnu" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer" And running Gentoo Unstable.... Works fine for me.
I'd recommend reducing the -O3 to -O2 since gcc has bugs which will make -O3 sometimes break utterly and in many cases it slows stuff down anyway.
Not to mention that -O3 doesn't guarantee faster code. In fact, lots of things end up much slower, because -O3 generates much larger code, which cocks up the use of the instruction cache.
On 8 Dec 2003, at 15:29, Rob Kendrick wrote:
On Mon, 2003-12-08 at 15:01, Daniel Silverstone wrote:
On Mon, 2003-12-08 at 14:57, Craig wrote:
CHOST="i586-pc-linux-gnu" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer" And running Gentoo Unstable.... Works fine for me.
I'd recommend reducing the -O3 to -O2 since gcc has bugs which will make -O3 sometimes break utterly and in many cases it slows stuff down anyway.
Not to mention that -O3 doesn't guarantee faster code. In fact, lots of things end up much slower, because -O3 generates much larger code, which cocks up the use of the instruction cache.
I think I have a play with this over the xmas break. Providing it all go okay and I got a lot of movies to watch ;)
C