38.13.3.2. gem5 private source trees
Suppose that you are working on a private fork of gem5, but you want to use this repository to develop it as well.
Simply adding your private repository as a remote to submodules/gem5
is dangerous, as you might forget and push your private work by mistake one day.
Even removing remotes is not safe enough, since git submodule update
and other submodule commands can restore the old public remote.
Instead, we provide the following safer process.
First do a separate private clone of you private repository outside of this repository:
git clone https://my.private.repo.com/my-fork/gem5.git gem5-internal gem5_internal="$(pwd)/gem5-internal"
Next, when you want to build with the private repository, use the --gem5-build-dir
and --gem5-source-dir
argument to override our default gem5 source and build locations:
cd linux-kernel-module-cheat ./build-gem5 \ --gem5-build-dir "${gem5_internal}/build" \ --gem5-source-dir "$gem5_internal" \ ; ./run-gem5 \ --gem5-build-dir "${gem5_internal}/build" \ --gem5-source-dir "$gem5_internal" \ ;
With this setup, both your private gem5 source and build are safely kept outside of this public repository.