Skip to content

Commit 4326c5f

Browse files
authored
Merge pull request #124 from bcmi-labs/build-on-arm
Documented how to build from sources on ARM Linux.
2 parents 3082b3d + 20bd7bc commit 4326c5f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

docs/internal/Arm.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
### Building from the sources on Linux ARM
2+
3+
Building the Pro IDE on Linux `armv7l` (aka `armhf`) and `aarch64` (aka `arm64`):
4+
5+
1. Install Node.js 10.x with [nvm](https://github.com/nvm-sh/nvm#install--update-script):
6+
```
7+
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
8+
```
9+
Restart your shell then:
10+
```
11+
nvm install 10.15.3
12+
nvm use 10.15.3
13+
```
14+
Verify:
15+
```
16+
node -v
17+
v10.15.3
18+
```
19+
20+
2. Install [Yarn](https://classic.yarnpkg.com/en/docs/install/#debian-stable):
21+
22+
Configure the Debian package repository; otherwise, you will pull a different `yarn`.
23+
```
24+
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
25+
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
26+
```
27+
Install:
28+
```
29+
sudo apt update && sudo apt install --no-install-recommends yarn
30+
```
31+
Verify:
32+
```
33+
yarn -v
34+
1.22.4
35+
```
36+
37+
3. Other native [dependencies](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites):
38+
- `make`,
39+
- `gcc`,
40+
- `pkg-config`,
41+
- `build-essential`,
42+
- `libx11-dev`, and
43+
- `libxkbfile-dev`
44+
45+
4. [Build it](https://github.com/bcmi-labs/arduino-editor#build-from-source) from the source:
46+
```
47+
git clone https://github.com/bcmi-labs/arduino-editor.git \
48+
&& cd arduino-editor \
49+
&& yarn \
50+
&& yarn rebuild:electron \
51+
&& yarn --cwd ./electron-app start
52+
```
53+
54+
5. Troubleshoot
55+
56+
If you see [`ENOSPC` errors](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#linux) at runtime, increase the default `inotify` watches:
57+
```
58+
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
59+
```

0 commit comments

Comments
 (0)