Menu

#51 Latest 3.3.1 Source for ARMv7?

3.4.0
closed
None
5
2016-01-22
2015-11-23
Anonymous
No

Hi,

I am starting a research project to compare the energy consumption and bundle delivery profiles of ION, DTN2 and IBR-DTN. I am using the Raspberry Pi platform for cost reasons, but also because it is quite close to CubeSat hardware.

Please would you let me know if there is an ARM source available for v3.3.1, as the latest Debian Wheezy repository only has 3.0.1 and I would prefer to use the latest version. Also I cannot seem to find instructions for building an ARM version in the readme files, so I presume it is not in the latest tar file, but I am happy to be proven wrong :)

/proc/cpuinfo contains the following info BTW, if this helps.

model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Kind Regards,
Nik

Related

Feature Requests: #51

Discussion

  • Nik Ansell

    Nik Ansell - 2015-11-23

    Apololgies for the Anon post, I had previously logged in, but it did not appear to show on the site for some reason....

     
  • Anonymous

    Anonymous - 2015-11-23

    Sounds like a good project, Nik.

    The intent of the ION design is that the same source should build for all platforms. (In practice we don't fully follow through with this on all platforms due to limited interest and/or resources, but we don't fork off different source distributions for different platforms; it's just that we don't do comprehensive build/test/debug on some platforms that are currently out of our mainstream.) So the v3.3.1 source code that you'd download from here is what ought to build for your ARM platform.

    Now, how to go about actually building it is a different question. It would be good to include support for your system into the autotools scripting for the ION build, so that you could just do the usual ./configure and ./make, but I'm clueless about how that works; I expect you need a cross-compiler to be invoked, and I don't know what hooks are available to make that happen. I don't think this capability is going to be available any time soon.

    An alternative would be to build the individual packages of ION using platform-specific Makefiles in the package subdirectories, as briefly discussed in the README file in the ION top-level directory. There actually isn't much in ION (that I can think of) that is specific to any particular processor; for ION, "platform" really means operating system and word size. What O/S are you running on your ARM?
    The closest thing to what you're doing may be the arm-uClibc Makefiles. In the arch-uClibc subdirectory of the ION top-level directory there's a PDF containing a sort of recipe for using these things. Give that a try?

    Sorry, this is bound to be somewhat painful. Please post more discussion notes here if you find things that don't work or that work more easily than you expected.

    Scott

     
    • Hans Kruse

      Hans Kruse - 2015-11-23

      Since the Raspberry Pi runs pretty much stock Linux, doing a standard build on the platform itself should work (as long as one is patient, this will be slow). DTN2 has instructions for cross-compiling on a faster machine, which one of my students got to work. We have not tried that route with ION.

      Hans Kruse, Professor and Director
      J. Warren McClure School of Information and Telecommunication Systems
      Adjunct Associate Professor of Electrical Engineering and Computer Science
      367 Schoonover Center, Ohio University, Athens, OH, 45701
      740-593-4891 voice, 740-593-4889 fax

      On Nov 23, 2015, at 11:03, noreply@in.sf.net wrote:

      Sounds like a good project, Nik.

      The intent of the ION design is that the same source should build for all platforms. (In practice we don't fully follow through with this on all platforms due to limited interest and/or resources, but we don't fork off different source distributions for different platforms; it's just that we don't do comprehensive build/test/debug on some platforms that are currently out of our mainstream.) So the v3.3.1 source code that you'd download from here is what ought to build for your ARM platform.

      Now, how to go about actually building it is a different question. It would be good to include support for your system into the autotools scripting for the ION build, so that you could just do the usual ./configure and ./make, but I'm clueless about how that works; I expect you need a cross-compiler to be invoked, and I don't know what hooks are available to make that happen. I don't think this capability is going to be available any time soon.

      An alternative would be to build the individual packages of ION using platform-specific Makefiles in the package subdirectories, as briefly discussed in the README file in the ION top-level directory. There actually isn't much in ION (that I can think of) that is specific to any particular processor; for ION, "platform" really means operating system and word size. What O/S are you running on your ARM?
      The closest thing to what you're doing may be the arm-uClibc Makefiles. In the arch-uClibc subdirectory of the ION top-level directory there's a PDF containing a sort of recipe for using these things. Give that a try?

      Sorry, this is bound to be somewhat painful. Please post more discussion notes here if you find things that don't work or that work more easily than you expected.

      Scott

      [feature-requests:#51] http://sourceforge.net/p/ion-dtn/feature-requests/51/ Latest 3.3.1 Source for ARMv7?

      Status: open
      Group: 3.4.1
      Created: Mon Nov 23, 2015 01:40 PM UTC by Anonymous
      Last Updated: Mon Nov 23, 2015 04:02 PM UTC
      Owner: nobody

      Hi,

      I am starting a research project to compare the energy consumption and bundle delivery profiles of ION, DTN2 and IBR-DTN. I am using the Raspberry Pi platform for cost reasons, but also because it is quite close to CubeSat hardware.

      Please would you let me know if there is an ARM source available for v3.3.1, as the latest Debian Wheezy repository only has 3.0.1 and I would prefer to use the latest version. Also I cannot seem to find instructions for building an ARM version in the readme files, so I presume it is not in the latest tar file, but I am happy to be proven wrong :)

      /proc/cpuinfo contains the following info BTW, if this helps.

      model name : ARMv7 Processor rev 5 (v7l)
      BogoMIPS : 38.40
      Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant : 0x0
      CPU part : 0xc07
      CPU revision : 5

      Kind Regards,
      Nik

      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/ion-dtn/feature-requests/51/ https://sourceforge.net/p/ion-dtn/feature-requests/51/
      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #51

  • Nik Ansell

    Nik Ansell - 2015-11-24

    Thank you Scott and Hans for your kind (and surpisingly quick) replies :)

    I am using Rasbian, which is a customized Debian wheezy build from what I can gather.

    When I first read through the Makefiles, I noticed only i86-redhat, i86_64-fedora, sparc-sol9 and i86-freebsd were mentioned as PLATFORMS, so presumed it was not possible to build on the ARM platform.

    However, based on your comments, it sounds like the i86-redhat build may be suitable, which is great news! I will try the usual route (./configure ./make install) and see how I get on, failing that I will try the manual build of ici, ltp etc using the instructions in the documentation.

    If I discover anything interesting, I will post back and let you know.
    Thanks again!

    Kind Regards,
    Nik

     
    • Scott Burleigh

      Scott Burleigh - 2015-11-24

      Nik, if you are using Raspbian you might want to ask Mac Cody if he's got any helpful hints you could use. He was doing a lot of experimentation with different operating systems on the Pi back in August; if you look at the archives for the ion-users mailing list (ion-users@ocp.ohiou.eduion-users@ocp.ohiou.edu) starting about August 24 you'll get a sense of what he found.

      And I would suggest that you subscribe to that mailing list as well. We will eventually migrate all the subscribers on that list to the list supported by our SourceForge site (and I understand the Forum on that site is now enabled as well), but in the meantime that list has been where most conversation regarding ION has been happening.

      Scott

      From: Nik Ansell [mailto:gamecat69@users.sf.net]
      Sent: Monday, November 23, 2015 8:16 PM
      To: [ion-dtn:feature-requests] 51@feature-requests.ion-dtn.p.re.sf.net
      Subject: [ion-dtn:feature-requests] #51 Latest 3.3.1 Source for ARMv7?

      Thank you Scott and Hans for your kind (and surpisingly quick) replies :)

      I am using Rasbian, which is a customized Debian wheezy build from what I can gather.

      When I first read through the Makefiles, I noticed only i86-redhat, i86_64-fedora, sparc-sol9 and i86-freebsd were mentioned as PLATFORMS, so presumed it was not possible to build on the ARM platform.

      However, based on your comments, it sounds like the i86-redhat build may be suitable, which is great news! I will try the usual route (./configure ./make install) and see how I get on, failing that I will try the manual build of ici, ltp etc using the instructions in the documentation.

      If I discover anything interesting, I will post back and let you know.
      Thanks again!

      Kind Regards,
      Nik


      [feature-requests:#51]http://sourceforge.net/p/ion-dtn/feature-requests/51/ Latest 3.3.1 Source for ARMv7?

      Status: open
      Group: 3.4.1
      Created: Mon Nov 23, 2015 01:40 PM UTC by Anonymous
      Last Updated: Mon Nov 23, 2015 04:02 PM UTC
      Owner: nobody

      Hi,

      I am starting a research project to compare the energy consumption and bundle delivery profiles of ION, DTN2 and IBR-DTN. I am using the Raspberry Pi platform for cost reasons, but also because it is quite close to CubeSat hardware.

      Please would you let me know if there is an ARM source available for v3.3.1, as the latest Debian Wheezy repository only has 3.0.1 and I would prefer to use the latest version. Also I cannot seem to find instructions for building an ARM version in the readme files, so I presume it is not in the latest tar file, but I am happy to be proven wrong :)

      /proc/cpuinfo contains the following info BTW, if this helps.

      model name : ARMv7 Processor rev 5 (v7l)
      BogoMIPS : 38.40
      Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant : 0x0
      CPU part : 0xc07
      CPU revision : 5

      Kind Regards,
      Nik


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/ion-dtn/feature-requests/51/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #51

      • Nik Ansell

        Nik Ansell - 2015-11-25

        Thank you for the info Scott.

        I had a read through the info in August, it was really useful. I also posted to the list in the hope Mac is still reading it :).

        My progress so far has been a successful installation using ./configure and make. I conducted a few test, which so far has been hit and miss.

        After reading the posts from you, Mac and others I see that Raspbian may be problematic and perhaps Arch or Pidora may be worth trying. However it looks like support for Pidora is fading.
        I will next attempt to build on Arch Linux to see if any more of the tests pass and post back on my progress.

        Kind Regards,
        Nik

         
  • Nik Ansell

    Nik Ansell - 2015-11-25

    Hello Again, a quick update.

    I have been running tests using runtests. Like Mac Cody I found that bpchat hangs, so I disabled it with chmod -x on the dotests file. Below are the final test results for a Raspberry Pi 2 Model B, Raspbian.

    passed: 67
    1000.loopback
    1003.loopback-sdr
    1010.pingpong-ct
    1300.loopback-tcp
    1500.loopback-brs
    asymmetric-range
    bpacs/700.expired-id
    bping
    bpstats2
    bssp
    bssp-planrule
    bug-0001-cgr-loopback
    bug-0002-cgr-recompute
    bug-0007-ionadmin-duplicate-contacts
    bug-0008-limbo-bpclock-use-after-free
    bug-0009-tcpclo-fixes
    bug-0015-tcpclo-bpcp-sig-handling
    cgr-test
    contact-volume/ltp-loopback
    contact-volume/udp-loopback
    ipn-null-eid
    issue-101-add-aoslso
    issue-132-udplso-tx-rate-limit
    issue-188-common-cos-syntax
    issue-196-checkforcongestion-looping
    issue-234-235
    issue-236-src-eid-trunc
    issue-253-tcpcl-keepalive
    issue-264-ltp-blksize
    issue-276-loopback-range
    issue-279-bpMemo-timeline
    issue-282-ltp
    issue-285-286-segfaults
    issue-302-fast-structures
    issue-303-green-sessions
    issue-306-congestion-forecasting
    issue-313-overlapping-memcpy
    issue-323-congestion-forecasting-overflow
    issue-324-ltp-files
    issue-325-329-critical
    issue-325-329-fragmentation
    issue-333-cfdp-orig-ID-type
    issue-334-cfdp-transaction-id
    issue-344-bpsource-ttl
    issue-347-tcpcl-reconnection
    issue-352-bpcp
    issue-358-cfdp-inactivity
    issue-364-dtpc
    limbo
    ltp-green
    ltp-purge
    ltp-retransmission
    req-0001-payload-classes
    req-0002-bundle-age
    req-0019-bibe
    req-0022-reversibility/loopback
    req-0022-reversibility/reversibilityCheck1
    req-0022-reversibility/reversibilityCheck2
    sbsp/bsp-all-multinode-test
    sbsp/bsp-bab-multinode-test
    sbsp/bsp-bcb-multinode-test
    sbsp/bsp-bib-multinode-test
    status-rpts
    stewardship
    tcpcl-dos
    transaction_reversibility/loopback
    transaction_reversibility/reversibilityCheck2

    failed: 10
    bpacs/100.receive-bpacs
    bpacs/110.receive-lots-bpacs
    bpacs/400.send-many-bpacs
    bpacs/500.send-by-size
    issue-265-bpdriver-ttl-option
    issue-319-parseSocketSpec
    linking
    ltp-sda
    req-0003-multicast
    sbsp/bsp-multinode-test

    skipped: 24
    1001.sysctl-script
    1002.loopback-valgrind
    1021.dynamic-ep-valgrind
    bpchat
    bsp/100.bsp-bab-phn-udp
    bsp/100.bsp-pcb-phn-udp
    bsp/100.bsp-pib-phn-udp
    bsp/105-106-bei
    bsp/bsp-all-multinode-test
    bsp/bsp-bab-multinode-test
    bsp/bsp-multinode-test
    bsp/bsp-pcb-multinode-test
    bsp/bsp-pib-multinode-test
    dtka
    issue-245-contactrangewildcard
    issue-260-teach-valgrind-mtake
    issue-330-cfdpclock-FDU-removal
    loopback-bp-dccp
    loopback-ltp-dccp
    sbsp/100.bsp-bab-phn-udp
    sbsp/100.bsp-bcb-phn-udp
    sbsp/100.bsp-bib-phn-udp
    sbsp/105-106-bei
    transaction_reversibility/reversibilityCheck1

     
  • Nik Ansell

    Nik Ansell - 2015-11-25

    I have successfully built ion-3.3.1 on the arm7 Arch Linux build on another Raspberry Pi 2 Model B.
    Interestingly the bpchat test that hung on a Rasbian build completed but failed.
    I now plan to run the rest the of the tests for a comparison.

    I did find 2 minor problems, but luckily developed a simple fix. I thought you may want info on the fix for yoru records, info below.

    After ./configure and while running make I received the following 2 errors:
    dtnperf/dtnperf/src/dtnperf_modes/dtnperf_monitor.c:156:74: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
    if (perf_opt->eid_format_forced == 'D' && !perf_opt->bp_implementation == BP_DTN)

    dtnperf/dtnperf/src/dtnperf_modes/dtnperf_monitor.c:158:79: error: comparison of constant '2' with boolean expression is always false [-Werror=bool-compare]
    else if (perf_opt->eid_format_forced == 'I' && !perf_opt->bp_implementation == BP_ION)

    I managed to work around the problem by making two minor changes to the file concerned. I commented out the original line for comparison.

    Fix1:
    //if (perf_opt->eid_format_forced == 'D' && !perf_opt->bp_implementation == BP_DTN)
    if (perf_opt->eid_format_forced == 'D' && perf_opt->bp_implementation != BP_DTN)

    Fix2:
    //else if (perf_opt->eid_format_forced == 'I' && !perf_opt->bp_implementation == BP_ION)
    else if (perf_opt->eid_format_forced == 'I' && perf_opt->bp_implementation != BP_ION)

    Kind Regards,
    Nik

     
    • Scott Burleigh

      Scott Burleigh - 2015-11-25

      Nik, thanks for those fixes. There will be an updated version of DTNperf included in the ION 3.4.0 release (coming soon) and we'll make sure these lines are correct in that version.

      Scott

      From: Nik Ansell [mailto:gamecat69@users.sf.net]
      Sent: Wednesday, November 25, 2015 8:57 AM
      To: [ion-dtn:feature-requests] 51@feature-requests.ion-dtn.p.re.sf.net
      Subject: [ion-dtn:feature-requests] #51 Latest 3.3.1 Source for ARMv7?

      I have successfully built ion-3.3.1 on the arm7 Arch Linux build on another Raspberry Pi 2 Model B.
      Interestingly the bpchat test that hung on a Rasbian build completed but failed.
      I now plan to run the rest the of the tests for a comparison.

      I did find 2 minor problems, but luckily developed a simple fix. I thought you may want info on the fix for yoru records, info below.

      After ./configure and while running make I received the following 2 errors:
      dtnperf/dtnperf/src/dtnperf_modes/dtnperf_monitor.c:156:74: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
      if (perf_opt->eid_format_forced == 'D' && !perf_opt->bp_implementation == BP_DTN)

      dtnperf/dtnperf/src/dtnperf_modes/dtnperf_monitor.c:158:79: error: comparison of constant '2' with boolean expression is always false [-Werror=bool-compare]
      else if (perf_opt->eid_format_forced == 'I' && !perf_opt->bp_implementation == BP_ION)

      I managed to work around the problem by making two minor changes to the file concerned. I commented out the original line for comparison.

      Fix1:
      //if (perf_opt->eid_format_forced == 'D' && !perf_opt->bp_implementation == BP_DTN)
      if (perf_opt->eid_format_forced == 'D' && perf_opt->bp_implementation != BP_DTN)

      Fix2:
      //else if (perf_opt->eid_format_forced == 'I' && !perf_opt->bp_implementation == BP_ION)
      else if (perf_opt->eid_format_forced == 'I' && perf_opt->bp_implementation != BP_ION)

      Kind Regards,
      Nik


      [feature-requests:#51]http://sourceforge.net/p/ion-dtn/feature-requests/51/ Latest 3.3.1 Source for ARMv7?

      Status: open
      Group: 3.4.1
      Created: Mon Nov 23, 2015 01:40 PM UTC by Anonymous
      Last Updated: Wed Nov 25, 2015 04:51 PM UTC
      Owner: nobody

      Hi,

      I am starting a research project to compare the energy consumption and bundle delivery profiles of ION, DTN2 and IBR-DTN. I am using the Raspberry Pi platform for cost reasons, but also because it is quite close to CubeSat hardware.

      Please would you let me know if there is an ARM source available for v3.3.1, as the latest Debian Wheezy repository only has 3.0.1 and I would prefer to use the latest version. Also I cannot seem to find instructions for building an ARM version in the readme files, so I presume it is not in the latest tar file, but I am happy to be proven wrong :)

      /proc/cpuinfo contains the following info BTW, if this helps.

      model name : ARMv7 Processor rev 5 (v7l)
      BogoMIPS : 38.40
      Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant : 0x0
      CPU part : 0xc07
      CPU revision : 5

      Kind Regards,
      Nik


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/ion-dtn/feature-requests/51/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #51

  • Scott Burleigh

    Scott Burleigh - 2016-01-22
    • status: open --> accepted
    • assigned_to: Scott Burleigh
     
  • Scott Burleigh

    Scott Burleigh - 2016-01-22
    • status: accepted --> closed
    • Group: 3.4.1 --> 3.4.0
     
  • Scott Burleigh

    Scott Burleigh - 2016-01-22

    Changes to dtnperf were included in the 3.4.0 tweaks.

     

Anonymous
Anonymous

Add attachments
Cancel