|
2 | 2 | # SPDX-License-Identifier: Apache-2.0
|
3 | 3 | # hadolint global ignore=DL3041,DL3040
|
4 | 4 |
|
5 |
| -FROM fedora:38@sha256:b9ff6f23cceb5bde20bb1f79b492b98d71ef7a7ae518ca1b15b26661a11e6a94 |
| 5 | +FROM fedora:38@sha256:b9ff6f23cceb5bde20bb1f79b492b98d71ef7a7ae518ca1b15b26661a11e6a94 AS tsffs-base |
6 | 6 |
|
7 | 7 | # Download links can be obtained from:
|
8 | 8 | # https://lemcenter.intel.com/productDownload/?Product=256660e5-a404-4390-b436-f64324d94959
|
@@ -123,3 +123,30 @@ RUN ispm projects /workspace/projects/example/ --create \
|
123 | 123 | ninja
|
124 | 124 |
|
125 | 125 | 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