55FROM ubuntu:20.04
66
77ARG 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
810
911LABEL org.label-schema.vcs-ref=$VCS_REF \
1012 org.label-schema.vcs-url="https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials"
@@ -40,6 +42,15 @@ RUN set -ex; \
4042 ruby \
4143 ruby-dev \
4244 ; \
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*; \
4354 # Ruby dependencies
4455 gem install bundler; \
4556 bundle config set --local without 'development' ; \
@@ -51,7 +62,7 @@ RUN set -ex; \
5162 ./configure --target-list=aarch64-softmmu --enable-modules \
5263 --enable-tcg-interpreter --enable-debug-tcg \
5364 --python=/usr/bin/python3; \
54- make -j8; \
65+ make -j10; \
5566 make install; \
5667 cd ..; \
5768 rm -rf qemu; \
@@ -60,19 +71,10 @@ RUN set -ex; \
6071 cd openocd; \
6172 ./bootstrap; \
6273 ./configure --enable-ftdi; \
63- make -j8; \
74+ make -j10; \
6475 make install; \
6576 # GDB
6677 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*; \
7678 # Cleanup
7779 apt-get purge -y --auto-remove $tempPkgs; \
7880 apt-get autoremove -q -y; \
0 commit comments