<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2>Hello, and thanks for reading this 
query.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I am trying to determine the best way to upgrade 
software on my target. For development we can a use the command line shell of 
our bootloader program, but we need the unit to auto-update in the production 
version. Currently, we TFTP the 2 files (kernel and filesystem) to ram, and then 
copy the ram files to the MTDs in flash. A reboot then brings us up on the new 
filesystem.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Apparently, the&nbsp;kernel and filesystem is 
expanded on-the-fly as needed by program operations into ram. So this is where I 
(think) I am running into a problem. Sometimes during the erase and programming 
of the MTDs, the target locks up; sometimes I get no warnings, sometimes I get 
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Courier size=2>&nbsp;&nbsp;&nbsp; "Error -3 while 
decompressing!<BR>&nbsp;&nbsp;&nbsp; 
94241eda(1899)-&gt;94657000(4096)"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>To minimize the risk of loading code from the 
filesystem, I kill off the majority of the processes, although I am sure there 
are more I can kill. I don't think this is the answer to my 
problem.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I am developing with a MIPS processor with MMU, 
Linux 2.6.10 kernel, compiled with UClibc, and BusyBox v1.2.2.</FONT></DIV>
<DIV><FONT face=Arial size=2>My kernel is in mtd0, and mtd1 contains the 
filesystem, as CRAMFS.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>1.) What is the "right" way to update my file 
system and kernel?</FONT></DIV>
<DIV><FONT face=Arial size=2>2.) Can I use switch_root or pivot_root to help 
this situation?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Thank you for your expert advice.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;- Mike</FONT></DIV></BODY></HTML>