Changing functions/code on running target

Aug 23, 2006 4 Replies

Hi,



I'm running 2.4 on an Intel IXP425, and I'm not happy with my development efficiency:


- I modify code in the kernel, kernel modules, and applications.



- Compilation of the image takes 3 minutes, which I find annoying.



- A reboot takes 30 seconds and destroys all state.



- Some kernel modules cannot be reloaded, so a full compile and reboot is necessary.



The simplest way to solve all these problems would be the ability to change functions on the running target. It should not matter if the code is in the kernel or in an application. Is there anything like this?



Thanks, Daniel



Well, if the code is in the kernel, and if it is not a module, then you can not avoid a reboot, thereby loosing all state. If it *is* a module, it should be possible to compile it seperate from the kernel and unload/reload it in a running system. However, you said above that "Some kernel modules cannot be reloaded". Care to explain why?

IMHO the ideal setup for quick development turnaround times is an NFSroot system: Keep the root file system on the development host and let the target mount it via NFS. That way, you can rebuild any files on the development host and just load them on the target. We do that all the time.

Rob

-- Robert Kaiser email: rkaiser AT sysgo DOT com SYSGO AG

formatting link
Klein-Winternheim / Germany
formatting link

We are using the Intel Ethernet driver module ixp425_eth.c, which complains about "locked resources" or so.

We use a commercial Linux distribution (not sure if I'm allowed to name it), which officially doesn't support NFS root file systems. Maybe there is a simple way of making this work?

-- Daniel

[snip]

Check Documentation/nfs-root.txt in the kernel source directory.

:wq ^X^Cy^K^X^C^C^C^C

Hmm, that could be a bug in the driver. Anyway, if you build an NFSroot system, you don't want to unload the NIC driver as that is your link to the root file system. Typically, you would link it into the kernel statically.

There is an embedded Linux distribution available that comes with a number of preconfigured configurations, NFSroot being one of them. (Hint: see my .sig)

As another poster has suggested: read Documentation/nfs-root.txt

Good Luck

Rob

-- Robert Kaiser email: rkaiser AT sysgo DOT com SYSGO AG

formatting link
Klein-Winternheim / Germany
formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required