# Build SDK simulation project

Source: [https://docs.qualcomm.com/doc/80-41102-1/topic/build-sdk-simulation-project.html](https://docs.qualcomm.com/doc/80-41102-1/topic/build-sdk-simulation-project.html)

TelAF simulation depends on the artifacts compiled from the SDK Simulation project, e.g.,
            the 'rootfs' installation directory generated by the SDK Simulation project. Users
            should set up and build the SDK simulation project first.

Note that the following only shows the CLO mainline repository of SDK simulation. Replace
            the **SDK-SIMULATION-TAG** in each TelAF cadence release note with the specific
                **Commit-ID** or **TAG**.

Set up the SDK simulation basic development environment and build
            it.

    cd simulation_env/sdk
    
    # setup the basic env
    ./build_sim.sh setup
    
    # build all gRPC, SDK apps and libs
    ./build_sim.sh rootfsCopy to clipboard

Similar to the TelAF simulation project, users can compile the SDK simulation project in
            the TelAF Develop Container. Check the output using `docker images | grep
                telaf_simulation_develop` to ensure the docker image is already there.

    cd simulation_env/telaf
     
    # create one script to be used by TelAF simulation develop container
    echo "cd ../sdk && ./build_sim.sh setup && ./build_sim.sh rootfs" > simulation/workstation/.simula.dev.action.sh
    echo "" > simulation/.simulation.build
     
    # build the SDK simulation project in TelAF container
    make simula-xCopy to clipboard

Whenever users want to switch the commit-id of the branches to a new one, they need to
            delete the output first and clean some directories in build/, then
            rebuild the SDK simulation project.

Users don't need to set up the basic development environment
            again.

    cd simulation_env/sdk
    
    # clean output named 'rootfs' you passed
    rm -r rootfs
    
    # clean sdk apps and so on
    ./build_sim.sh clean
    
    # rebuild gRPC, SDK apps and libs
    ./build_sim.sh rootfsCopy to clipboard

Similar to the TelAF simulation project, users can rebuild the SDK simulation project
            with clean-actions in TelAF Develop Container.

    cd simulation_env/telaf
    
    # create one script to be used by TelAF simulation develop container
    echo "cd ../sdk && rm -r rootfs && ./build_sim.sh clean && ./build_sim.sh rootfs" > simulation/workstation/.simula.dev.action.sh
    echo "" > simulation/.simulation.build
    
    # build the SDK simulation project in TelAF container
    make simula-xCopy to clipboard

After SDK simulation building, by default, users can get the 'rootfs' directory in
            'sdk/'. Users should record the real path for 'sdk/rootfs' to use in the TelAF
            simulation project.

    cd simulation_env
    
    # get the abs path for sdk output
    realpath sdk/rootfs
    
    # record it to be use
    
    # or export (but every time you change the SDK output path, remember to re-export this variable)
    export sdk_rootfs=`realpath sdk/rootfs`Copy to clipboard

See [Telematics SDK - User Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-PF458-1/simulation-telsdk.html?product=1601111740010421) for details about
            the SDK Simulation project.

**Parent Topic:** [Use TelAF simulation](https://docs.qualcomm.com/doc/80-41102-1/topic/use-telaf-simulation.html)

Last Published: May 12, 2026

[Previous Topic
Build TelAF simulation docker images](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/build-docker-image-for-telaf-simulation.md) [Next Topic
Build the TelAF simulation in the docker container](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/build-the-telaf-simulation-in-the-docker-container.md)