Skip to content

Commit 6d00dd5

Browse files
committed
Dockerfile: add tsffs-dev target
1 parent f3eb6ca commit 6d00dd5

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

Dockerfile

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33
# hadolint global ignore=DL3041,DL3040
44

5-
FROM fedora:38@sha256:b9ff6f23cceb5bde20bb1f79b492b98d71ef7a7ae518ca1b15b26661a11e6a94
5+
FROM fedora:38@sha256:b9ff6f23cceb5bde20bb1f79b492b98d71ef7a7ae518ca1b15b26661a11e6a94 AS tsffs-base
66

77
# Download links can be obtained from:
88
# https://lemcenter.intel.com/productDownload/?Product=256660e5-a404-4390-b436-f64324d94959
@@ -123,3 +123,30 @@ RUN ispm projects /workspace/projects/example/ --create \
123123
ninja
124124

125125
RUN echo 'echo "To run the demo, run ./simics -no-gui --no-win fuzz.simics"' >> /root/.bashrc
126+
127+
FROM tsffs-base AS tsffs-dev
128+
# build:
129+
# docker build -t tsffs:dev --target tsffs-dev .
130+
# run:
131+
# docker run --rm -ti -u $(id -u) -v .:/workspace/tsffs tsffs:dev
132+
133+
RUN <<EOF
134+
set -e
135+
echo "%wheel ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/sudogrp
136+
# create group for developers
137+
groupadd dev
138+
# set /workspace/simics permissions to root:dev
139+
chown -R root:dev /workspace/{simics,projects} && chmod -R g+w /workspace/{simics,projects}
140+
# create first 5 users
141+
for i in $(seq 5); do
142+
useradd --create-home "docker${i}" --groups dev,wheel
143+
# install Rust nightly
144+
sudo -E -u "docker${i}" bash -c 'curl https://sh.rustup.rs -sSf | bash -s -- -y --default-toolchain none'
145+
# copy Simics ISPM config
146+
mkdir -p /home/docker${i}/.config
147+
cp -r "/root/.config/Intel Simics Package Manager/" "/home/docker${i}/.config/"
148+
chown -R "docker${i}:dev" "/home/docker${i}/.config/"
149+
done
150+
EOF
151+
152+
WORKDIR /workspace/tsffs

0 commit comments

Comments
 (0)