* Deploying Yocto build images
@ 2013-11-21 12:10 Stefano Babic
2013-11-21 12:34 ` Diego Sueiro
2013-11-21 15:48 ` Bryan Evenson
0 siblings, 2 replies; 7+ messages in thread
From: Stefano Babic @ 2013-11-21 12:10 UTC (permalink / raw)
To: yocto@yoctoproject.org
Hi everybody,
in the last ELCE, David point out in his presentation that we should
improve how to deploy Yocto images on the target.
I did some work this year to provide a reliable way for some customers
of us to install Yocto's images in field, and I have published last week
the sources. Here the link of the announcement:
http://comments.gmane.org/gmane.comp.embedded.eldk/2397
Mainly, it is a tool that can be stored in the rootfs or will be put in
a separate initrd image and whose goal is only to update the system. I
have tried to describe pros and cons of several different solutions
(updating via bootloader ? single copy against dual copy ?) - you can
find details in the doc directory in the swupdate repository.
Maybe someone of you can find this helpful, and I will be happy if I
could get some feedback.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 12:10 Deploying Yocto build images Stefano Babic
@ 2013-11-21 12:34 ` Diego Sueiro
2013-11-21 13:15 ` Stefano Babic
2013-11-21 18:20 ` Michael_E_Brown
2013-11-21 15:48 ` Bryan Evenson
1 sibling, 2 replies; 7+ messages in thread
From: Diego Sueiro @ 2013-11-21 12:34 UTC (permalink / raw)
To: Stefano Babic; +Cc: yocto@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]
Stefano,
This is a really great tool. I'm always developing a new software update
tool for each new project, since there are different requirements.
As I can see you are dealing with different scenarios, and this is really
amazing.
I'm already cloning meta-swupdate to test it.
Looking at recipes I realized that swupdate is initialized in an sysVinit
environment.
Did you plan to use systemd too?
Maybe I can contribute to this.
Thanks for sharing.
Regards,
--
*dS
Diego Sueiro
/*long live rock 'n roll*/
2013/11/21 Stefano Babic <sbabic@denx.de>
> Hi everybody,
>
> in the last ELCE, David point out in his presentation that we should
> improve how to deploy Yocto images on the target.
>
> I did some work this year to provide a reliable way for some customers
> of us to install Yocto's images in field, and I have published last week
> the sources. Here the link of the announcement:
>
> http://comments.gmane.org/gmane.comp.embedded.eldk/2397
>
> Mainly, it is a tool that can be stored in the rootfs or will be put in
> a separate initrd image and whose goal is only to update the system. I
> have tried to describe pros and cons of several different solutions
> (updating via bootloader ? single copy against dual copy ?) - you can
> find details in the doc directory in the swupdate repository.
>
> Maybe someone of you can find this helpful, and I will be happy if I
> could get some feedback.
>
> Best regards,
> Stefano Babic
>
> --
> =====================================================================
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
> =====================================================================
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
[-- Attachment #2: Type: text/html, Size: 3083 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 12:34 ` Diego Sueiro
@ 2013-11-21 13:15 ` Stefano Babic
2013-11-21 18:20 ` Michael_E_Brown
1 sibling, 0 replies; 7+ messages in thread
From: Stefano Babic @ 2013-11-21 13:15 UTC (permalink / raw)
To: Diego Sueiro, Stefano Babic; +Cc: yocto@yoctoproject.org
Hi Diego,
On 21/11/2013 13:34, Diego Sueiro wrote:
> Stefano,
>
> This is a really great tool. I'm always developing a new software update
> tool for each new project, since there are different requirements.
That is right. I did the same in the past, until I recognize that I
waste a lot of effort.
> As I can see you are dealing with different scenarios, and this is
> really amazing.
>
Sure. I hope that the tool remains general enough to allow to include
scenarios that I was not able to foresee.
> I'm already cloning meta-swupdate to test it.
> Looking at recipes I realized that swupdate is initialized in an
> sysVinit environment.
> Did you plan to use systemd too?
> Maybe I can contribute to this.
Let's say that how the tool is started is open and can be easy
customized. Updating to systemd is surely nice.
One use of case I have is to not use neither sysVinit not systemd at
all. The tool is put into a initrd and it is the only task running, that
is I modified rcS to start only the tool and to speed up the booting
process. But as I said, this is only a use case.
Best regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 12:10 Deploying Yocto build images Stefano Babic
2013-11-21 12:34 ` Diego Sueiro
@ 2013-11-21 15:48 ` Bryan Evenson
2013-11-21 17:08 ` Stefano Babic
1 sibling, 1 reply; 7+ messages in thread
From: Bryan Evenson @ 2013-11-21 15:48 UTC (permalink / raw)
To: Stefano Babic, yocto@yoctoproject.org
Stefano,
Looks interesting. I have a question that I didn't see covered in the documentation (yet). I can see the benefit to having a single image firmware upgrade, but how does swupdate handle configuration differences? I can see cases in which the majority of the software will be the same but there will be configuration file differences from device to device. I like the idea of a single image upgrade, but not at the cost of wiping the device-specific configuration.
Thanks,
Bryan E.
> -----Original Message-----
> From: yocto-bounces@yoctoproject.org [mailto:yocto-
> bounces@yoctoproject.org] On Behalf Of Stefano Babic
> Sent: Thursday, November 21, 2013 7:11 AM
> To: yocto@yoctoproject.org
> Subject: [yocto] Deploying Yocto build images
>
> Hi everybody,
>
> in the last ELCE, David point out in his presentation that we should
> improve how to deploy Yocto images on the target.
>
> I did some work this year to provide a reliable way for some customers
> of us to install Yocto's images in field, and I have published last
> week the sources. Here the link of the announcement:
>
> http://comments.gmane.org/gmane.comp.embedded.eldk/2397
>
> Mainly, it is a tool that can be stored in the rootfs or will be put in
> a separate initrd image and whose goal is only to update the system. I
> have tried to describe pros and cons of several different solutions
> (updating via bootloader ? single copy against dual copy ?) - you can
> find details in the doc directory in the swupdate repository.
>
> Maybe someone of you can find this helpful, and I will be happy if I
> could get some feedback.
>
> Best regards,
> Stefano Babic
>
> --
> =====================================================================
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
> =====================================================================
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 15:48 ` Bryan Evenson
@ 2013-11-21 17:08 ` Stefano Babic
0 siblings, 0 replies; 7+ messages in thread
From: Stefano Babic @ 2013-11-21 17:08 UTC (permalink / raw)
To: Bryan Evenson, Stefano Babic, yocto@yoctoproject.org
Hi Bryan,
On 21/11/2013 16:48, Bryan Evenson wrote:
> Stefano,
>
> Looks interesting. I have a question that I didn't see covered in
> the documentation (yet).
I know, this is my fault. Writing documentation is a task that is always
postponed ;-)
> I can see the benefit to having a single image firmware upgrade, but
> how does swupdate handle configuration differences? I can see cases
> in which the majority of the software will be the same but there will
> be configuration file differences from device to device. I like the
> idea of a single image upgrade, but not at the cost of wiping the
> device-specific configuration.
I explain how it was done in a real project. The scope was to have a
single image, containing update for multiple devices. Let's say this is
an update of version Y for a whole family of products, but each product
has its own parts (mostly kernel differs, but not only).
In that case, an external parser was used. The sw-description is written
as XML, with a syntax like this:
<?xml version="1.0" encoding="UTF-8"?>
<software version="1.0">
<name>Update Image</name>
<version>1.0.0</version>
<description>Firmware for XXXXX Project</description>
<images>
<image device="firstdevice" version="0.9">
<stream name="dev1-uImage" type="ubivol" volume="kernel" />
<stream name="dev1.dtb" type="ubivol" volume="dtb" />
<stream name="dev1-rootfs.ubifs" type="ubivol" volume="rootfs"/>
<stream name="dev1-uboot-env" type="uboot" />
<stream name="raw_vfat" type="raw" dest="/dev/mmcblk0p4" />
<stream name="sdcard.lua" type="lua" />
</image>
<image device="seconddevice" version="0.9">
<stream name="dev2.dtb" rev="0.9" type="dtb" />
<stream name="dev2-uImage" rev="0.9" type="kernel" />
......
That is: there is a single description, that describes the components
for all devices. Each device must recognized where it is running - this
was done with a configuration file or reading directly from hardware
(GPIOs, SPI EPROM).
When the image is downloaded, the description is parsed and only the
significant parts are extracted - the rest is discarded.
Of course, the image can be significantly bigger - it contains the
software for many devices. In my real project, this was not an issue -
the scope was really to have a single image for a product family.
Note: this is only an example how the tool was used. But this shows also
that the syntax of the sw-description is open. I could also add the LUA
script/XML parser to the repository, it is at the moment not stored - I
have thought at it as a custom specific requirement.
Best regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 12:34 ` Diego Sueiro
2013-11-21 13:15 ` Stefano Babic
@ 2013-11-21 18:20 ` Michael_E_Brown
2013-11-21 18:49 ` Stefano Babic
1 sibling, 1 reply; 7+ messages in thread
From: Michael_E_Brown @ 2013-11-21 18:20 UTC (permalink / raw)
To: diego.sueiro, sbabic; +Cc: yocto
[-- Attachment #1: Type: text/plain, Size: 3295 bytes --]
Thanks for posting this. It's very timely for a project I am in the initial stages of designing. I have looked over the docs and some of the code, and am interested in using this.
I would make a couple suggestions:
1) As you mention, documentation is important. Unless this is very well documented, it's difficult for other people to take up and use effectively, or to advocate for its use in a group
2) Progress indications: it's going to be fairly important to build in some way to notify other process about the state of the update. A flexible framework for sharing progress would be very much appreciated. There are a couple scenarios I have, but the main one is a network notification where one device is being updated by another. The updated device should be able to signal update progress to the updater device in a flexible fashion. I haven't looked at the code hard enough to see how difficult this would be to add.
--
Michael
From: yocto-bounces@yoctoproject.org [mailto:yocto-bounces@yoctoproject.org] On Behalf Of Diego Sueiro
Sent: Thursday, November 21, 2013 6:35 AM
To: Stefano Babic
Cc: yocto@yoctoproject.org
Subject: Re: [yocto] Deploying Yocto build images
Stefano,
This is a really great tool. I'm always developing a new software update tool for each new project, since there are different requirements.
As I can see you are dealing with different scenarios, and this is really amazing.
I'm already cloning meta-swupdate to test it.
Looking at recipes I realized that swupdate is initialized in an sysVinit environment.
Did you plan to use systemd too?
Maybe I can contribute to this.
Thanks for sharing.
Regards,
--
*dS
Diego Sueiro
/*long live rock 'n roll*/
2013/11/21 Stefano Babic <sbabic@denx.de<mailto:sbabic@denx.de>>
Hi everybody,
in the last ELCE, David point out in his presentation that we should
improve how to deploy Yocto images on the target.
I did some work this year to provide a reliable way for some customers
of us to install Yocto's images in field, and I have published last week
the sources. Here the link of the announcement:
http://comments.gmane.org/gmane.comp.embedded.eldk/2397
Mainly, it is a tool that can be stored in the rootfs or will be put in
a separate initrd image and whose goal is only to update the system. I
have tried to describe pros and cons of several different solutions
(updating via bootloader ? single copy against dual copy ?) - you can
find details in the doc directory in the swupdate repository.
Maybe someone of you can find this helpful, and I will be happy if I
could get some feedback.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53<tel:%2B49-8142-66989-53> Fax: +49-8142-66989-80<tel:%2B49-8142-66989-80> Email: sbabic@denx.de<mailto:sbabic@denx.de>
=====================================================================
_______________________________________________
yocto mailing list
yocto@yoctoproject.org<mailto:yocto@yoctoproject.org>
https://lists.yoctoproject.org/listinfo/yocto
[-- Attachment #2: Type: text/html, Size: 10616 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Deploying Yocto build images
2013-11-21 18:20 ` Michael_E_Brown
@ 2013-11-21 18:49 ` Stefano Babic
0 siblings, 0 replies; 7+ messages in thread
From: Stefano Babic @ 2013-11-21 18:49 UTC (permalink / raw)
To: Michael_E_Brown, diego.sueiro, sbabic; +Cc: yocto
Hi Michael,
On 21/11/2013 19:20, Michael_E_Brown@Dell.com wrote:
> Thanks for posting this. It’s very timely for a project I am in the
> initial stages of designing. I have looked over the docs and some of the
> code, and am interested in using this.
>
>
>
> I would make a couple suggestions:
>
Thanks !
> 1) As you mention, documentation is important. Unless this is very
> well documented, it’s difficult for other people to take up and use
> effectively, or to advocate for its use in a group
I know, and I am understand there are a lot of things that I have not
explained. Documentation is first priority.
> 2) Progress indications: it’s going to be fairly important to build
> in some way to notify other process about the state of the update.
> A
> flexible framework for sharing progress would be very much appreciated.
There is an interface using Unix Domain Socket to communicate with the
installer. There is only a couple of implemented messages (start
installer - get status). It is quite rudimentary, but it can be extended.
This interface is also used by the AJAX interface (see in ./www) to
report the current status to the operator's browser when a downloaded is
started from network. Another use case is to output the status on a LCD:
a separate process can ask the installer and render the output for the
operator.
> There are a couple scenarios I have, but the main one is a network
> notification where one device is being updated by another. The updated
> device should be able to signal update progress to the updater device in
> a flexible fashion. I haven’t looked at the code hard enough to see how
> difficult this would be to add.
I think it is should be not very difficult. As I said, there is already
an interface that can be easy extended.
Regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-11-21 18:49 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-21 12:10 Deploying Yocto build images Stefano Babic
2013-11-21 12:34 ` Diego Sueiro
2013-11-21 13:15 ` Stefano Babic
2013-11-21 18:20 ` Michael_E_Brown
2013-11-21 18:49 ` Stefano Babic
2013-11-21 15:48 ` Bryan Evenson
2013-11-21 17:08 ` Stefano Babic
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.