[doc] add --git-lfs to repo init; build disk requirements and proper build output folder

Change-Id: I4018d0fb0fb3d69188cf07fc997ef34dbb545f24
This commit is contained in:
akadmin 2025-10-01 09:24:59 +03:00
parent c5e7c48779
commit b7e7bd6484

View file

@ -13,6 +13,7 @@ You dont need to install complex toolchains or modify your host system.
- **Docker** - **Docker**
Install Docker using the official script: Install Docker using the official script:
```bash ```bash
curl -fsSL https://get.docker.com | sh curl -fsSL https://get.docker.com | sh
``` ```
@ -32,19 +33,14 @@ You dont need to install complex toolchains or modify your host system.
### Hardware ### Hardware
- **Disk:** SSD recommended - **Disk:** \~300 GB (source code and build artifacts). SSD recommended
* Total required: \~638 GB
* \~394 GB source code
* \~244 GB build artifacts
- **CPU:** 64-bit processor (Intel i5/i7 or AMD Ryzen 5/7 and above recommended, 8 cores or more preferred) - **CPU:** 64-bit processor (Intel i5/i7 or AMD Ryzen 5/7 and above recommended, 8 cores or more preferred)
- **Memory:** - **Memory:**
* Minimum: 16 GB RAM - Minimum: 16 GB RAM
* Bare minimum: 8 GB RAM (with swap; builds will be very slow and unstable) - Bare minimum: 8 GB RAM (with swap; builds will be very slow and unstable)
--- ---
@ -60,7 +56,7 @@ You dont need to install complex toolchains or modify your host system.
2. **Initialize and sync the repo** into the `IodeOs/build` checkout directory: 2. **Initialize and sync the repo** into the `IodeOs/build` checkout directory:
```bash ```bash
repo init -u https://git.os-source.co/IodeOs/manifests_android -b v6-staging repo init -u https://git.os-source.co/IodeOs/manifests_android -b v6-staging --git-lfs
``` ```
3. **Sync the repo** (this may take a while): 3. **Sync the repo** (this may take a while):
@ -71,16 +67,16 @@ You dont need to install complex toolchains or modify your host system.
> 💡 **Tip:** You can speed up and stabilize the sync process with additional options: > 💡 **Tip:** You can speed up and stabilize the sync process with additional options:
> >
> ```bash > ```bash
> repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags -f > repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags -f
> ``` > ```
> >
> * `-c` : Sync only the current manifest branch > - `-c` : Sync only the current manifest branch
> * `-j$(nproc --all)` : Use all available CPU cores for parallel sync > - `-j$(nproc --all)` : Use all available CPU cores for parallel sync
> * `--force-sync` : Discard local changes and ensure a clean state > - `--force-sync` : Discard local changes and ensure a clean state
> * `--no-clone-bundle` : Skip using potentially outdated pre-packaged bundles > - `--no-clone-bundle` : Skip using potentially outdated pre-packaged bundles
> * `--no-tags` : Avoid downloading all Git tags (saves time/space) > - `--no-tags` : Avoid downloading all Git tags (saves time/space)
> * `-f` : Continue syncing other projects even if one fails > - `-f` : Continue syncing other projects even if one fails
4. **Start the build with Docker**: 4. **Start the build with Docker**:
@ -94,8 +90,13 @@ You dont need to install complex toolchains or modify your host system.
docker logs -f repo_build_iode docker logs -f repo_build_iode
``` ```
6. Once the "success message" appears in the logs (this typically takes 90240 minutes, depending on your hardware and 6. Once the "build completed successfully" message appears in the logs (this typically takes 90240 minutes, depending on your hardware and
the number of threads used), navigate to the out folder to find your OTA package or fastboot images. the number of threads used), navigate to the "out/target/product/brax3" folder to find your OTA package or fastboot images.
```bash
ls -la out/target/product/brax3 | grep lineage_brax3-ota.zip
-rw-r--r-- 1 root root 1424506068 Sep 30 18:34 lineage_brax3-ota.zip
```
--- ---
@ -121,8 +122,8 @@ Add it to your `~/.bashrc` or `~/.zshrc` to make the change permanent.
### Repo sync is very slow or stalls ### Repo sync is very slow or stalls
* Use more jobs with `-j<number>` (e.g. `repo sync -j16`) if you have a fast CPU and good network. - Use more jobs with `-j<number>` (e.g. `repo sync -j16`) if you have a fast CPU and good network.
* If syncing fails, retry with: - If syncing fails, retry with:
```bash ```bash
repo sync --force-sync --no-clone-bundle --no-tags repo sync --force-sync --no-clone-bundle --no-tags