Fundamental question about deployment of embedded linux systems
Hi all,
I am currently working on development of an embedded linux system and I am using a SOM from Emcraft - https://www.emcraft.com/products/777 for my development. Their boards come with an example project out of the box and they already have a file system, kernel image and a bootloader(uboot). Over time, I have set up the host PC and cross compiler, used their example project as a framework for my development, installed more things on top of it(eg. QT, serial port libraries etc) and have modified the initramfs file and thereby the file-system. In short, I've set-up the system so that it builds the kernel image(project.uImage), device tree blob(project.dtb) and a project.ubi file. Using u-boot, I then transfer these three files to my development board using tftp, and the board starts running my application instead of theirs, even on boot-up. This sets up the back-ground. Now to my main question: on my final product PCB, I am not going to have an ethernet port. In that case, how should I update the flash memory on the SOM? What would be the easiest way to do so? I am willing to include an SD card slot only for programming, but do not want to ship the product with it, so booting from SD card is not an option(unless it is just a one time thing, for programming). What I can do, is copying the contents of the SD card(which is the above three files) over to flash memory and then booting up from flash. Only question is, how do I do that(or is it even feasible)? Can u-boot copy contents from one place to other like that before booting? Your inputs would be very much appreciated. Thanks! |
Any interface to external memory (SD, USB, etc) would be good. U-boot supports a bunch of filesystem types, such as fat, ext, ubifs, jffs2, etc.
Consider to use barebox (https://www.barebox.org/) instead of u-boot. Barebox started as a fork of u-boot in which the barebox' team wanted to improve the flexibility of u-boot. For example, adding support for a new board can be quite hard in u-boot. You'll need more deep knowledge about your board and it's not just a matter of creating a board configuration. It also requires some extra coding. Also working with the u-boot shell can be quite complex for beginners. Barebox tackles these kind of issues by using proven concepts from Linux, such as devicetree support and an integrated unix-like shell. Anyway, do some googling and find out if it suits your dirty desires. |
Quote:
Quote:
Thanks! |
Quote:
Quote:
|
All times are GMT -5. The time now is 05:53 AM. |