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
Anonymous
Apololgies for the Anon post, I had previously logged in, but it did not appear to show on the site for some reason....
View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
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
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
Related
Feature Requests:
#51Thank 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
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:
#51Thank 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
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
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
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:
#51Changes to dtnperf were included in the 3.4.0 tweaks.