5
5
FROM ubuntu:20.04
6
6
7
7
ARG VCS_REF
8
+ ARG GCC_AARCH64=https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-aarch64-aarch64-none-elf.tar.xz
9
+ ARG GCC_X86_64=https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
8
10
9
11
LABEL org.label-schema.vcs-ref=$VCS_REF \
10
12
org.label-schema.vcs-url="https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials"
@@ -40,6 +42,15 @@ RUN set -ex; \
40
42
ruby \
41
43
ruby-dev \
42
44
; \
45
+ # GCC AArch64 tools
46
+ if [ "$(uname -m)" = "aarch64" ]; then wget ${GCC_AARCH64}; else wget ${GCC_X86_64}; fi; \
47
+ tar -xf gcc-arm-10*; \
48
+ cp \
49
+ gcc-arm-10*/bin/aarch64-none-elf-objdump \
50
+ gcc-arm-10*/bin/aarch64-none-elf-readelf \
51
+ gcc-arm-10*/bin/aarch64-none-elf-nm \
52
+ /usr/local/bin/; \
53
+ rm -rf gcc-arm-10*; \
43
54
# Ruby dependencies
44
55
gem install bundler; \
45
56
bundle config set --local without 'development' ; \
@@ -51,7 +62,7 @@ RUN set -ex; \
51
62
./configure --target-list=aarch64-softmmu --enable-modules \
52
63
--enable-tcg-interpreter --enable-debug-tcg \
53
64
--python=/usr/bin/python3; \
54
- make -j8; \
65
+ make -j10; \
55
66
make install; \
56
67
cd ..; \
57
68
rm -rf qemu; \
@@ -60,19 +71,10 @@ RUN set -ex; \
60
71
cd openocd; \
61
72
./bootstrap; \
62
73
./configure --enable-ftdi; \
63
- make -j8; \
74
+ make -j10; \
64
75
make install; \
65
76
# GDB
66
77
wget -P ~ git.io/.gdbinit; \
67
- # GCC AArch64 tools
68
- wget https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz; \
69
- tar -xf gcc-arm-10*; \
70
- cp \
71
- gcc-arm-10*/bin/aarch64-none-elf-objdump \
72
- gcc-arm-10*/bin/aarch64-none-elf-readelf \
73
- gcc-arm-10*/bin/aarch64-none-elf-nm \
74
- /usr/local/bin/; \
75
- rm -rf gcc-arm-10*; \
76
78
# Cleanup
77
79
apt-get purge -y --auto-remove $tempPkgs; \
78
80
apt-get autoremove -q -y; \
0 commit comments