Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Jonas Vautherin
    @JonasVautherin
    To be honest, I'm quite excited by the idea of trying to make my own Yocto from scratch, and I am almost disappointed to have found FMU, because it seems good and it seems to solve my problem xD
    Cedric Vincent
    @cevincent
    Sorry for that :P
    Jonas Vautherin
    @JonasVautherin
    haha
    Well I may have to tweak it a bit, at first I would not want to use the containers, I believe, and also I need to check for a secure bootloader
    So I'll have stuff to do, still :-)
    Cedric Vincent
    @cevincent
    On AM335X there is no secure boot as far as I know
    you need to use an i.MX6/8 or STM32MP1 to get this type of feature
    Jonas Vautherin
    @JonasVautherin
    yes, but that would be fine. Just starting with pocketbeagle because I have one at home :)
    How does Witekio work with consulting? Do you provide like... help to design a system, and then reviews while developing/maintaining it? Something like that?
    Cedric Vincent
    @cevincent
    Exactly, we provide system workshop to help on the architecture phase. Then it's up to you if you want us to support you for the development or if you want to do it yourself.
    Jonas Vautherin
    @JonasVautherin
    sounds very good to me :)
    Thanks a lot for all the help! I'll go play with my pocketbeagle now :D
    Cedric Vincent
    @cevincent
    Enjoy :P
    Jonas Vautherin
    @JonasVautherin
    Hello :)
    Just saw that Witekio got acquired. Congrats on that, I guess :)
    Does it mean that Witekio will stop doing consulting work?
    Cedric Vincent
    @cevincent
    Hi Jonas, it doesn't change anything for Witekio. Therefore, yes we are still doing consulting work
    pawel
    @pawelevans
    Hi, I am going through the 'Getting Started' guide. The example image is for a sabre device. Is there any information on how to build a rpi3 image?
    Cedric Vincent
    @cevincent
    Hi Pawel, something is missing :). I will update the doc accordingly. You need to sync with the manifest for RPI3: ./StartBuild.sh sync raspberrypi3 rocko dev
    Then you can follow the rest of the Getting Started guide
    Just one thing, checkout this ticket: FullMetalUpdate/meta-fullmetalupdate-extra#6
    Cedric Vincent
    @cevincent
    if you use a RPI3 B+, the ethernet interface doesn't work (it work on RPI3 B). This will be fixed in the coming days.
    4 replies
    pawel
    @pawelevans
    Thank you Cedric! I did notice the raspberrypi3 option in the yocto-entrypoint.sh file and already started the build, but it's good to know I used the correct parameters. I do have the RPI3 B+ model but at the moments I am just familiarising myself and will be a good practice to deploy the fix when ready :)
    srothery
    @srothery
    Hi :) I'm new to FullMetalUpdate and was wondering if it supported arbitrary updates or is it currently only Qt applications and Tensor containers? Can I use it to update a docker container with say a node program in?
    gavilanes
    @gavilanes
    Hello to everyone! I am new too, I am using the fullmetalupdate demo server, but I still cannot push anything there since my yocti cannot open opendir(/ostree/repo). Where can I ask this technical question? everything seemed to be running ok.
    Cedric Vincent
    @cevincent
    Hi all! @srothery : you can update anything you can build with Yocto. The QT and Tensor containers are only examples.
    @gavilanes: Please drop us an issue on github with as much technical details as possible (version of Yocto, Hardware, Logs, ...)
    srothery
    @srothery
    @cevincent thanks - I'll take a look :)
    gavilanes
    @gavilanes
    @cevincent thank you very much! in the meantime i realized the problem and pushed the first container. Instead, can I ask you where can I find information about the communication between target and hawkbit server for updates? I dont know if I have missed something.
    Cedric Vincent
    @cevincent
    @gavilanes : I gave a talk on this topic last year at ELC, the presentation: https://elinux.org/images/c/cf/FullMetalUpdate_ELC_V1.pdf, the talk: https://www.youtube.com/watch?v=fqNlOVWOQiU
    gavilanes
    @gavilanes
    Hello Cedric, I saw your presentation, thank you! I was wondering the case in which a root file system is updated in the target and then system does not boot properly the next time due to the update. I still don't see this case considered in full metal update, is it? we are intending to deploy devices on field with no access to physical infrastructure, and the possibility to perform software container updates frequently and several rootfilesystem updates will be necessary during product cycle, so we need to consider that case.
    Cedric Vincent
    @cevincent
    @gavilanes : Hi, yes it is possible (ostree is kind of designed for that). We actually just finished the implementation and it's almost ready. We are finalizing the tests before we push to github, so it should be available soon. If you want to check how it's going to work: https://github.com/FullMetalUpdate/documentation/blob/master/rollback.md
    yes the doc is available before the feature :)
    gavilanes
    @gavilanes
    If I understand well, the automatic rollback is executed only if the new non-booted system crashes and reboots. But, what happens if the system hangs, so it is not rebooted, nor the fullmetal update client is yet loaded? might this happen? please excuse me if I have misinterpreted the documentation; but I would like to know how this case is possible and how can I address it if yes. Thank you.
    Antonin Godard
    @antznin
    Hi, yes, the rollback covers only the case of a system crash and reboot. Take a kernel panic for instance : the watchdog will make the system reset and the system will rollback at some point, if the system has failed five times. Unfortunately, if the system hangs at another stage, the system wouldn't rollback because the system hangs. However at this point there's hope that you can remotely access your system? Even if it's unlikely... In my (little :)) experience, I've seen the system crash at three stages :
    • during the kernel initialization, which the watchdog can handle
    • during ostree's initrd script, which I think the watchdog can handle too (I'll verify)
    • during systemd's initlialization which gets into emergency mode. at this point the system could indeed hang. but I just thought we could bypass that by customizing the emergency.service to reboot after some delay
      I hope that makes it clear.
    gavilanes
    @gavilanes
    Thank you so much for your answer!
    Antonin Godard
    @antznin
    My pleasure :)
    gavilanes
    @gavilanes
    Hello guys, from the demo, I do not know how to create new targets, since I have flashed two targets but hawkbit sees only one, and only one is updated. Thanks in advance.
    Antonin Godard
    @antznin

    Hi @gavilanes,
    If you want to add a new target to Hawkbit please follow these steps :

    • go to your cloud directory (fullmetalupdate-cloud-demo) and edit the ConfigureServer.sh file
    • copy the first paragraph of the file, beginning with # Set up a target..., and paste it right afterwards
    • then, you'd need to change securityToken, controllerId and name. For the last two, pick whatever you want. For the token, also pick whatever you want, or you can generate a token using date | md5sum, assuming you're on Linux
    • you should see a new target pop up on hawkbit. Now there are two solutions : either you configure the new credentials on your target directly, or you start a new build from yocto with the new credentials
    • on the target directly :
      • to change it on the target, first remount /usr as read-write by doing `mount -o remount,rw /usr'.
      • then, cd to where the config file is, that is either cd /usr/fullmetalupdate/rauc_hawkbitor cd /bin/fullmetalupdate/rauc-hawkbit
      • edit the config.cfg file using vi config.cfg, and fill in hawkbit_target_name and hawkbit_auth_token using what you have previously defined
      • finally, restart the client using systemctl restart fullmetalupdate. you should see the the ip of your target pop up in hawkbit, in the target's information panel
    • from yocto:
      • close any docker instanciation of fullmetalupdate/build-yocto if you have any
      • go to your build directory (fullmetalupdate-yocto-demo), remove the config.cfg file and edit config.cfg.sample
      • fill in hawkbit_target_name and hawkbit_auth_token using what you have previously defined
      • exit, and execute ./ConfigureBuild.sh (you need to have the server running)
      • you can now execute ./Startbuild.sh fullmetalupdate-os. It should build the fullmetalupdate client again. Then you can flash the new image to your target, that will contain the new credentials

    Thanks for reaching us, we should add this to the documentation.

    gavilanes
    @gavilanes
    Many thanks!
    Ken Davidson
    @kwdavidson
    Is it possible to use FMU on an x86 system? I know from presentations that that was one of the original goals, but I can't find additional information anywhere.
    Cedric Vincent
    @cevincent
    Hi Ken, yes it is possible (in fact we did it for one of our customers) but we don't have an official support. It is not on our roadmap but if you feel to add the support :), I can give you some pointers on how to get started.
    Ken Davidson
    @kwdavidson
    Anything you can throw my way would be greatly appreciated. I've been tasked with researching OTA updates for an embedded Linux device we're starting to work on, and FMU is a perfect solution. However, I've been having no end of problems trying to manually build an image for Raspberry Pi 3 so I can try things out. I have the server side working just fine on both Mac and Ubuntu platforms. The RPi3 image build process fails at various points depending on what I tweak. If you have a binary that can be posted, it would speed things up. Thanks for the response.
    meladon1337
    @meladon1337
    Can you guys please help me... :( when i run
    $ ./StartBuild.sh sync raspberrypi3 rocko dev
    i get:
      File "/data/yocto/.repo/repo/main.py", line 79
        file=sys.stderr)
            ^
    SyntaxError: invalid syntax
      File "/data/yocto/.repo/repo/main.py", line 79
        file=sys.stderr)
            ^
    SyntaxError: invalid syntax
    cp: cannot stat '/data/yocto/sources/meta-fullmetalupdate-extra/conf/raspberrypi3/*': No such file or directory
    /yocto-entrypoint.sh: line 187: sources/poky/oe-init-build-env: No such file or directory
    1 reply
    Kepbepos The Dog
    @yepke:matrix.org
    [m]
    hi all.
    i'm trying to follow https://www.fullmetalupdate.io/docs/documentation/ . Is it normal that I've to run /StartServer.sh or docker-compose up with root privilages? (sudo docker-compose up)
    and when i run StartBuild.sh sync raspberrypi3 rocko dev
    i got permission denied on docker.sock
    Kepbepos The Dog
    @yepke:matrix.org
    [m]
    [SOLVED]