Help with Cross Compile



  • Is there anyone in the community who understands how to build a complete OpenWRT factory default image for the Omega?

    I have successfully followed the Cross Compile wiki tutorial to build an image file, but its not clear to me exactly what this image is (i.e. generic OpenWRT? Omega factory default?). I would like to be able to build a fresh image, with the packages I choose and deploy the image myself.



  • @Mitch-Christensen This is something of along standing issue.
    I have successfully built an image file from the instructions at https://wiki.onion.io/Tutorials/Cross-Compile and have loaded it on to the Omega and it runs OK.

    However it is only a generic OpenWRT image and lacks all the Omega customisations.
    It has been requested of the Onion Omega people that they provide access to the repository used to build the Omega version rather than the repository git://git.openwrt.org/15.05/openwrt.git referenced in the above documentation.

    However, no response has been forthcoming on this.

    The only benefit I have had from using the instructions referenced above is to build additional .ipk packages that can be installed on the Omega using opkg



  • Thanks for responding. I'm in exactly the same boat.

    Any word from the Onion folks on this one? It seems like a reasonable ask.



  • @Kit-Bishop said in Help with Cross Compile:

    However it is only a generic OpenWRT image and lacks all the Omega customisations.
    It has been requested of the Onion Omega people that they provide access to the repository used to build the Omega version rather than the repository git://git.openwrt.org/15.05/openwrt.git referenced in the above documentation.

    Aparently you missed out the onionIO part (also mentioned in the Documentation):

    Step 3: Update Feeds
    
    Feeds are repositories of packages that can be added to the OpenWRT system. Feeds are configured in the feeds.conf.default file. Additional feeds can be added by editing this file. For example, to add the Onion packages, append the following line to the file:
    
    src-git onion https://github.com/OnionIoT/OpenWRT-Packages.git
    
    Save the feeds.conf.default file, and update the feeds:
    

    $ scripts/feeds update -a

    This will fetch all the repositories configured in the feeds.conf.default file.
    
    To install a package to the source we are about to compile, for example:
    

    $ scripts/feeds install python

    This downloads python to our source code tree, but doesn't compile the package by default.
    

    As I understand, when you want to customize the onion part you have to fork their git repo. (https://github.com/OnionIoT/OpenWRT-Packages) and delete the apps you don't want to have included. Then you include your repo. instead theirs.

    Their repo on github looks like exact as described here:

    Step 4: Modify Image
    
    Files in the package/base-file/files directory will be overwritten to the compiled image at the end of the compilation process.
    To add custom files to the compiled image, create a files folder in the buildroot directory.
    Files in this directory will supersede the files in the package/base-file/files directory.
    

    However, no response has been forthcoming on this.

    Probably issues have to be posted in Github. If someone can localize an error and found a workaround it should be proposed it as a "pull request" there. Sometimes if it comes from the openWRT repo we have to report there and not expect a solution from onion.io
    As long as ppl. not address the problem in clear words, and add the @administrators tag, the admins will not get alerted (top right) and probably not see the discussion.

    @Lazar-Demin mentioned in several requests that the whole "compile/cross compile/version mismatch" is not just a cut and past issue ... he promised to solve it after the campaign ... I'm sure we will hear soon from him about this ;)



  • @Luciano-S. No, I did not miss any of the parts of the documentation.

    I spent quite a lot of time with the feeds. I successfully included some of the OnionIO packages. I successfully built an image that included these packages and this image was capable of being installed and run on the Omega.

    However, it still lacked some of the Omega customisations. I would like to be able to build a direct equivalent of the image that gets installed when you do an oupdate of a release complete with all the customisations.

    I am aware of @Lazar-Demin 's comment about kernel version mismatches, but this is an issue that has been around for at least 9 months (well before any public knowledge of Omega2) and is a significant issue that I would have hoped would have been addressed earlier.

    While there is some relation between the kernel mismatch issue and the lack of information needed to build the official omega release image they are not the same issue:

    1. I can well believe that the kernel mismatch issue is not necessarily a straightforward cut and paste issue and needs further work.
    2. The issue about not being able to build the current Omega image requires two main things:
      • information about which packages in the referenced git://git.openwrt.org/15.05/openwrt.git repository should and/or should not be included
      • access to ALL Omega related packages and customisations which are not included in this repository

    The Omega people must have this information in order to be able to build the official release image. All that is requested is that the repository used to build the official Omeag release be made available (read only) then others could work with it and if needed feedback suggestions, changes etc.

    The Omega is supposed to be Open Source - so having access to all the relevant source code is essential.



  • @Kit-Bishop said in Help with Cross Compile:

    @Luciano-S. No, I did not miss any of the parts of the documentation.

    Good, this was not clear for me, then you mentioned 2 times the openWRT Repo and not that from Onioniot.

    The Omega is supposed to be Open Source - so having access to all the relevant source code is essential.

    With this i agree for the changes of files where they change from OpenWRT. Changed source code where is not their, they published in my opinion.

    In the other hand, everything where they develop on their own, not has to have the same license model and will not appear in the same repositories to protect their branded products.

    That' s why I propose again, do your own requests when you get a specific problem. Post error messages and address the packages. If exists a workaround from your side, pull-request it in github too. Just so we can help investigate and get there together where we ant to go. (Just whine about a deplorable and generalized state not solves it).

    In the end, the firmware from onion.io is and has to be very generic, to satisfy a wide range of Customers. They have a store where they sell additional products and for those they are obliged to give support (wiki) and drivers. The rest is up to us.

    p.s.
    We could do a wishlist for additions in newer firmware. Discuss in a separate request what is possible and what not... Maybe with the onin2 series we have 3 different configuration and this could make it necessary to do more then one firmware version?!



  • They will give answer, just not jet in this moment. How long the campaign is on it shows on the Kick-starter Page.



  • @Luciano-S. Thank you for your many and detailed contributions to the community posts - it's what a community is all about even if we disagree at times.

    First, let me say that I am a great fan of the Omega and think it is one of the best systems of its type - albeit with some short comings that need addressing. (I think my many posts and contributions attest to my support of the Omega)
    Also the Omega people are in general always very responsive and helpful with issues and this is much appreciated.

    I also agree that the best way for dealing with issues is:

    • report any problems with all pertinent details
    • ask if other community members have any thoughts and or/solutions
    • where possible and where sufficient information is available attempt to fix the issue oneself and contribute back the fixes by posting or (if possible) creating a pull request

    Some specific points in this communication:

    1. I most definitely am not whining about the state of affairs - my original post in this topic was not a complaint but rather a response about the current situation in reply to the original post by @Mitch-Christensen and I was indicating that not all information is currently available to do what he asked about.

    2. While the Omega itself is proprietary hardware, it has always been advertised as open source both in the the original and second kickstarters and on the web site. Consequently, one would expect all source to be available. If it's all available, there is more chance for community members to work on and contribute back fixes to outstanding issues

    3. Not all participants in the community have the necessary knowledge or skill sets to deal with all issues. The issue with kernel version mismatch falls in to this category - particularly with the lack of complete source information. But it is an issue that can cause a lot of people significant problems with being unable to install the packages they require with (usually) no obvious work around.
      As such I consider this a bit of a blocker issue in many cases and the fact that it has not been addressed yet reflects adversely on the value and utility of the Omega



  • @Kit-Bishop the last thing I want is to make you mad. I also appreciate your posts and try to show it when I'm up-vote them ;)
    The sentence i tried to exclude with brackets from the direct speech. So this about whining was not really addressed to you.
    Sorry if i offended you with that.

    It is late here ... i will probably come back to this post again a other time...



  • @Luciano-S. All Good :-)



  • I still would be happy if just the .config file used to build Omega release images was published, see my post from a while ago.

    Even if some packages were not available (@Kit-Bishop: which ones did you find missing? Back when I tried, the onion feed seemed pretty complete), the .config would help as a reference to get the rest of the package selection right.

    For the time being, I reverted to stock OpenWrt, adding only a few packages from the onion feed (such as the wifi related packages) - this works fine and is sufficient for my current project.

    But still it's a pity all the great work done by Omega regarding usability, apps, desktop etc. is not on board when doing it that way.



  • @Lukas-Zeller Totally Agree :-) The .config file would be a great start - along with easy access to ALL Omega specific customisations.
    While theoretically possible to deduce what packages should be included by comparing what you get with an official Omega release to what is available via menu config on the base OpenWRT stuff, it is a tedious process and doesn't necessarily supply what feeds should be used.

    I too just reverted to a stock vanilla OpenWRT version which does work but without Omega specific bits.



  • @Kit-Bishop said in Help with Cross Compile:

    I too just reverted to a stock vanilla OpenWRT version which does work but without Omega specific bits.

    Would it be possible to download it from somewhere? Ready to install without compiling first?



  • @Luciano-S. I could produce a stock vanilla OpenWRT version and put it on Git Hub if this would be of general use to you and other people.
    Though it would help to know what packages would be essential to you in such a version.
    Let me know and I'll see what I can do.



  • @Kit-Bishop said in Help with Cross Compile:

    @Luciano-S. I could produce a stock vanilla OpenWRT version and put it on Git Hub if this would be of general use to you and other people.

    For me would be ok for that what you have (if it not needs additional memory as USB etc.)... to play around and discover. I do have a Ethernet and relay expansion. As i do have 2 Omegas i could compare what fits better for me.

    Probably useful would be a editor as nano and python3-light.
    Til now i just had the omegas with the mini docks ... since view weeks i have the expansions.



  • @Luciano-S. OK. I will put something together and put it on git hub. Will post here when it's done


Log in to reply
 

Looks like your connection to Onion Community was lost, please wait while we try to reconnect.