Tiny Core Extensions > TCE News

Kernel module extensions

(1/4) > >>

Jason W:
One of our goals is the installing of extensions under /usr/local as completely as possible to support PPI method of use and RAM savings of tclocal.  There are times when files just have to be placed above /usr/local, but kernel modules have not been left out in the cold.  TC's depmod utility supports the installing of kernel modules under /usr/local and a symlink has been placed in the base system to accomodate that.  The path that kernel modules need to be installed to is /usr/local/lib/modules/`uname -r`/kernel.  In the base system, the symlink '/lib/modules/`uname -r`/kernel.tclocal' points to '/usr/local/lib/modules/`uname -r`/kernel'.  To move modules into /usr/local, it is easy as inserting /usr/local/ in front of the standard module path (/lib/modules/etc/etc). 

There may be a rare exception where a setup utility uses a hard coded module path and will not work with modules installed under /usr/local.  Alsa is one of these. But that is the only one so far that does not work with this approach, or with the tcz format. 

With the next kernel update, all modules will be moved to /usr/local.  And for all new extensions please install the kernel modules under /usr/local/lib/modules/`uname -r`/kernel.

Don't hesitate to ask if there are any questions.

Onyarian:
Jason W,

To make a .tcem I was following the wiki clear point "Creating Extensions", perhaps it need to be actualized with the new recommendations in the case of modules with also a clear guideline.

I'm not an expert and when I have to modify a new .tcem with the new recommendation I don't know how, when and where to make changes, perhaps with a lot of time and error-success it can be, but I am an amateur with a little time every day., so a clear guide is very helpful and encourages us to move forward.

I'm very happy with the progress made in the AAO-tc and many can benefit.
Greetings.

Jason W:
Hi Onyarian,
This is the first formal mention of installing modules in /usr/local, and there does need to be more documentation about it.  Basically our depmod follows symlinks under the /lib/modules/`uname -r` directory. That allows the kernel modules to be installed into /usr/local/lib/modules/`uname -r`/kernel.  Basically, to change an existing kernel module extension it would be something like this:

mkdir pkg
tar xzvf extension.tcem -C pkg
cd pkg
mkdir usr/local/lib  # if it does not exist
mv lib/modules usr/local/lib/
cd ..

For a new extension simply move the lib/moduels directory to /usr/local/lib/modules.

Then create the extension out of the pkg directory as normal. We will add more docs on this in the near future.

Onyarian:
Thank you, sometimes we can be impatient.

mikshaw:

--- Quote ---And for all new extensions please install the kernel modules under /usr/local/lib/modules/`uname -r`/kernel.
--- End quote ---
Would that work for a proprietary (but redistributable?) driver such as nvidia graphics?  I said redistributable because although I never checked the license it was made available as an extension for DSL, so I assume it is.

From my experience, the nvidia driver simply builds and installs where it wants to be.

Navigation

[0] Message Index

[#] Next page

Go to full version