# Building for raspberry pi or Jetson Nano

`bash pi_build.sh` using this helper script one can cross build libnd4j and dl4j with **arm COMPUTE LIBRARY** . it will download cross compiler and arm compute library.

| options      | value         | description                             |
| ------------ | ------------- | --------------------------------------- |
| -a or --arch | arm32         | cross compiles for pi/linux 32bit       |
| -a or --arch | arm64         | cross compiles for pi/linux 64bit       |
| -a or --arch | android-arm   | cross compiles for android 32bit        |
| -a or --arch | android-arm64 | cross compiles for android 64bit        |
| -a or --arch | jetson-arm64  | cross compiles for jetson nano 64bit    |
| -m or --mvn  |               | if provided will build dl4j using maven |

example:\
`bash pi_build.sh --arch android-arm64 --mvn`

to change version of the **arm COMPUTE LIBRARY** modify this line in the script

```
    ARMCOMPUTE_TAG=v20.05
```

## old one

Please follow following instructions to build nd4j for raspberry PI:

1. download cross compilation tools for Raspberry PI

   ```
    $ apt-get/yum install git cmake
    (You may substitute any path you prefer instead of $HOME/raspberrypi in the following two steps)
    $ mkdir $HOME/raspberrypi
    $ export RPI_HOME=$HOME/raspberrypi
    $ cd $RPI_HOME
    $ git clone git://github.com/raspberrypi/tools.git
    $ export PATH=$PATH:$RPI_HOME/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin
   ```
2. download deeplearning4j:

   ```
    $ cd $HOME
    $ git clone https://github.com/eclipse/deeplearning4j.git
   ```
3. build libnd4j:

   ```
    $ cd deeplearning4j/libnd4j
    $ ./buildnativeoperations.sh -o linux-armhf
   ```
4. build nd4j

   ```
    $ export LIBND4J_HOME=<pathTond4JNI>
    $ cd $HOME/deeplearning4j/nd4j
    $ mvn clean install -Djavacpp.platform=linux-armhf -Djavacpp.platform.compiler=$HOME/raspberrypi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -DskipTests  -Dmaven.javadoc.skip=true  -pl '!:nd4j-cuda-9.1,!:nd4j-cuda-9.1-platform,!:nd4j-tests'
   ```
