Upgrading cramfs root file system while running (DENX wrote that is not possible)

antonio.dibacco antonio.dibacco at aruba.it
Fri Apr 21 15:51:42 EST 2006


No, I have a cramfs on flash and the kernel uses it directly from flash, 
extracting what it needs to execute. I'm not using initrd then, I have to 
update in situ, while running.

Bye,
Antonio. 

Tolunay Orkun Scrive: 

> If your bootloader is U-Boot and you are using standard bootm command to 
> boot, U-Boot decompresses the initrd image to RAM before passing the file 
> system to Linux. So, you are not working with flash copy and updating the 
> flash copy is not a problem at all. This applies to ext2, cramfs or 
> squashfs based initrd. 
> 
> You can keep working as long as you like until it is time to reboot. 
> 
> Antonio Di Bacco wrote:
>> Yes, I also thought this too. Anything important should stay already in 
>> RAM but there is a chance that something bad could happen. Probably the 
>> best thing is what you suggested as second option but I have not so much 
>> ram. My CGI writes the downloaded new software in RAM and then I should 
>> directly jump to u-boot without leaving Linux the chance to mix things up 
>> and then u-boot  should copy the RAM to the flash. It seems a strange 
>> procedure but what else could be done with 4MB flash and 16 MB ram?  
>> 
>> Bye,
>> Antonio. 
>> 
>> On Thursday 20 April 2006 22:18, White wrote:
>>> make it easy: if you start an application which do the flash and after
>>> this a reset.. nothing should happen. I do it that way.
>>> the application resist completly in RAM .. and all important libs are
>>> in RAm or in Filesystem Cache.
>>> It's only important that you pretend any Application from accessing
>>> Datafiles or start of new application ... 
>>> 
>>> Alternativly, you can put it in a reserved RAM Area ( mark it not
>>> usable by Linux) and put a Flash Code in your Bootloader (U-boot?)
>>> after a reset.... 
>>> 
>>> But overwrite a cramfs works for me on >100 times without problems. 
>>> 
>>> Am Thu, 20 Apr 2006 21:54:45 +0200 schrieb Antonio Di Bacco 
>>> 
>>> <antonio.dibacco at aruba.it> :
>>>> Yes you are right, it is not a good idea to overwrite working cramfs
>>>> filesystem. But what happens if I download the new cramfs plus kernel 
>>>> in
>>>> RAM, do a checksum and then, completely in kernel mode, disabling all 
>>>> the
>>>> interrupts, I write to flash? No process could complain that I am
>>>> overwriting because no one is executing. 
>>>> 
>>>> Bye,
>>>> Antonio. 
>>>> 
>>>> On Wednesday 19 April 2006 09:42, Wojciech Kromer wrote:
>>>>> Dnia 2006-04-06 22:38, Użytkownik Antonio Di Bacco napisał:
>>>>>> Hi, 
>>>>>> 
>>>>>> how could I upgrade my cramfs rootfs? I have a CGI in the rootfs that
>>>>>> receives the new rootfs from a web interface and then tries to write
>>>>>> it in the flash. While overwriting the old cramfs, the CGI will
>>>>>> continue to work? something weird could happen?
>>>>> Generally it's not a good idea to override working filesystem ( I've
>>>>> tried to do it once). 
>>>>> 
>>>>> You can have two separate copies of filesystem, one to work with, and
>>>>> another to overwrite, it requires more flash.
>>>>> Another way is working in initrd, it requires more RAM.
>>>>> You can also use jffs2 or jffs3 (experimental) to have read-write
>>>>> filesystem, and change applications only, not whole filesystem (be
>>>>> carefull with changing busybox or libraries!)
>>>> _______________________________________________
>>>> Linuxppc-embedded mailing list
>>>> Linuxppc-embedded at ozlabs.org
>>>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>>> _______________________________________________
>>> Linuxppc-embedded mailing list
>>> Linuxppc-embedded at ozlabs.org
>>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>> _______________________________________________
>> Linuxppc-embedded mailing list
>> Linuxppc-embedded at ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> 
 



More information about the Linuxppc-embedded mailing list