mail archive of the rauc mailing list
 help / color / mirror / Atom feed
From: "Jan Lübbe" <jlu@pengutronix.de>
To: "Einar Vading" <Einar.Vading@RHIMagnesita.com>,
	"Enrico Jörns" <ejo@pengutronix.de>,
	"rauc@pengutronix.de" <rauc@pengutronix.de>
Subject: Re: [RAUC] [NEWSLETTER]Re:  Robust u-boot environment with RAUC
Date: Fri, 26 Mar 2021 10:13:15 +0100	[thread overview]
Message-ID: <d0d058457830ced60923b7b79f80b13ff3c6189e.camel@pengutronix.de> (raw)
In-Reply-To: <AM0PR08MB4580CB2D01A5F69F0BD8112AE5619@AM0PR08MB4580.eurprd08.prod.outlook.com>

Hi,

On Fri, 2021-03-26 at 05:48 +0000, Einar Vading wrote:
> > > Hi,
> > > 
> > > On Thu, 2021-03-25 at 15:22 +0000, Einar Vading wrote:
> > > > We have a Raspberry Pi 4 system set up using RAUC for updates and u-boot
> > > > for
> > > > booting. For some systems in the field we have the u-boot environment on
> > > > the
> > > > FAT boot partition and we mount that in fstab so that RAUC can access it
> > > > with
> > > > the fw_print/setenv commands.
> > > > 
> > > > One issue we have seen is that the env-file gets corrupted every now and
> > > > then.
> > > > After corruption we can't RAUC update. The only solution we have to this
> > > > problem now is to delete the corrupted env-file and reboot, then we can
> > > > perform the upgrade.
> > > > 
> > > > I have no idea how to track down whatever corrupts the file and I was
> > > > wondering if anyone has any input.
> > > 
> > > You could try placing the environment on a separate partition to avoid any
> > > potential issues in the FAT implementation. Also, I think U-Boot has a way
> > > to
> > > support redundant environments.
> 
> I have just done this for our newer systems. I moved the GPT partitions back
> 4MB and placed two redundant environments between the GPT and the first GPT
> partition.
> 
> It is my understanding though that redundant environments are not supported
> when storing the env on FAT?

That's probably a question for the U-Boot mailing list. :)

> > Exactly. This should also be documented in the U-Boot integration guideline
> > for eMMC:
> > 
> >  
> > https://rauc.readthedocs.io/en/latest/integration.html#example-setting-up-u-boot-environment-on-emmc-sd-card
> > 
> > When writing to the FAT very short before hard rebooting, I could imagine
> > this
> > can lead to failures. Do you see the corruption only after updates, or also
> > suddenly after n boots?
> 
> Yes, this is something we have been able to test. If we cut the power
> precisely when the env is written to FAT we can corrupt the entire boot
> partition.
> Super scary but this is not the problem we're seeing in the field. That
> problem is more subtle.

It should be possible to mount fat with the 'sync' option, but I'm not sure if
that would help in this case. I'd recommend avoiding mounting FAT filesystems
R/W if possible.

> > How does the system report the corruption?
> 
> fw_printenv and fw_setenv stops working and says that the env is corrupted.
> That also means that RAUC update fails, that is usually when we notice it.
> 
> Is there a way to watch a file and record any process that modifies it?

There is blktrace, but you don't see the contents that way. It still may be
enough detail to understand what's happening here.

Regards,
Jan
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


_______________________________________________
RAUC mailing list

  reply	other threads:[~2021-03-26  9:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25 15:22 [RAUC] " Einar Vading
2021-03-25 15:52 ` Jan Lübbe
2021-03-25 18:54   ` Enrico Jörns
2021-03-26  5:48     ` [RAUC] [NEWSLETTER]Re: " Einar Vading
2021-03-26  9:13       ` Jan Lübbe [this message]
2021-03-28 10:11         ` Einar Vading
2021-03-28 14:11           ` Matt Campbell
2021-03-28 20:23             ` [RAUC] [NEWSLETTER]Re: " Einar Vading
2021-03-29  5:14             ` Einar Vading

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d0d058457830ced60923b7b79f80b13ff3c6189e.camel@pengutronix.de \
    --to=jlu@pengutronix.de \
    --cc=Einar.Vading@RHIMagnesita.com \
    --cc=ejo@pengutronix.de \
    --cc=rauc@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox