-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
56 lines (50 loc) · 1.56 KB
/
Dockerfile
File metadata and controls
56 lines (50 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM debian:stretch
MAINTAINER Karl Syvert Løland <karl.syvert@myerart.net>
# Set APT_GET_UPDATE to make consistent images
ENV APT_GET_UPDATE 2016-03-01
ENV code /src
ENV toolchain /toolchain
RUN DEBIAN_FRONTEND=noninteractive apt-get --quiet --yes update \
&& DEBIAN_FRONTEND=noninteractive apt-get --quiet --yes install \
binutils \
gcc \
g++ \
nasm \
make \
wget \
libmpc-dev \
grub \
grub-pc-bin \
xorriso \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists
RUN wget http://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.gz \
&& tar xvzf binutils-2.24.tar.gz \
&& cd binutils-2.24 \
&& ./configure --prefix=${toolchain} --target=i686-elf --disable-nls --disable-werror --with-sysroot\
&& make \
&& make install \
&& cd .. \
&& rm -rf binutils-2.24 \
&& rm binutils-2.24.tar.gz
RUN wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.gz \
&& tar xvzf gcc-4.9.4.tar.gz \
&& mkdir build-gcc \
&& cd build-gcc \
&& ../gcc-4.9.4/configure --prefix=${toolchain} --target=i686-elf --disable-nls --enable-languages=c,c++ --without-headers --disable-werror\
&& make all-gcc\
&& make all-target-libgcc\
&& make install-gcc\
&& make install-target-libgcc \
&& cd .. \
&& rm -rf build-gcc \
&& rm -rf gcc-4.9.4 \
&& rm gcc-4.9.4.tar.gz
RUN DEBIAN_FRONTEND=noninteractive apt-get --quiet --yes remove \
g++ \
wget \
libmpc-dev
# COPY . ${code}
ENV PATH="${toolchain}/bin:${PATH}"
WORKDIR ${code}
ENTRYPOINT ["/bin/bash"]