bmcweb image upload

Wim Vervoorn wvervoorn at eltan.com
Fri Apr 26 01:16:56 AEST 2019


Hello Patrick,

Thanks for the response. I will try this. Some other thing I noticed is that the image update now uses a TAR file. Basically it transfers the TAR to the system, then untars the file and uses it. This means the mechanism requires twice the size of the TAR file.

I am now considering to use an ISO file and mount this this will require less memory. What do you think about this, do I overlook something or can this be a viable solution?

Best Regards,
Wim Vervoorn



-----Original Message-----
From: Patrick Venture [mailto:venture at google.com] 
Sent: Thursday, April 25, 2019 4:31 PM
To: Wim Vervoorn <wvervoorn at eltan.com>; Tanous, Ed <ed.tanous at intel.com>
Cc: openbmc at lists.ozlabs.org
Subject: Re: bmcweb image upload

On Thu, Apr 25, 2019 at 2:03 AM Wim Vervoorn <wvervoorn at eltan.com> wrote:
>
> Hello,
>
> I have an AST2400 OpenBmc with 128 MB of RAM. I found that the firmware upload using WebUI (and Redfish) doesn't work. Bmcweb is killed due to an out of memory condition.
>
> If found out this is due to the large request size of 30 MB. Will there be an update to the upload mechanism to resolve this large memory requirement?

I'm so excited for your email!  For a time, I was the only person maintaining an ast2400 with 128MB of RAM.

Here are some things to do straight away:
look at your bmc image and remove any image_features you're not using
-- if possible.

That'll help with the problem in general.

To do updates on our end, we have a service triggered by a different update mechanism that clears the caches, this frees up critical memory for the system.  I don't know enough about the redfish approach, but perhaps it could be programmed to call a similar service before receiving the image when the request is received.

Our package, "google-prepare-update" is just:

prepare_update.service:
[Unit]
Description=Purge Memory Caches
[Service]
Type=oneshot
ExecStart=/usr/sbin/purge_cache.sh

purge_cache.sh:
#!/bin/bash
# Run sync command.
sync
# Purge the three caches.
echo 3 > /proc/sys/vm/drop_caches
# Done
exit 0

>
> Best regards,
>
> Wim Vervoorn
>
>





More information about the openbmc mailing list