|
From: Joe W. <sl...@bl...> - 2004-08-13 05:40:48
|
Okay, here is the story of me moving from coLinux 0.6.1 to a recent
coLinux snapshot. There is a bug reported at the end of the story
where Firefox is dying with a floating point exception and I'm
wondering if it is due to something wrong in coLinux.
This is what I did:
* prepared for kernel 2.6 modules:
emerge module-init-tools
(This seems to be the kernel 2.6 replacement for the modutils
package which is for kernel 2.4. The new Gentoo package
includes the old modutils so that if module-init-tools is
installed, then both 2.4 and 2.6 kernels can be used.)
* prepared for coLinux snapshot's change in the location of the cobd
devices (only needed if using devfs (which Gentoo does)):
* created new cobd names:
mkdir /dev/cobd
for i in `seq 0 31`; do
mknod /dev/cobd/$i b 117 $i
chmod u=rw,g=r,o= /dev/cobd/$i
done
* changed /dev/cobd{0,1} to /dev/cobd/{0,1} in /etc/fstab
* installed the new TAP driver from the 2004-07-10 coLinux snapshot
(not sure if this is needed, I actually did this later when trying
to get the TAP working):
./coLinux-20040710.exe
Next -> "I agree" -> unselect(coLinux, coLinux Bridged Ethernet,
Root Filesystem image Download) -> Next -> "C:\Program
Files\coLinux\snapshot-2004-07-10" -> Next -> Next -> "Continue
Anyway" -> Finish
* unpack 2004-07-19 monotone build from http://firechief.dyndns.org/colinux/:
mkdir '/c/Program Files/coLinux/0.6.2-gbp-2004-07-19'
cp coLinux-0.6.2-gpb.tar.bz2 '/c/Program Files/coLinux/0.6.2-gbp-2004-07-19'
cd '/c/Program Files/coLinux/0.6.2-gbp-2004-07-19'
tar xfj coLinux-0.6.2-gpb.tar.bz2
* stop old coLinux
* switch to the new coLinux driver:
cd ..
./colinux-daemon --remove-driver
cd 0.6.2-gbp-2004-07-19
./colinux-daemon --install-driver
* fix the configuration file:
cp ../gentoo-i686-ext3-4g.colinux.xml .
emacs gentoo-i686-ext3-4g.colinux.xml:
change "root=/dev/cobd0" to "root=/dev/cobd/0"
added 'name="Local Area Connection 3"' to the network setting
(actually, I only added the 'name' attribute later when I had
problems with the TAP not being found)
* check that it boots okay:
./colinux-daemon -c gentoo-i686-ext3-4g.colinux.xml
* the first time I did this it didn't find my TAP device and I went
back and did things as described above.
* did lots of screwing around with Windows to get ICF/ICS to work
with "Local Area Connection 3" instead of "Local Area Connection
2" as I had it set before. painful.
* unpack and test the new kernel modules:
smbmount //MYMACHINE/C$ /c -o username=jbw,uid=jbw,gid=users
cd /
tar xvfz '/c/Program Files/coLinux/0.6.2-gbp-2004-07-19/vmlinux-modules.tar.gz'
modprobe ip_tables
* check that Linux kernel 2.6 detects my CPU correctly:
cat /proc/cpuinfo
* observe that Firefox dies with a floating point exception:
/usr/bin/firefox: line 87: 3285 Floating point exception$mozbin "$@"
The last point is the main annoyance. Firefox dies with a repeatable
floating point exception. I have run it like this to get a trace:
----------------------------------------------------------------------
#!/bin/sh
export MOZILLA_FIVE_HOME=/usr/lib/MozillaFirefox
export LD_LIBRARY_PATH=/usr/lib/MozillaFirefox:/usr/lib/MozillaFirefox/plugins
strace -o firefox-death.trace /usr/lib/MozillaFirefox/firefox-bin
----------------------------------------------------------------------
I have put the trace output at
http://www.macs.hw.ac.uk/~jbw/firefox-death.trace
in case it can help anyone figure this out.
What could have changed to cause floating point exceptions? I checked
that my configuration files could not be causing the problem by
temporarily moving them out of the way. Is this a Linux kernel 2.6
change or a coLinux change? Any thoughts or suggestions? What
information is needed to debug this?
--
Joe
|