Author Topic: Methods for updating a running system  (Read 87 times)

r.brue

  • Active Member
  • *
  • Posts: 7
Methods for updating a running system
« on: February 12, 2021, 10:57:20 AM »
Hi, I have a running Petalinux system (TE0820) on a SD card.

The SD card has two partitions:

  • FAT32 (boot), which contains the BOOT.BIN and the image.ub;
  • EXT4 (rootfs), which contains all the extracted rootfs.tar.gz file.

I've generated the BOOT.BIN file using the following command:

Code: [Select]
petalinux-package --boot --format BIN --force --fsbl images/linux/zynqmp_fsbl.elf --fpga ./bitstreams/my_fpga.bit --u-boot --kernel
Now I've two questions:

Firstly, I've to move the system from the SD card to the internal flash, how can I do that?
Secondly, I've to add the possibility to update a running system in terms of bitstream and internal Linux services.
Because for updating the Linux services could be easy (I think that a SSH connection in order to update the binaries could be enough), I would like to know how I can update the "embedded" bitstream file which is inside my BOOT.BIN file in the boot partition.

Do you suggest to rewrite completely the internal flash? How can I perform such update? It is possible to rewrite the entire flash with a new system image through the ethernet port? Which documentation do I have to follow for such goals?

 PS: The system is running on a custom carrier board with both Ethernet and SD card access.

Thank you.

JH

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1561
Re: Methods for updating a running system
« Reply #1 on: February 22, 2021, 07:09:38 AM »
Hi,

Quote
Firstly, I've to move the system from the SD card to the internal flash, how can I do that?
Program QSPI Flash with the same Boot.bin
See references https://wiki.trenz-electronic.de/display/PD/Xilinx+Development+Tools#XilinxDevelopmentTools-XilinxSoftwareProgrammingandDebugging

Note: with 2020.x pay attention with boot.scr files which is new

Quote
Do you suggest to rewrite completely the internal flash? How can I perform such update? It is possible to rewrite the entire flash with a new system image through the ethernet port? Which documentation do I have to follow for such goals?
You can use linux to write predefined partitions in the flash, we add a example to our reference designs, where you can do this via ETH:
https://wiki.trenz-electronic.de/display/PD/TE0820+Test+Board
https://wiki.trenz-electronic.de/display/PD/TE0820+Test+Board#TE0820TestBoard-webfwu
https://wiki.trenz-electronic.de/display/PD/TE0820+Test+Board#TE0820TestBoard-Usage
-->  insert IP from TE0820 on web browser to start web interface which has simple gui to write partitions.
Prebuilt binaries and source code is include, so you can change to you needs.

br
John