<!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> </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> </DIV>
<DIV><FONT face=Arial size=2>Apparently, the 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> </DIV>
<DIV><FONT face=Courier size=2> "Error -3 while
decompressing!<BR>
94241eda(1899)->94657000(4096)"</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </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> </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> </DIV>
<DIV><FONT face=Arial size=2>Thank you for your expert advice.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> - Mike</FONT></DIV></BODY></HTML>