Skip to content

Commit

Permalink
Add Ubuntu 24.04 image
Browse files Browse the repository at this point in the history
Adds Ubuntu 24.04 based images
  • Loading branch information
JoshuaWatt committed Dec 3, 2024
1 parent e03a3a5 commit a983730
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ jobs:
- {image: ubuntu-22.04-oe, provider: docker, sh: bash}
#- {image: ubuntu-22.04-oe, provider: podman, sh: bash}
- {image: ubuntu-22.04-oegarmin, provider: docker, sh: bash}
- {image: ubuntu-24.04-base, provider: docker, sh: bash}
- {image: ubuntu-24.04-oe, provider: docker, sh: bash}
- {image: ubuntu-24.04-oegarmin, provider: docker, sh: bash}

runs-on: ubuntu-20.04

Expand Down
3 changes: 3 additions & 0 deletions ci/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -1282,16 +1282,19 @@ class PyrexImageType_oetest(PyrexImageType_oe):
("ubuntu-18.04-base", (3, 1)),
("ubuntu-20.04-base", (3, 1)),
("ubuntu-22.04-base", (4, 0)),
("ubuntu-24.04-base", (4, 0)),
("ubuntu-14.04-oe", (2, 6)),
("ubuntu-16.04-oe", (2, 6)),
("ubuntu-18.04-oe", (3, 1)),
("ubuntu-20.04-oe", (3, 1)),
("ubuntu-22.04-oe", (4, 0)),
("ubuntu-24.04-oe", (4, 0)),
("ubuntu-14.04-oegarmin", (2, 6)),
("ubuntu-16.04-oegarmin", (2, 6)),
("ubuntu-18.04-oegarmin", (3, 1)),
("ubuntu-20.04-oegarmin", (3, 1)),
("ubuntu-22.04-oegarmin", (4, 0)),
("ubuntu-24.04-oegarmin", (4, 0)),
("ubuntu-18.04-oetest", (3, 1)),
("ubuntu-20.04-oetest", (3, 1)),
)
Expand Down
111 changes: 111 additions & 0 deletions image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,36 @@ RUN set -x && export DEBIAN_FRONTEND=noninteractive && \
COPY --from=prebuilt-setpriv /dist/setpriv /
COPY --from=prebuilt-tini /dist/tini /

#
# Ubuntu 24.04 Base
#
FROM ubuntu:noble as ubuntu-24.04-base
ENV PYREX_BASE none
LABEL maintainer="Joshua Watt <Joshua.Watt@garmin.com>"

# Install software required to run init scripts.
RUN set -x && export DEBIAN_FRONTEND=noninteractive && \
ulimit -n 1024 && \
apt-get -y update && apt-get -y install --no-install-recommends \
locales \
lsb-release \
ncurses-term \
python3 \
util-linux \
sudo \
curl \
ca-certificates \
&& \
# Clean up apt-cache
rm -rf /var/lib/apt/lists/* && \
# generate utf8 locale
locale-gen en_US.UTF-8 && \
(locale -a | tee /dev/stderr | grep -qx en_US.utf8)

# Copy prebuilt items
COPY --from=prebuilt-setpriv /dist/setpriv /
COPY --from=prebuilt-tini /dist/tini /

#
# Ubuntu 14.04 Yocto Base
#
Expand Down Expand Up @@ -731,6 +761,81 @@ RUN python3 -m pip install iterfzf testtools python-subunit
# Copy prebuilt items
COPY --from=prebuilt-icecream /dist/icecream /

#
# Ubuntu 24.04 Base
#
FROM ubuntu-24.04-base as ubuntu-24.04-oe
ENV PYREX_BASE none
LABEL maintainer="Joshua Watt <Joshua.Watt@garmin.com>"

RUN set -x && export DEBIAN_FRONTEND=noninteractive && \
sudo dpkg --add-architecture i386 && \
ulimit -n 1024 && \
apt -y update && apt upgrade apt -y && apt -y install --no-install-recommends \
# Poky 4.0 build dependencies
gawk \
wget \
git \
git-lfs \
diffstat \
unzip \
texinfo \
gcc \
build-essential \
chrpath \
socat \
cpio \
python3 \
python3-pip \
python3-pexpect \
xz-utils \
debianutils \
iputils-ping \
python3-git \
python3-jinja2 \
libsdl1.2-dev \
pylint \
xterm \
python3-subunit \
python3-testtools \
mesa-common-dev \
zstd \
liblz4-tool \
# Testing dependencies
iproute2 \
sysstat \
# Dependencies for "bitbake -c menuconfig"
libncurses5-dev \
libtinfo-dev \
# Not listed, but required dependencies (from ASSUME_PROVIDED)
bzip2 \
libbz2-dev \
sed \
findutils \
# Required for some poorly written 3rd party recipes :(
python3-six \
# Connectivity
ssh \
# Corollary to the core Yocto gcc-multilib package. Allows various
# prebuilt native tools to work
g++-multilib \
# Screen to enable devshell
screen \
# Base OS stuff that reasonable workstations have, but which the registry image
# doesn't
tzdata \
file \
# Dependencies for other layers
xxd \
# Testing requirements
wine \
wine64 \
wine32 \
&& rm -rf /var/lib/apt/lists/*

# Copy prebuilt items
COPY --from=prebuilt-icecream /dist/icecream /

#
# Ubuntu 18.04 OE Test Image
#
Expand Down Expand Up @@ -773,6 +878,12 @@ ENV PYREX_BASE none
FROM ubuntu-22.04-oe AS ubuntu-22.04-oegarmin
ENV PYREX_BASE none

#
# Ubuntu 24.04 Base, customized with Garmin internal LAN configuration.
#
FROM ubuntu-24.04-oe AS ubuntu-24.04-oegarmin
ENV PYREX_BASE none

#
# Base image target.
#
Expand Down
2 changes: 1 addition & 1 deletion pyrex.ini
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ confversion = @CONFVERSION@

# As a convenience, the name of a Pyrex provided image
# can be specified here
%image = ubuntu-22.04-${config:imagetype}
%image = ubuntu-24.04-${config:imagetype}

# As a convenience, the tag of the Pyrex provided image. Defaults to the
# Pyrex version.
Expand Down

0 comments on commit a983730

Please sign in to comment.