Tiny Core Linux

Tiny Core Base => CorePlus => Topic started by: kzpm on August 18, 2013, 10:37:49 AM

Title: Tainted kernel caused by memory overload on old machines
Post by: kzpm on August 18, 2013, 10:37:49 AM
Dear tc_users and developers,

I've been busy developing a remaster webkiosk system based on Tiny_Core current and Opera-next.

The aim of this remaster is to deploy it in Dutch primary education.
I know I have to take in account to build a distro that will operate on a variety of hardware configurations.

So, at this time I have a lot of extensions loaded on boottime (onboot.lst) to ensure the remaster will function on different harware architectures.

One of the problems regarding loading extensions is, that my remaster runs ok in newer configurations, however on older configuration (e.g PentiumIII, 1 Gb memory) booting the remaster ends up in a "Tainted kernel error". I know this is a memory issue: when I delete extensions in /opt/cde/optional, booting works flawlessly.

I have tried two ways to add extensions. he first one is to create a harddisk "proxy" in which extensions reside

1. Create a directory (tce-rpo) on my harddisk filled with necessary extensions and dependencies;
2. Extract Core.gz
3. Copy all extensions from tce-repo to /opt/cde/optional
4. Edit bootlocal.sh and some custom scripts (e.g start ssh dropbear)
5. Repack core.gz
6. Build iso

And the second method is to load extensions on the fly:

I tried to run the script on TinyCore as a matter of fact, loading extensions on the fly with tce-load -wi <ext_name>, however that method results in a failure message "Could not find extension directory"

I would like to know if there are other workarounds to load lots of extensions, without exhausting memory?

Kind regards.

Kees Epema


Title: Re: Tainted kernel caused by memory overload on old machines
Post by: tinypoodle on August 18, 2013, 01:36:02 PM
Most unlikely that a kernel taint could be caused by lack of memory, and impossible to say more without evidence.

Latest opera-next ever was an alpha version of 12.00 nearly 2 years ago...
Title: Re: Tainted kernel caused by memory overload on old machines
Post by: curaga on August 19, 2013, 01:29:00 AM
If the extensions are inside the initrd, they are in RAM. Is it possible for you to load them from the CD?
Title: Re: Tainted kernel caused by memory overload on old machines
Post by: kzpm on August 19, 2013, 03:02:45 PM
Thanks for your answers TinyPoodle and Curaga!

I wrote the script for a debian system, because our school has a bunch of Debian systems running at present.
Because of this, I can't deploy all functionality of tiny-core (like tce-load -wi and advdev).

I manually found all dependencies, and downloaded them from ibiblio.org and nluug.nl

The extensions are actually inside the initrd. At script runtime some useful files, like a ttf-ecofont, libflashplayer.so and a wallpaper, are copied into target directories. within initrd.
When I leave out these files, the system boots up okay, and loads all extensions normally. Including these files leads to the venerable "Tainted kernel" error.
That is the reason I am almost certain, it has some relation to memory exhaustion.

What do you mean by loading from cd curaga? Is there a possibility to exclude extensions from initrd and load them separately off cd? That would be a great solution.

Kind regards,

Kees Epema (kzpm)


Title: Re: Tainted kernel caused by memory overload on old machines
Post by: curaga on August 20, 2013, 02:22:47 AM
If you take a look at our CorePlus iso image, you see how the extensions it includes are loaded from the CD, saving RAM.

There's a chapter on this mechanism in the in-progress book, see "Including extensions in an ISO": http://tinycorelinux.net/~curaga/corebook.pdf