71 lines
1.3 KiB
Markdown
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)
|
|
```
|