General TC > General TC Talk

Revisiting the 486sx issue

(1/6) > >>

llondel:
I've been trying to put together a system that will run on a 486sx. I've had a good read through the previous stuff on this topic at http://forum.tinycorelinux.net/index.php?topic=5462.0 and have a system that runs happily on an FPU-equipped system(*), but if I try to boot it with the 'no387' kernel argument it hangs immediately after loading the initrd and saying 'Ready'.

I've definitely recompiled the kernel and all the modules using the patched kernel at http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/3.x/release/src/kernel/linux-2.6.33.3-patched.tbz2 and started with the config in http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/3.x/release/src/kernel/config-2.6.33.3-tinycore where I just told it to include the maths emulation.

I extracted the 3.5 ISO and did an rm -rf /lib/modules on it to blow away the previous stuff, and then installed the new modules in place. I put the new bzImage file into /boot.

So what am I missing? (note that I did also try this with 3.4 and had exactly the same problem)

(*) I'm still waiting for the 486sx system to arrive. It's based on a Vortex86SX.

curaga:
That should be enough, so try to find out where things are breaking. Boot with the "debug" bootcode to see the kernel messages.

danielibarnes:
Some tips I found:
1) Try adding "nofxsr" boot parameter also
2) Make sure your kernel does not have SMP or CONFIG_X86_GENERIC enabled

llondel:
I managed to get it to boot with no387 this evening.  ;D

I turned all the knobs and used all the tips.

Is there a quick way of compiling only those modules found in the release base image, and to compress them as in the base image? I guess it might all be done with a post-compile script to strip out the extras into extensions rather than just compile the base set in the first place.

Anyway, thanks for the tips so far.

danielibarnes:

--- Quote ---I turned all the knobs and used all the tips
--- End quote ---

Can you please elaborate? I'd like to know exactly what made it work. I am interested in the
MicroClient JrSX, but I'd like to know the precise steps to get it to work.

Here is how I compile the modules. It can give you a start:

tar xjf linux-2.6.33.3-patched.tbz2
cd linux-2.6.33.3
make mrproper
# Copy custom config here
cp config-2.6.33.3-tinycore .config
make oldconfig < /dev/null
for m in $(cd /lib/modules/$(uname -r)/kernel; find . -name '*ko.gz'|sed 's:^./::;s:.gz$::;/^misc/d'; cd - >/dev/null); do
MSRC=$m
# Set your destination path here
MDST=/usr/local/lib/modules/$(uname -r)/kernel/$m.gz
make $MSRC || exit 1
mkdir -p $(dirname $MDST)
gzip -2 < $MSRC > $MDST || exit 1
advdef -qz4 $MDST
done

There are 288 modules, so it will take a while. I don't know if it's any faster than building everything and copying over only what you need. I omitted misc above because the ramzswap.ko is actually in drivers/staging/ramzswap, but I suspect it is built from newer source. Not sure what to do there. Maybe someone can help.

Navigation

[0] Message Index

[#] Next page

Go to full version