This commit is contained in:
Anghelo Carvajal 2025-07-31 11:02:45 -04:00 committed by GitHub
commit 479846a89a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 21 deletions

View File

@ -3,10 +3,15 @@ FROM ubuntu:24.04 AS build
ENV TZ=UTC
ENV LANG=C.UTF-8
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Add source for practicerom-dev install
RUN apt-get update && apt-get install -y curl && \
curl -o /etc/apt/trusted.gpg.d/practicerom.gpg https://practicerom.com/public/packages/practicerom.gpg && \
echo 'deb [arch=amd64] http://practicerom.com/public/packages/debian unstable main' > /etc/apt/sources.list.d/practicerom.list
# Install Required Dependencies
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
apt-get update && apt-get install -y \
curl \
RUN apt-get update && apt-get install -y \
build-essential \
binutils-mips-linux-gnu \
pkg-config \
@ -20,12 +25,7 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone &
vim \
clang-tidy-14 \
clang-format-14 \
libpng-dev && \
# Add source for practicerom-dev install
curl https://practicerom.com/public/packages/debian/pgp.pub | apt-key add - && \
echo deb http://practicerom.com/public/packages/debian staging main >/etc/apt/sources.list.d/practicerom.list && \
apt-get update && \
apt-get install -y \
libpng-dev \
practicerom-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@ -62,7 +62,6 @@ Preparation is covered in [Building Docker](docs/BUILDING_DOCKER.md).
The build process has the following package requirements:
* make
* git
* build-essential
* binutils-mips-linux-gnu
@ -77,7 +76,7 @@ Under Debian / Ubuntu (which we recommend using), you can install them with the
```bash
sudo apt update
sudo apt install make git build-essential binutils-mips-linux-gnu curl python3 python3-pip python3-venv libpng-dev libxml2-dev
sudo apt install git build-essential binutils-mips-linux-gnu curl python3 python3-pip python3-venv libpng-dev libxml2-dev
```
#### 2. Clone the repository
@ -102,12 +101,14 @@ Rename the file to `baserom.z64`, `baserom.n64` or `baserom.v64`, depending on t
#### 4. Make and Build the ROM
To start the extraction/build process, run the following command:
For a first time build, run the following command, where `N` is the number of cores your processor has (see the note at the bottom for more information):
```bash
make init
make init -j N
```
After the very first build you'll want to run `make -j N` instead, since you likely won't need all the setup the `init` command provides.
The extraction/build process:
1. Prepares build environment:
- Creates a Python virtual environment

View File

@ -6,7 +6,7 @@ You will need [Docker](https://docs.docker.com/get-docker/) Follow the instructi
## 1. Clone the Repository
You will need to prepare a local version of the project with a copied base ROM (see steps [2](../README.md#2-clone-the-repository) and [4](../README.md#4-prepare-a-base-rom) of the Linux instructions).
You will need to prepare a local version of the project with a copied base ROM (see steps [2. Clone the repository](../README.md#2-clone-the-repository) and [3. Prepare a base ROM](../README.md#3-prepare-a-base-rom) of the Linux instructions).
## 2. Create the Docker image
@ -38,10 +38,4 @@ docker run -it --rm --mount type=bind,source="$(pwd)",destination=/mm mm "/usr/b
## 4. Setup and Build the ROM
Once inside the container, you will need to set the repository as a trusted repository with the following command:
```bash
git config --global --add safe.directory /mm
```
After that continue with step [5. Make and Build the ROM](../README.md#5-make-and-build-the-rom) of the Linux instructions to setup and build the ROM, or run any other command you need.
After that continue with step [4. Make and Build the ROM](../README.md#4-make-and-build-the-rom) of the Linux instructions to setup and build the ROM, or run any other command you need.