Skip to content

Commit

Permalink
Add scarthgap
Browse files Browse the repository at this point in the history
  • Loading branch information
carlesfernandez committed Apr 12, 2024
1 parent a896985 commit aeae7d3
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

ARG base_image_version=1.7
FROM yocto-geniux-base:v${base_image_version}
LABEL version="3.0" description="Geniux builder" maintainer="[email protected]"
LABEL version="3.2" description="Geniux builder" maintainer="[email protected]"

ARG version=dunfell
ARG manifest_date=latest
Expand Down
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ Usage:
Options:
version Geniux version (from oldest to most recent):
rocko, sumo, thud, warrior, zeus, dunfell, gatesgarth,
hardknott, honister, kirkstone, langdale, mickledore, nanbield. Default: dunfell
rocko, sumo, thud, warrior, zeus, dunfell, gatesgarth, hardknott,
honister, kirkstone, langdale, mickledore, nanbield, scarthgap. Default: dunfell
Check available branches at https://github.com/carlesfernandez/meta-gnss-sdr
manifest Geniux version manifest: 21.02, 21.08, 22.02, 22.06, 23.04, 24.02, latest. Default: latest
Dated manifests available at https://github.com/carlesfernandez/oe-gnss-sdr-manifest/tags
Expand Down Expand Up @@ -171,6 +171,13 @@ Examples of usage:
$ ./geniux-builder.sh langdale latest raspberrypi4-64
```

- Build Geniux release `scarthgap`, with manifest date `latest`, only for machine
`raspberrypi5`:

```
$ ./geniux-builder.sh langdale latest raspberrypi5
```

At the end of the building process, the output products will be placed in a
folder named `./$version/output_$machine` under the `yocto-geniux` base path,
and copied to `$GENIUX_STORE_PATH` if that environment variable is defined.
Expand Down
101 changes: 101 additions & 0 deletions base-image/Dockerfile3
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# SPDX-FileCopyrightText: 2023, Carles Fernandez-Prades <[email protected]>
# SPDX-License-Identifier: MIT
#
# Yocto Geniux base image to help building Geniux.

FROM ubuntu:22.04
LABEL version="3.0" description="Yocto Geniux base image" maintainer="[email protected]"


RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
apt \
apt-transport-https \
autoconf \
automake \
build-essential \
bison \
ca-certificates \
chrpath \
cpio \
curl \
debianutils \
diffstat \
file \
flex \
gawk \
gcc \
git \
git-lfs \
gnupg \
gzip \
iproute2 \
iputils-ping \
libacl1 \
libegl1-mesa \
liblz4-tool \
libncurses5-dev \
libselinux1 \
libssl-dev \
libsdl1.2-dev \
libtool \
locales \
mesa-common-dev \
net-tools \
passwd \
pax \
pylint \
python3 \
python3-git \
python3-jinja2 \
python3-pexpect \
python3-pip \
python3-subunit \
screen \
socat \
sudo \
tftpd \
tar \
texinfo \
unzip \
wget \
whois \
xterm \
xxd \
xz-utils \
zlib1g-dev \
zstd \
nano \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# Install docker and upgrade packages
RUN apt-get update && install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
DEBIAN_FRONTEND=noninteractive apt-get -y upgrade && \
apt-get clean && rm -rf /var/lib/apt/lists/*

# Build and install Python 3.11, required by repo
RUN wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz \
&& tar -xf Python-3.11.*.tgz && cd Python-3.11.*/ \
&& ./configure --enable-optimizations && make && make altinstall \
&& cd .. && rm Python-3.11.*.tgz && rm -rf Python-3.11.*/

# By default, Ubuntu uses dash as an alias for sh. Dash does not support the
# source command needed for setting up Yocto build environments. Use bash as an
# alias for sh.
RUN which dash &> /dev/null && (\
echo "dash dash/sh boolean false" | debconf-set-selections && \
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash) || \
echo "Skipping dash reconfigure (not applicable)"

# Set the locale to en_US.UTF-8, because the Yocto build fails without any locale set.
RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

14 changes: 10 additions & 4 deletions geniux-builder.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ display_usage() {
echo -e "\nUsage:\n./geniux-builder.sh [version] [manifest] [machine] (--image-only / -i)\n"
echo -e "Options:"
echo -e " version Geniux version (from oldest to most recent):"
echo -e " rocko, sumo, thud, warrior, zeus, dunfell, gatesgarth,"
echo -e " hardknott, honister, kirkstone, langdale, mickledore, nanbield. Default: dunfell"
echo -e " rocko, sumo, thud, warrior, zeus, dunfell, gatesgarth, hardknott,"
echo -e " honister, kirkstone, langdale, mickledore, nanbield, scarthgap. Default: dunfell"
echo -e " Check available branches at https://github.com/carlesfernandez/meta-gnss-sdr"
echo -e " manifest Geniux version manifest: 21.02, 21.08, 22.02, 22.06, 23.04, 24.02, latest. Default: latest"
echo -e " Dated manifests available at https://github.com/carlesfernandez/oe-gnss-sdr-manifest/tags"
Expand All @@ -37,8 +37,11 @@ if [[ $GENIUX_VERSION == "rocko" || $GENIUX_VERSION == "sumo" || $GENIUX_VERSION
$GENIUX_VERSION == "kirkstone" || $GENIUX_VERSION == "langdale" ]]
then
YOCTO_GENIUX_BASE_IMAGE_VERSION="1.7"
elif [[ $GENIUX_VERSION == "mickledore" ]]
then
YOCTO_GENIUX_BASE_IMAGE_VERSION="2.1"
else
YOCTO_GENIUX_BASE_IMAGE_VERSION="2.1"
YOCTO_GENIUX_BASE_IMAGE_VERSION="3.0"
fi

YOCTO_GENIUX_BASE_IMAGE="yocto-geniux-base:v$YOCTO_GENIUX_BASE_IMAGE_VERSION"
Expand Down Expand Up @@ -145,8 +148,11 @@ if test -z "$(docker images -q $YOCTO_GENIUX_BASE_IMAGE)"
$GENIUX_VERSION == "kirkstone" || $GENIUX_VERSION == "langdale" ]]
then
docker build --tag "$YOCTO_GENIUX_BASE_IMAGE" .
elif [[ $GENIUX_VERSION == "mickledore" ]]
then
docker build -f Dockerfile2 --tag "$YOCTO_GENIUX_BASE_IMAGE" .
else
docker build -f Dockerfile2 --tag "$YOCTO_GENIUX_BASE_IMAGE" .
docker build -f Dockerfile3 --tag "$YOCTO_GENIUX_BASE_IMAGE" .
fi
cd ..
fi
Expand Down

0 comments on commit aeae7d3

Please sign in to comment.