Skip to content

Instantly share code, notes, and snippets.

@andersonrobot
Forked from robinchrist/README.md
Created January 4, 2025 03:15
Show Gist options
  • Select an option

  • Save andersonrobot/e55d3fe146b673f2ecfe102334dd42cc to your computer and use it in GitHub Desktop.

Select an option

Save andersonrobot/e55d3fe146b673f2ecfe102334dd42cc to your computer and use it in GitHub Desktop.

Revisions

  1. @robinchrist robinchrist revised this gist Jul 13, 2024. 1 changed file with 8 additions and 2 deletions.
    10 changes: 8 additions & 2 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -61,9 +61,15 @@ onie-recovery-x86_64-cel_seastone-r0.iso
    onie-updater-x86_64-cel_seastone-r0
    ```

    Other successful builds I made:
    Successful builds I have made:
    ```
    ONIE 2024.02, accton_as7716_32x, Debian 11
    - ONIE 2021.08, cel_seastone-r0, Debian 9
    - ONIE 2021.08, quanta_common_rglbmc, Debian 9
    - ONIE 2024.02, accton_as7716_32x, Debian 11
    - ONIE 2024.02, accton_as7716_32xb, Debian 11
    - ONIE 2024.02, accton_as7726_32x, Debian 11
    - ONIE 2024.02, accton_as7712_32x, Debian 11
    ```


  2. @robinchrist robinchrist revised this gist Jul 13, 2024. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -61,4 +61,9 @@ onie-recovery-x86_64-cel_seastone-r0.iso
    onie-updater-x86_64-cel_seastone-r0
    ```

    Other successful builds I made:
    ```
    ONIE 2024.02, accton_as7716_32x, Debian 11
    ```


  3. @robinchrist robinchrist revised this gist Jul 13, 2024. 1 changed file with 14 additions and 2 deletions.
    16 changes: 14 additions & 2 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -36,7 +36,7 @@ cd onie-build
    git checkout 2021.08
    cd ../DUE
    ./due --run-image due-onie-build-debian-9 --home-dir /data/dev/onie/ --mount-dir /var/cache/onie/download/:/var/cache/onie/download/
    ./due --run-image due-onie-build-debian-9 --home-dir <your top-level onie directory> --mount-dir /var/cache/onie/download/:/var/cache/onie/download/
    # Now from container shell:
    @@ -49,4 +49,16 @@ cd onie-build/build-config/
    ONIE_USE_SYSTEM_DOWNLOAD_CACHE=TRUE make -j128 MACHINEROOT=../machine/celestica MACHINE=cel_seastone all demo
    ```
    Adjust the `-j128` to your amount of cores.
    This will take a while. About X minutes on my 128-Core 2x EPYC 7773X machine.
    This will take a while. About 15 minutes on my 128-Core 2x EPYC 7773X machine.

    You will find the resulting file in `<your top-level onie directory>/onie-build/build/images/`:
    ```
    cel_seastone-r0.initrd
    cel_seastone-r0.vmlinuz
    demo-diag-installer-x86_64-cel_seastone-r0.bin
    demo-installer-x86_64-cel_seastone-r0.bin
    onie-recovery-x86_64-cel_seastone-r0.iso
    onie-updater-x86_64-cel_seastone-r0
    ```


  4. @robinchrist robinchrist revised this gist Jul 13, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -25,7 +25,7 @@ Populate the cache.. it will make things much more bearable, especially if you h
    sudo mkdir -p /var/cache/onie/download
    cd /var/cache/onie/download
    sudo wget --recursive --cut-dirs=2 --no-host-directories --no-parent --reject="index.html" "http://mirror.opencompute.org/onie"
    cd <your onie-dx010 directory>
    cd <your top-level onie directory>
    ```
    it will take about 10 minutes... Total size of downloads is about 3.9GB and the opencompute mirror seems to rate limit you after some time?

  5. @robinchrist robinchrist renamed this gist Jul 13, 2024. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. @robinchrist robinchrist created this gist Jul 13, 2024.
    52 changes: 52 additions & 0 deletions README.me
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    PSA: Versions newer than 2021.08 will not build.
    Starting at 2021.11, build will fail with
    ```
    make: *** No rule to make target 'conf/crosstool/gcc-4.9.2/uClibc-ng-1.0.38/crosstool.x86_64.config', needed by '/home/robin/onie-build/build/x-tools/x86_64-g4.9.2-lnx3.2.69-uClibc-ng-1.0.38/build/.config'. Stop.
    ```

    Download DUE (do not use the one from debian repos, it's v3.0 as of time of writing and too old)
    Create buildenv with DUE

    ```
    mkdir onie
    cd onie

    git clone https://github.com/CumulusNetworks/DUE

    cd DUE

    ./due --create --platform linux/amd64 --name onie-build-debian-9 --prompt ONIE-9 --tag onie-9 --use-template onie --from debian:9 --description 'ONIE Build Debian 9' --image-patch debian/9/filesystem

    cd ..
    ```

    Populate the cache.. it will make things much more bearable, especially if you have to go back and rebuild or want to build for a different switch.
    ```
    sudo mkdir -p /var/cache/onie/download
    cd /var/cache/onie/download
    sudo wget --recursive --cut-dirs=2 --no-host-directories --no-parent --reject="index.html" "http://mirror.opencompute.org/onie"
    cd <your onie-dx010 directory>
    ```
    it will take about 10 minutes... Total size of downloads is about 3.9GB and the opencompute mirror seems to rate limit you after some time?

    Time to get started...
    ```
    https://github.com/opencomputeproject/onie.git onie-build
    cd onie-build
    git checkout 2021.08
    cd ../DUE

    ./due --run-image due-onie-build-debian-9 --home-dir /data/dev/onie/ --mount-dir /var/cache/onie/download/:/var/cache/onie/download/

    # Now from container shell:

    # For some reason, the DUE default git config does not work... This is taken from the DUE template
    git config --global user.name "ONIE build account"
    git config --global user.email "oniebuild@localhost"

    cd onie-build/build-config/

    ONIE_USE_SYSTEM_DOWNLOAD_CACHE=TRUE make -j128 MACHINEROOT=../machine/celestica MACHINE=cel_seastone all demo
    ```
    Adjust the `-j128` to your amount of cores.
    This will take a while. About X minutes on my 128-Core 2x EPYC 7773X machine.