# [Choice] bionic (18.04), focal (20.04) ARG VARIANT="focal" ## build tools FROM ubuntu:${VARIANT} AS build ENV DEBIAN_FRONTEND="noninteractive" RUN apt-get update && \ apt-get -y install \ tzdata gcc g++ gperf bison flex texinfo help2man make libncurses5-dev \ python3-dev autoconf automake libtool libtool-bin gawk wget bzip2 xz-utils unzip \ patch libstdc++6 rsync git meson ninja-build WORKDIR /build RUN wget https://github.com/crosstool-ng/crosstool-ng/releases/download/crosstool-ng-1.26.0/crosstool-ng-1.26.0.tar.xz && \ tar -xvf crosstool-ng-1.26.0.tar.xz && \ rm crosstool-ng-1.26.0.tar.xz && \ cd crosstool-ng-1.26.0 && \ ./configure --prefix=/usr/local/ct && \ make && \ make install && \ cd .. && \ rm -rf crosstool-ng-1.26.0 ADD ct-ng.config .config RUN /usr/local/ct/bin/ct-ng build RUN cd /build/ && \ git clone https://github.com/fail0verflow/hbc.git /build/hbc && \ cd /build/hbc/channel/wiiload && \ git checkout 13305cfbe5db47eebc5e62aeed14f7adfbb83a5a && \ make RUN git clone https://github.com/fail0verflow/bootmii-utils.git /build/bootmii-utils && \ cd /build/bootmii-utils/client && \ git checkout a32b8f6520d136677213fcbb730035a7e89567e2 && \ make RUN git clone https://github.com/nullgemm/doltool.git /build/doltool && \ cd /build/doltool && \ git checkout 716ca5390bb6467689165db595079e84c80b9b46 && \ make ## final build image FROM ubuntu:${VARIANT} ENV DEBIAN_FRONTEND="noninteractive" RUN apt-get update && \ apt-get -y install \ patch ninja-build make bc ccache gcc libncurses-dev \ kmod bison flex libssl-dev openssl binutils-powerpc-linux-gnu RUN mkdir -p /usr/local/doltool/bin ADD makedol.sh /usr/local/doltool/bin/makedol.sh COPY --from=build /root/x-tools/powerpc-unknown-linux-gnu/ /usr/local/crosstool COPY --from=build /build/hbc/channel/wiiload/wiiload /usr/local/crosstool/bin/wiiload COPY --from=build /build/bootmii-utils/client/bootmii /usr/local/crosstool/bin/bootmii COPY --from=build /build/doltool/doltool /usr/local/doltool/bin/doltool ENV PATH=/usr/local/crosstool/bin:$PATH ENV PATH=/usr/local/doltool/bin:$PATH ENV CROSS_COMPILE=powerpc-unknown-linux-gnu- ENV CC=powerpc-unknown-linux-gnu-gcc ENV ARCH=powerpc WORKDIR /code