Page 1 of 1

Developing FriendlyCore

Posted: Mon Jun 25, 2018 12:12 pm
by ptz
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.

Re: Developing FriendlyCore

Posted: Tue Jun 26, 2018 4:55 am
by igorp
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/

Re: Developing FriendlyCore

Posted: Tue Jun 26, 2018 10:39 am
by ptz
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?

Re: Developing FriendlyCore

Posted: Tue Jun 26, 2018 11:17 am
by igorp
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.

Re: Developing FriendlyCore

Posted: Tue Jun 26, 2018 3:55 pm
by ptz
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.

Re: Developing FriendlyCore

Posted: Wed Jun 27, 2018 5:31 am
by auto3000
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.

Re: Developing FriendlyCore

Posted: Wed Jun 27, 2018 8:05 am
by igorp
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.

Re: Developing FriendlyCore

Posted: Wed Jun 27, 2018 10:42 am
by ptz
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.

Re: Developing FriendlyCore

Posted: Wed Jun 27, 2018 10:44 am
by ptz
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.