Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dev-containers
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Oleksii Kutuzov
dev-containers
Commits
d8b6eee8
Commit
d8b6eee8
authored
Feb 28, 2023
by
Oleksii Kutuzov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update all
parent
b21d13a4
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
226 additions
and
6 deletions
+226
-6
README.md
README.md
+64
-1
fsl-imx-fb_4.14-sumo/Dockerfile
fsl-imx-fb_4.14-sumo/Dockerfile
+2
-1
fsl-imx-fb_4.14-sumo/build.sh
fsl-imx-fb_4.14-sumo/build.sh
+1
-1
fsl-imx-fb_4.14-sumo/push.sh
fsl-imx-fb_4.14-sumo/push.sh
+1
-1
fsl-imx-fb_4.14-sumo/rebuild.sh
fsl-imx-fb_4.14-sumo/rebuild.sh
+1
-1
fsl-imx-wayland_4.14-sumo_qt/build.sh
fsl-imx-wayland_4.14-sumo_qt/build.sh
+1
-1
fsl-imx-wayland_4.14-sumo_qt/push.sh
fsl-imx-wayland_4.14-sumo_qt/push.sh
+3
-0
fsl-imx-wayland_5.10-hardknott-multiarch/Dockerfile
fsl-imx-wayland_5.10-hardknott-multiarch/Dockerfile
+118
-0
fsl-imx-wayland_5.10-hardknott-multiarch/README.md
fsl-imx-wayland_5.10-hardknott-multiarch/README.md
+1
-0
fsl-imx-wayland_5.10-hardknott-multiarch/build-multiarch-and-push.sh
...land_5.10-hardknott-multiarch/build-multiarch-and-push.sh
+15
-0
fsl-imx-wayland_5.10-hardknott-multiarch/build.sh
fsl-imx-wayland_5.10-hardknott-multiarch/build.sh
+3
-0
fsl-imx-wayland_5.10-hardknott-multiarch/push.sh
fsl-imx-wayland_5.10-hardknott-multiarch/push.sh
+3
-0
fsl-imx-wayland_5.10-hardknott-multiarch/rebuild.sh
fsl-imx-wayland_5.10-hardknott-multiarch/rebuild.sh
+3
-0
fsl-imx-wayland_5.10-hardknott-multiarch/sync.exp
fsl-imx-wayland_5.10-hardknott-multiarch/sync.exp
+10
-0
No files found.
README.md
View file @
d8b6eee8
# dev-containers
# dev-containers
docker run --rm -it --mount type=bind,source="$(pwd)",target=/mnt/dev
<container
_name
>
## Running containers
\ No newline at end of file
```
docker run --rm -it -v $(pwd):/mnt/dev <container_name>```
## Building and pushing to Container Registry
### Preparation
1. Login to container registry with your git credentials
```docker login gitlab.keith-koep.com:5050```
### Build and push
1. Navigate to the directory of the container you want to build
2. Build with
```docker build docker build -t gitlab.keith-koep.com:5050/imx/uboot-imx:<flavour, which is a directory name> .```
or with prepared script
```./build.sh```
3. Push with
```docker push gitlab.keith-koep.com:5050/imx/uboot-imx:<flavour, which is a directory name>```
or with prepared script
```./push.sh```
4. You can rebuild the container without using build cache with
```
docker build --no-cache -t gitlab.keith-koep.com:5050/imx/uboot-imx:
<flavour
,
which
is
a
directory
name
>
.
```
## Build multi-arch containers
### Preparation steps
1. Check which builders are available
```
docker buildx ls
```
2. Create a custom builder `kuk-builder`
```
docker buildx create --name kuk-builder default
```
3. Choose this bulder to use by default
```
docker buildx use kuk-builder
```
### Build and push
1. Build and push with
```
docker buildx build --platform linux/amd64,linux/arm64 -t gitlab.keith-koep.com:5050/imx/uboot-imx:
<flavour
name
>
--push .
```
or with prepared script
```
./build-multiarch-and-push.sh
```
\ No newline at end of file
fsl-imx-fb_4.14-sumo/Dockerfile
View file @
d8b6eee8
...
@@ -23,7 +23,8 @@ RUN apt-get update && \
...
@@ -23,7 +23,8 @@ RUN apt-get update && \
bison
\
bison
\
libz-dev
\
libz-dev
\
bc
\
bc
\
kmod
kmod
\
clang-format
# Unpack the SDK to /opt/fsl-imx-wayland/4.14-sumo
# Unpack the SDK to /opt/fsl-imx-wayland/4.14-sumo
RUN
wget
--no-check-certificate
${
FILE_URL
}
&&
\
RUN
wget
--no-check-certificate
${
FILE_URL
}
&&
\
...
...
fsl-imx-fb_4.14-sumo/build.sh
View file @
d8b6eee8
#!/bin/bash
#!/bin/bash
docker build
-t
gitlab.keith-koep.com:5050/imx/uboot-imx:fsl-imx-fb_4.14-sumo .
docker build
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest .
\ No newline at end of file
\ No newline at end of file
fsl-imx-fb_4.14-sumo/push.sh
View file @
d8b6eee8
#!/bin/bash
#!/bin/bash
docker push gitlab.keith-koep.com:5050/imx/uboot-imx:fsl-imx-fb_4.14-sumo
docker push gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest
\ No newline at end of file
\ No newline at end of file
fsl-imx-fb_4.14-sumo/rebuild.sh
View file @
d8b6eee8
#!/bin/bash
#!/bin/bash
docker build
--no-cache
-t
gitlab.keith-koep.com:5050/imx/uboot-imx:fsl-imx-fb_4.14-sumo .
docker build
--no-cache
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest .
\ No newline at end of file
\ No newline at end of file
fsl-imx-wayland_4.14-sumo_qt/build.sh
View file @
d8b6eee8
#!/bin/bash
#!/bin/bash
docker build
-t
fsl-imx-wayland_4.14-sumo_qt .
docker build
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest .
\ No newline at end of file
\ No newline at end of file
fsl-imx-wayland_4.14-sumo_qt/push.sh
0 → 100755
View file @
d8b6eee8
#!/bin/bash
docker push gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/Dockerfile
0 → 100644
View file @
d8b6eee8
# Using debian because ubuntu casuses errors for arm64 platform
FROM
debian:buster AS build
LABEL
name=fsl-imx-wayland_5.10-hardknott-multiarch
LABEL
maintainer="oleksii.kutuzov@seco.com"
SHELL
["/bin/bash", "-c"]
ENV
DEBIAN_FRONTEND noninteractive
ENV
DEBIAN_FRONTEND teletype
ENV
URL "https://source.codeaurora.org/external/imx/imx-manifest"
ENV
MANIFEST "imx-5.10.35-2.0.0.xml"
ENV
MACHINE "imx8mm-lpddr4-evk"
ENV
DISTRO "fsl-imx-xwayland"
ENV
RECIPE "core-image-minimal"
# Generate and apply locales
RUN
apt-get update
&&
\
apt-get upgrade
&&
\
apt-get
install
-y
locales
&&
rm
-rf
/var/lib/apt/lists/
*
\
&&
localedef
-i
en_US
-c
-f
UTF-8
-A
/usr/share/locale/locale.alias en_US.UTF-8
ENV
LANG en_US.utf8
# Install dependencies
RUN
apt-get update
&&
\
apt-get install --fix-missing -y \
zip \
unzip \
wget \
build-essential \
python3 \
python3-distutils \
python \
git \
flex \
bison \
libz-dev \
bc \
curl \
expect \
chrpath \
cpio \
diffstat \
gawk \
perl \
perl-modules \
kmod && \
apt-get autoclean
# Add user
RUN
useradd
-ms
/bin/bash dev
USER
dev
WORKDIR
/home/dev
# Get repo in the system
RUN
mkdir
-p
~/.bin
&&
\
curl https://storage.googleapis.com/git-repo-downloads/repo
>
~/.bin/repo
&&
\
chmod
a+rx ~/.bin/repo
# Copy expect script to accept the license agreement during the build setup
COPY
--chown=dev sync.exp /tmp/sync.exp
# Build yocto, install SDK and remove build files
RUN
mkdir
~/imx-linux-hardknott
&&
\
cd
~/imx-linux-hardknott
&&
\
~/.bin/repo init -u ${URL} -b imx-linux-hardknott -m ${MANIFEST} && \
~/.bin/repo sync -c -j8
RUN
cd
~/imx-linux-hardknott
&&
\
# Setup the build environment with expect script
chmod +x /tmp/sync.exp && \
/tmp/sync.exp && \
MACHINE=${MACHINE} DISTRO=${DISTRO} source setup-environment build-xwayland && \
MACHINE=${MACHINE} DISTRO=${DISTRO} bitbake ${RECIPE} -c populate_sdk
# Switch to root to unpack the SDk
USER
root
RUN
cd
/home/dev/imx-linux-hardknott/build-xwayland/tmp/deploy/sdk/
&&
\
./
${
DISTRO
}
-glibc-x86_64-
${
RECIPE
}
-cortexa53-crypto-
${
MACHINE
}
-toolchain-5
.10-hardknott.sh
&&
\
rm
-rf
/home/dev/imx-linux-hardknott
# #
# # Use multi-stage builds and utilize build cache. In this case we can have as many as required
# # layers and copy the data from it. This results in a single layer image
# #
FROM
debian:buster
COPY
--from=build /opt /opt
SHELL
["/bin/bash", "-c"]
# Install dependencies
RUN
apt-get update
&&
\
apt-get
install
-y
\
zip
\
unzip
\
wget
\
build-essential
\
python3
\
git
\
flex
\
bison
\
libz-dev
\
bc
\
kmod
\
libssl-dev
RUN
useradd
-ms
/bin/bash dev
USER
dev
WORKDIR
/home/dev
# Set environment on container startup
RUN
echo
'. /opt/fsl-imx-xwayland/5.10-hardknott/environment-setup-cortexa53-crypto-poky-linux'
>>
~/.bashrc
# Clone imx-mkimage as user inside the container
RUN
git clone https://git.seco.com/seco-ne/3rd-party/kuk/imx-mkimage-kuk.git
-b
kuk_lf-5.10.52_2.1.0 /home/dev/imx-mkimage_5.10
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/README.md
0 → 100644
View file @
d8b6eee8
## Currently under development
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/build-multiarch-and-push.sh
0 → 100755
View file @
d8b6eee8
#! /bin/bash
# Shows builders installed
docker buildx
ls
# Check if custom builder exists. Create otherwise
if
[[
-z
$(
docker buildx
ls
|
grep
kuk-builder
)
]]
;
then
docker buildx create
--name
kuk-builder default
fi
# Use builder that supports platform
docker buildx use kuk-builder
# Build for linux/amd64, linux/arm64
docker buildx build
--platform
linux/arm64,linux/amd64
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest
--push
.
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/build.sh
0 → 100755
View file @
d8b6eee8
#!/bin/bash
docker build
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest .
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/push.sh
0 → 100755
View file @
d8b6eee8
#!/bin/bash
docker push gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/rebuild.sh
0 → 100755
View file @
d8b6eee8
#!/bin/bash
docker build
--no-cache
-t
gitlab.keith-koep.com:5050/kutuzov/dev-containers/
$(
basename
$(
pwd
))
:latest .
\ No newline at end of file
fsl-imx-wayland_5.10-hardknott-multiarch/sync.exp
0 → 100644
View file @
d8b6eee8
#! /usr/bin/expect -f
set timeout -1
spawn bash -c "MACHINE=imx8mm-lpddr4-evk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-xwayland"
sleep 5
send "q"
expect "(y/n)"
sleep 1
send "y\r"
expect eof
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment