Another Update Package Yaaay #9

Merged
gaisser merged 21 commits from mueller/yet-another-update-package-nice into master 2021-05-25 14:55:42 +02:00
11 changed files with 110 additions and 4 deletions
.dockerignore
bsp_hosted
bsp_linux
bsp_stm32_freertos
cmake/scripts
BeagleBoneBlack
RPi
doc
docker-compose.ymlfsfwfsfw_hal
generators

6
.dockerignore Normal file

@ -0,0 +1,6 @@
/build*
generators
misc
tmtc
doc

18
bsp_hosted/Dockerfile Normal file

@ -0,0 +1,18 @@
FROM ubuntu:latest
# FROM alpine:latest
RUN apt-get update && apt-get install -y cmake g++
# RUN apk add cmake make g++
WORKDIR /usr/src/app
COPY . .
RUN set -ex; \
rm -rf build-hosted; \
mkdir build-hosted; \
cd build-hosted; \
cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=host ..;
ENTRYPOINT ["cmake", "--build", "build-hosted"]
CMD ["-j"]
# CMD ["bash"]

18
bsp_linux/Dockerfile Normal file

@ -0,0 +1,18 @@
FROM ubuntu:latest
# FROM alpine:latest
RUN apt-get update && apt-get install -y cmake g++
# RUN apk add cmake make g++
WORKDIR /usr/src/app
COPY . .
RUN set -ex; \
rm -rf build-linux; \
mkdir build-linux; \
cd build-linux; \
cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=linux ..;
ENTRYPOINT ["cmake", "--build", "build-linux"]
CMD ["-j"]
# CMD ["bash"]

@ -0,0 +1,41 @@
# Specify the cross compiler version
# See: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT="10.2.1-1.1.2"
# Stage 0
# FROM node:current-alpine3.13
FROM node:latest
# Issues with XPM cross-compiler on alpine..
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT
ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT
RUN npm install --global xpm@latest; \
xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@${XPM_ARM_XCOMPILER_VERSION}
# Stage 1
FROM ubuntu:latest
# FROM alpine:latest
COPY --from=0 /root/.local/xPacks/@xpack-dev-tools /usr/tools/
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT
ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT
RUN echo ${XPM_ARM_XCOMPILER_VERSION}
RUN apt-get update && apt-get install -y cmake g++
# RUN apk add cmake make g++
ENV PATH="/usr/tools/arm-none-eabi-gcc/${XPM_ARM_XCOMPILER_VERSION}/.content/bin:${PATH}"
WORKDIR /usr/src/app
COPY . .
RUN set -ex; \
rm -rf build-freertos; \
mkdir build-freertos; \
cd build-freertos; \
cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=freertos -DTGT_BSP=arm/stm32h743zi-nucleo ..;
ENTRYPOINT ["cmake", "--build", "build-freertos"]
CMD ["-j"]
# CMD ["bash"]

@ -84,6 +84,12 @@ toolchain binaries are added to the path accordingly.
wget https://github.com/Pro/raspi-toolchain/releases/latest/download/raspi-toolchain.tar.gz wget https://github.com/Pro/raspi-toolchain/releases/latest/download/raspi-toolchain.tar.gz
``` ```
Then extract to the opt folder:
```sh
sudo tar xfz raspi-toolchain.tar.gz --strip-components=1 -C /opt
```
Please note that this version of the toolchain might become obsolete in the future. Please note that this version of the toolchain might become obsolete in the future.
If another toolchain installation is used, it is still recommended to unpack the toolchain in the If another toolchain installation is used, it is still recommended to unpack the toolchain in the
`/opt/cross-pi-gcc` folder so that the Eclipse configuration and helper `/opt/cross-pi-gcc` folder so that the Eclipse configuration and helper
@ -123,7 +129,7 @@ toolchain binaries are added to the path accordingly.
`$HOME/raspberrypi/rootfs`. `$HOME/raspberrypi/rootfs`.
```sh ```sh
rsync -avHAXR --numeric-ids --info=progress2 <username>@<ip-address>:/{lib,usr} <rootfs-path> rsync -avHAXR --numeric-ids --info=progress2 <username>@<ip-address>:/{lib,usr,opt/vc/lib} <rootfs-path>
``` ```
On Linux, it is recommended to repair some symlinks which can be problematic: On Linux, it is recommended to repair some symlinks which can be problematic:

17
docker-compose.yml Normal file

@ -0,0 +1,17 @@
version: "3.8"
services:
build-linux:
build:
context: .
dockerfile: bsp_linux/Dockerfile
build-host:
build:
context: .
dockerfile: bsp_hosted/Dockerfile
build-freertos:
build:
context: .
dockerfile: bsp_stm32_freertos/Dockerfile

2
fsfw

Submodule fsfw updated: ff6b4134a5...f3d9fb645e