Re: Better way to implement firmware upgrade for embedded Linux?

From: Ian Stirling (root_at_mauve.demon.co.uk)
Date: 07/17/04


Date: 17 Jul 2004 20:09:46 GMT

yakumoj <hunglm@mail.ebtnet.net> wrote:
> I'm trying to implement function for firmware upgrade in an embedded
> linux system. Unlike most other embedded systems, the size of memory
> required for an
> embedded linux system is often larger. Take our system for example,
> the size of a complete firmware ( including kernel and ramdisk image.
> ) is about 5MB.
> I've tried both way, either
>
> (1)Overwrite flash on the fly, without checksum.
> (2)Kill some processes,read it to allocated memory, do checksum,and
> upgrade.
>
> For the first one, it is dangerous because possible link error or
> network failure. For the second one, I get OOM killer even after I've
> allocated memory and calculated checksum. Both of them are a little
> risky for me.

Why do you get OOM killer - what's allocating memory?
Also, look at /usr/src/linux/mm/oom_kill.c, for reasons why a given
process gets killed.



Relevant Pages