Power & Source of Big Ideas

Developing FriendlyCore

Moderators: chensy, FATechsupport

I'm looking for some tips for development with FriendlyCore for the NanoPi NEO Core2-LTS. I don't have too much experience deploying embedded Linux, so my very basic (and rather generic) question is: what should my workflow be? How do I cross-compile custom applications for the processor on my (Ubuntu 16.04) machine? How do I create a full image that I can flash to the board? I read and followed the "Mainline U-boot and Linux" wiki, but it only tells me how to compile those components, not how to develop my own applications. I read the FriendlyCore wiki also, but it too doesn't seem to address my question, it's more of a documentation of the distro's features.

Thanks.
ptz wrote:
I'm looking for some tips for development with FriendlyCore for the NanoPi NEO Core2-LTS. I don't have too much experience deploying embedded Linux, so my very basic (and rather generic) question is: what should my workflow be? How do I cross-compile custom applications for the processor on my (Ubuntu 16.04) machine? How do I create a full image that I can flash to the board? I read and followed the "Mainline U-boot and Linux" wiki, but it only tells me how to compile those components, not how to develop my own applications. I read the FriendlyCore wiki also, but it too doesn't seem to address my question, it's more of a documentation of the distro's features.

Thanks.


Perhaps try community development engine. It is more user-friendly and it supports most of FriendlyElec boards:

https://github.com/armbian/build
https://docs.armbian.com/Developer-Guid ... eparation/
igorp wrote:

Perhaps try community development engine. It is more user-friendly and it supports most of FriendlyElec boards:

https://github.com/armbian/build
https://docs.armbian.com/Developer-Guid ... eparation/


Thanks, Igor. I was able to build an Armbian image, but my (again, generic) question still stands. If I want to develop, build and test my custom apps not on the target hardware, but on my development machine, how do I go about the development process? How do I include my apps in the image?
ptz wrote:
igorp wrote:
how do I go about the development process? How do I include my apps in the image?


Armbain is more or less plain Debian/Ubuntu so you can do all application testing in x86 virtual machines (I also do that way). When you are done, use this: https://docs.armbian.com/Developer-Guid ... ion-script

There is also one working example for a complex build - Openmediavault, which uses our base by default.
igorp wrote:
Armbain is more or less plain Debian/Ubuntu so you can do all application testing in x86 virtual machines (I also do that way). When you are done, use this: https://docs.armbian.com/Developer-Guid ... ion-script

There is also one working example for a complex build - Openmediavault, which uses our base by default.


I see.

And if my board were supported (which it isn't) in yocto/buildroot, I would also have that option, right? New to embedded Linux, as I said.
ptz wrote:
igorp wrote:
Armbain is more or less plain Debian/Ubuntu so you can do all application testing in x86 virtual machines (I also do that way). When you are done, use this: https://docs.armbian.com/Developer-Guid ... ion-script

There is also one working example for a complex build - Openmediavault, which uses our base by default.


I see.

And if my board were supported (which it isn't) in yocto/buildroot, I would also have that option, right? New to embedded Linux, as I said.


I'm using yocto for Nanopi development ; support for buildroot may exist too for Nanopi.

As explained by igorp, I started with ubuntu or armbian distribution on nanopi. Since I need to modify three or more components provided by the distribution (kernel config, audio subsystem replacement, boot order), I first started to tune the armbian/ubuntu distribution generation, but yocto is more scalable for the needs of my project. You can find my (somewhat complex) project at https://github.com/auto3000/pedalpi-dev-platform.
New to embedded Linux, as I said.


In general.Yocto or Buildroot are different, more complex build engines. You will need to invest a lot more time to get going ... Armbian is good for most general purpose cases, where you don't need deep control over packages/subsystems.

It really depends on your specifics needs.
auto3000 wrote:
I'm using yocto for Nanopi development ; support for buildroot may exist too for Nanopi.

As explained by igorp, I started with ubuntu or armbian distribution on nanopi. Since I need to modify three or more components provided by the distribution (kernel config, audio subsystem replacement, boot order), I first started to tune the armbian/ubuntu distribution generation, but yocto is more scalable for the needs of my project. You can find my (somewhat complex) project at https://github.com/auto3000/pedalpi-dev-platform.


Yes, you are right, I realize now that there is both yocto and buildroot support. I was erroneously under the impression that the board I was using (nanopi neo core2) was somehow different than the supported nanopi neo2, and now realized it was not. Thanks for the link.
igorp wrote:
In general.Yocto or Buildroot are different, more complex build engines. You will need to invest a lot more time to get going ... Armbian is good for most general purpose cases, where you don't need deep control over packages/subsystems.

It really depends on your specifics needs.


Thanks, I'll need to think about it. At least one thing points in the direction of yocto - I need a robust OTA update client, and a few of those I looked at integrate easily into a yocto build.

Who is online

In total there are 4 users online :: 0 registered, 0 hidden and 4 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 4 guests