From b7e7bd6484d27be200ac104e8257610154789abc Mon Sep 17 00:00:00 2001 From: akadmin Date: Wed, 1 Oct 2025 09:24:59 +0300 Subject: [PATCH] [doc] add --git-lfs to repo init; build disk requirements and proper build output folder Change-Id: I4018d0fb0fb3d69188cf07fc997ef34dbb545f24 --- README.md | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 4725e1e..e164721 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ You don’t need to install complex toolchains or modify your host system. - **Docker** Install Docker using the official script: + ```bash curl -fsSL https://get.docker.com | sh ``` @@ -32,19 +33,14 @@ You don’t need to install complex toolchains or modify your host system. ### Hardware -- **Disk:** SSD recommended - - * Total required: \~638 GB - - * \~394 GB source code - * \~244 GB build artifacts +- **Disk:** \~300 GB (source code and build artifacts). SSD recommended - **CPU:** 64-bit processor (Intel i5/i7 or AMD Ryzen 5/7 and above recommended, 8 cores or more preferred) - **Memory:** - * Minimum: 16 GB RAM - * Bare minimum: 8 GB RAM (with swap; builds will be very slow and unstable) + - Minimum: 16 GB RAM + - Bare minimum: 8 GB RAM (with swap; builds will be very slow and unstable) --- @@ -60,7 +56,7 @@ You don’t need to install complex toolchains or modify your host system. 2. **Initialize and sync the repo** into the `IodeOs/build` checkout directory: ```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): @@ -71,16 +67,16 @@ You don’t need to install complex toolchains or modify your host system. > 💡 **Tip:** You can speed up and stabilize the sync process with additional options: > - > ```bash - > repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags -f + > ```bash + > repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags -f > ``` > - > * `-c` : Sync only the current manifest branch - > * `-j$(nproc --all)` : Use all available CPU cores for parallel sync - > * `--force-sync` : Discard local changes and ensure a clean state - > * `--no-clone-bundle` : Skip using potentially outdated pre-packaged bundles - > * `--no-tags` : Avoid downloading all Git tags (saves time/space) - > * `-f` : Continue syncing other projects even if one fails + > - `-c` : Sync only the current manifest branch + > - `-j$(nproc --all)` : Use all available CPU cores for parallel sync + > - `--force-sync` : Discard local changes and ensure a clean state + > - `--no-clone-bundle` : Skip using potentially outdated pre-packaged bundles + > - `--no-tags` : Avoid downloading all Git tags (saves time/space) + > - `-f` : Continue syncing other projects even if one fails 4. **Start the build with Docker**: @@ -94,8 +90,13 @@ You don’t need to install complex toolchains or modify your host system. docker logs -f repo_build_iode ``` -6. Once the "success message" appears in the logs (this typically takes 90–240 minutes, depending on your hardware and - the number of threads used), navigate to the out folder to find your OTA package or fastboot images. +6. Once the "build completed successfully" message appears in the logs (this typically takes 90–240 minutes, depending on your hardware and + 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 -* Use more jobs with `-j` (e.g. `repo sync -j16`) if you have a fast CPU and good network. -* If syncing fails, retry with: +- Use more jobs with `-j` (e.g. `repo sync -j16`) if you have a fast CPU and good network. +- If syncing fails, retry with: ```bash repo sync --force-sync --no-clone-bundle --no-tags