fiatlux/README.md
jedi 51ed3b3b1c
All checks were successful
continuous-integration/drone/push Build is passing
stash
2021-09-08 23:19:03 +02:00

88 lines
1.8 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)
```
>>> import htmlmin
>>> input_html = '''
<body style="background-color: tomato;">
<h1> htmlmin rocks</h1>
<pre>
and rolls
</pre>
</body>'''
>>> htmlmin.minify(input_html)
u' <body style="background-color: tomato;"> <h1> htmlmin rocks</h1> <pre>\n and rolls\n </pre> </body>'
>>> print htmlmin.minify(input_html)
<body style="background-color: tomato;"> <h1> htmlmin rocks</h1> <pre>
and rolls
</pre> </body>