mirror of https://github.com/zeldaret/mm.git
Merge 8ff236f60f
into a6411b4ba2
This commit is contained in:
commit
479846a89a
18
Dockerfile
18
Dockerfile
|
@ -3,10 +3,15 @@ FROM ubuntu:24.04 AS build
|
||||||
ENV TZ=UTC
|
ENV TZ=UTC
|
||||||
ENV LANG=C.UTF-8
|
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
|
# Install Required Dependencies
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
|
RUN apt-get update && apt-get install -y \
|
||||||
apt-get update && apt-get install -y \
|
|
||||||
curl \
|
|
||||||
build-essential \
|
build-essential \
|
||||||
binutils-mips-linux-gnu \
|
binutils-mips-linux-gnu \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
|
@ -20,12 +25,7 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone &
|
||||||
vim \
|
vim \
|
||||||
clang-tidy-14 \
|
clang-tidy-14 \
|
||||||
clang-format-14 \
|
clang-format-14 \
|
||||||
libpng-dev && \
|
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 \
|
|
||||||
practicerom-dev && \
|
practicerom-dev && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
|
@ -62,7 +62,6 @@ Preparation is covered in [Building Docker](docs/BUILDING_DOCKER.md).
|
||||||
|
|
||||||
The build process has the following package requirements:
|
The build process has the following package requirements:
|
||||||
|
|
||||||
* make
|
|
||||||
* git
|
* git
|
||||||
* build-essential
|
* build-essential
|
||||||
* binutils-mips-linux-gnu
|
* binutils-mips-linux-gnu
|
||||||
|
@ -77,7 +76,7 @@ Under Debian / Ubuntu (which we recommend using), you can install them with the
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update
|
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
|
#### 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
|
#### 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
|
```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:
|
The extraction/build process:
|
||||||
1. Prepares build environment:
|
1. Prepares build environment:
|
||||||
- Creates a Python virtual environment
|
- Creates a Python virtual environment
|
||||||
|
|
|
@ -6,7 +6,7 @@ You will need [Docker](https://docs.docker.com/get-docker/) Follow the instructi
|
||||||
|
|
||||||
## 1. Clone the Repository
|
## 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
|
## 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
|
## 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:
|
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.
|
||||||
|
|
||||||
```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.
|
|
||||||
|
|
Loading…
Reference in New Issue