or:
- # qemu-kvm -m 512 -smp 2 -bios /usr/share/edk2/ovmf/OVMF_CODE.fd -hda image.raw
+ # qemu-system-x86_64 -enable-kvm -m 512 -smp 2 -bios /usr/share/edk2/ovmf/OVMF_CODE.fd -hda image.raw
Every time you rerun the "mkosi" command a fresh image is built, incorporating
all current changes you made to the project tree.
Putting this all together, here's a series of commands for preparing a patch
for systemd (this example is for Fedora):
+ $ sudo dnf builddep systemd # install build dependencies
+ $ sudo dnf install mkosi # install tool to quickly build images
$ git clone https://github.com/systemd/systemd.git
$ cd systemd
$ vim src/core/main.c # or wherever you'd like to make your changes
- $ dnf builddep systemd # install build dependencies
- $ ./autogen.sh c # configure the source tree
- $ make -j `nproc` # build it locally, see if everything compiles fine
+ $ meson build # configure the build
+ $ ninja -C build # build it locally, see if everything compiles fine
+ $ ninja -C build test # run some simple regression tests
$ sudo mkosi # build a test image
$ sudo systemd-nspawn -bi image.raw # boot up the test image
$ git add -p # interactively put together your patch
$ git commit # commit it
- $ ...
+ $ git push REMOTE HEAD:refs/heads/BRANCH
+ # where REMOTE is your "fork" on github
+ # and BRANCH is a branch name.
-And after that, please submit your branch as PR to systemd via github.
+And after that, head over to your repo on github and click "Compare & pull request"
Happy hacking!