Difference between revisions of "Odroid"

From Free Pascal wiki
Jump to navigationJump to search
m
(16 intermediate revisions by 3 users not shown)
Line 12: Line 12:
  
 
* FPC 2.6.x
 
* FPC 2.6.x
As the provided Linux is ARMHF, standard FPC 2.6.x is not suitable (insufficient ARMHF support0. Perhaps the custom FPC 2.6.x from Raspbian could be used (haven't tried it)
+
As the provided Linux is ARMHF, standard FPC 2.6.x is not suitable (insufficient ARMHF support0. The included Xubuntu Linux probably supplies modified FPC 2.6.x+Lazarus (much like the Raspbian distribution).
  
 
* FPC trunk
 
* FPC trunk
Line 22: Line 22:
 
* Install prerequisites for Lazarus and subversion, e.g. something like:
 
* Install prerequisites for Lazarus and subversion, e.g. something like:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt-get install libgtk2.0-dev libgdk-pixbuf2.0-dev libpango1.0-dev subversion
+
sudo apt-get install build-essential libgtk2.0-dev libgdk-pixbuf2.0-dev libpango1.0-dev subversion
#build-essential may also be necessary
+
</syntaxhighlight>
</syntaxhighlight lang="bash">
 
 
* Download fpcup_linux_armhf (or perhaps fpcup_linux_arm) and fpcupodroid.ini into a directory (say ~)
 
* Download fpcup_linux_armhf (or perhaps fpcup_linux_arm) and fpcupodroid.ini into a directory (say ~)
 +
<syntaxhighlight lang="bash">
 +
cd ~
 +
wget https://bitbucket.org/reiniero/fpcup/downloads/fpcup_linux_armhf
 +
wget https://bitbucket.org/reiniero/fpcup/downloads/fpcupodroid.ini
 +
</syntaxhighlight>
 +
Note: you may need to edit fpcupodroid.ini. Please see warning below about what FPC/Lazarus revisions work.
 
* Make fpcup executable:
 
* Make fpcup executable:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 34: Line 39:
 
./fpcup_linux_armhf --inifile=fpcupodroid.ini #replace filename with proper name if different
 
./fpcup_linux_armhf --inifile=fpcupodroid.ini #replace filename with proper name if different
 
</syntaxhighlight>
 
</syntaxhighlight>
Use the same command for updating.
+
For a full make distclean/install etc session:
 +
<syntaxhighlight lang="bash">
 +
./fpcup_linux_armhf --inifile=fpcupodroid.ini --inisection=full #replace filename with proper name if different
 +
</syntaxhighlight>
  
 
fpcup will create desktop shortcuts etc. For more details, please see the [[fpcup]] wiki page.
 
fpcup will create desktop shortcuts etc. For more details, please see the [[fpcup]] wiki page.
  
Note: currently fpcup will do a make distclean before installing/updating, which may stress your memory card. Contributions for relevant settings in fpcupodroid.ini welcome.
+
You can also download and run fpcupgui next to fpcup in order to run fpcup via a GUI.
 +
 
 +
==== Notes ====
 +
{{Warning|Serious problems compiling with current (March 2014) FPC trunk.
 +
 
 +
* Please see e.g. http://www.mail-archive.com/fpc-pascal@lists.freepascal.org/msg36074.html
 +
* FPC revision r26550 together with Lazarus revision 43823 seems to work. Other versions may also work. Please use fpcrevision and lazrevision options; both when compiling fpcup and when using fpcup to compile FPC/Lazarus}}
 +
* currently fpcup will do a make distclean before installing/updating, which may stress your memory card. Experimental fix in [update] section (see above)... however, the creation of an intermediate ARMHF compiler in fpcup will probably still clean out e.g. the units directory (make cycleclean or something is called in the make script for the cross compiler).
 +
* (general fpcup problem) you may have to rebuild Lazarus yourself (Tools/Build Lazarus) to get all packages/controls fpcup installed for you.
 +
 
 +
== XU ==
 +
The Odroid XU can run e.g. Ubuntu.
 +
 
 +
Michel Catudal provides Ubuntu images that include Lazarus/FPC; see http://home.comcast.net/~mcatudal/
  
 +
''more details welcome''
  
 
== See also ==
 
== See also ==
* [[fpcup]] Main fpcup page. Details on settings, troubleshooting, bug reporting, cross compilers etc.
+
* [[fpcup]] Main fpcup page. Details on settings, [[Troubleshooting]], bug reporting, cross compilers etc.
 
* [[Lazarus on Raspberry Pi]] Raspbian also is ARMHF but has an older ARM processor architecture.
 
* [[Lazarus on Raspberry Pi]] Raspbian also is ARMHF but has an older ARM processor architecture.
  
 
[[Category:ARM]]
 
[[Category:ARM]]
 
[[Category:Linux]]
 
[[Category:Linux]]
[[Category:Installation]]
+
[[Category:Install]]
 
[[Category:Embedded]]
 
[[Category:Embedded]]
 
[[Category:Robotics]]
 
[[Category:Robotics]]

Revision as of 09:56, 20 October 2017

Overview

Odroid are ARM devices manufactured by HardKernel.

U2, U3

These devices contain a Samsung ARM chip

  • instruction set: ARMv7A
  • floating point coprocessor (FPU): VFPv3

Operating systems: Xubuntu (ARMHF; hardfloat), Android.

Installing FPC/Lazarus using fpcup

This section focuses on using Linux on the Odroids.

  • FPC 2.6.x

As the provided Linux is ARMHF, standard FPC 2.6.x is not suitable (insufficient ARMHF support0. The included Xubuntu Linux probably supplies modified FPC 2.6.x+Lazarus (much like the Raspbian distribution).

  • FPC trunk

The easiest way to install FPC trunk and Lazarus is to run fpcup which will use a 2.6.x bootstrap compiler to build a trunk ARMHF intermediate compiler. Now the regular FPC and Lazarus environments are built by fpcup.

Note that fpcup is a thin wrapper around the regular svn/make FPC/Lazarus install process, so if you're uncomfortable with this process, it may not be for you.

Instructions - to be run as a regular user:

  • Install prerequisites for Lazarus and subversion, e.g. something like:
sudo apt-get install build-essential libgtk2.0-dev libgdk-pixbuf2.0-dev libpango1.0-dev subversion
  • Download fpcup_linux_armhf (or perhaps fpcup_linux_arm) and fpcupodroid.ini into a directory (say ~)
cd ~
wget https://bitbucket.org/reiniero/fpcup/downloads/fpcup_linux_armhf
wget https://bitbucket.org/reiniero/fpcup/downloads/fpcupodroid.ini

Note: you may need to edit fpcupodroid.ini. Please see warning below about what FPC/Lazarus revisions work.

  • Make fpcup executable:
chmod ug+rx fpcup_linux_armhf #replace filename with proper name if different
  • Run fpcup, telling it to use the [General] profile in fpcupodroid.ini:
./fpcup_linux_armhf --inifile=fpcupodroid.ini #replace filename with proper name if different

For a full make distclean/install etc session:

./fpcup_linux_armhf --inifile=fpcupodroid.ini --inisection=full #replace filename with proper name if different

fpcup will create desktop shortcuts etc. For more details, please see the fpcup wiki page.

You can also download and run fpcupgui next to fpcup in order to run fpcup via a GUI.

Notes

Warning-icon.png

Warning: Serious problems compiling with current (March 2014) FPC trunk.

  • currently fpcup will do a make distclean before installing/updating, which may stress your memory card. Experimental fix in [update] section (see above)... however, the creation of an intermediate ARMHF compiler in fpcup will probably still clean out e.g. the units directory (make cycleclean or something is called in the make script for the cross compiler).
  • (general fpcup problem) you may have to rebuild Lazarus yourself (Tools/Build Lazarus) to get all packages/controls fpcup installed for you.
  • XU

    The Odroid XU can run e.g. Ubuntu.

    Michel Catudal provides Ubuntu images that include Lazarus/FPC; see http://home.comcast.net/~mcatudal/

    more details welcome

    See also