fiatlux/README.md
2021-08-28 23:48:01 +02:00

71 lines
1.3 KiB
Markdown

# fiatlux
### Cloning
```bash
git clone --recursive https://git.neulandlabor.de/j3d1/fiatlux.git
```
or after cloning normally
```bash
git submodule update --init --recursive
```
### Build Requirements
- make
- bash gawk perl
- g++ gcc
- libc6-dev
- flex bison
- automake autoconf
- gperf
- wget
- git
- bzip2 unzip zip unrar-free
- help2man texinfo
- libtool libtool-bin
- ncurses-dev libexpat-dev
- python3 python3-serial python-dev
- pip install websocket-client (for otaflash.py, optional)
### Build Steps
#### Workarounds for submodules
```bash
sed -i 's/GNU bash, version (3\\\.\[1-9\]|4)/GNU bash, version (3.[1-9]|4|5)/g' modules/sdk/crosstool-NG/configure.ac
mkdir -p modules/sdk/crosstool-NG/.build/tarballs
wget https://github.com/libexpat/libexpat/releases/download/R_2_1_0/expat-2.1.0.tar.gz -O modules/sdk/crosstool-NG/.build/tarballs/expat-2.1.0.tar.gz
```
#### Build Toolchain
```bash
make -C modules/sdk standalone=y -j$(nproc)
export PATH=$(pwd)/modules/sdk/xtensa-lx106-elf/bin:$PATH
```
#### Compile Firmware
```bash
make firmware -j$(nproc)
```
#### Flash
```bash
make flash
```
### Build Steps (using docker)
install `docker` on your platform and buil with
```bash
make firmware_docker -j$(nproc)
```
### Build Steps (using nixos)
In the project root run:
```
nix-shell --option sandbox false
make firmware -j$(nproc)
```