Documentation on how to debug boot failures and test failures
There is a lot of unwritten knowledge which we need to document so more people can debug issues.
Target audience would be: anyone technical who finds issues in GNOME OS and/or the openqa-tests.
For now this could live in the wiki.
Topics to cover:
- Booting images: with Boxes, with qemu, with openQA in CI, ssam_openqa
- Boxes: remember to use from Flathub (link to issue)
- QEMU: link to wiki pages
- openQA in CI: link to https://gitlab.gnome.org/GNOME/gnome-build-meta/-/wikis/openqa/OpenQA-for-GNOME-developers#when-tests-fail
- Using SMBIOS
- How to configure SMBIOS (not in Boxes; in QEMU or openQA (QEMU_SMBIOS))
- systemd support: https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html and https://systemd.io/CREDENTIALS/
- Example: pass debug flags to kernel and systemd
- Interactive shell
- systemd emergency shell on VT-9
- serial/virtio console
- ssam_openqa
- Log files
- systemd journal
- Useful journal commands: view specific unit logs, view verbose log messages
- Export journal to host - use
journalctl --output=export --merge
(see export format - Output journal to serial (using kernel argument)
- systemd journal
- Override files in /etc using systemd-tmpfiles
- Overriding systemd units, you can use
unit.d/
apparently
- Overriding systemd units, you can use
- Build custom image version (reference README.rst and https://wiki.gnome.org/Newcomers/BuildSystemComponent), e.g how to add
strace
- Investigating systemd issues: https://systemd.io/DEBUGGING/
- Investigating issues in GNOME services and apps:
- Add
G_MESSAGES_DEBUG=all
to environment (link to GLib docs - or this stuff should go in GNOME Handbook?) - Add
strace
to image and use it
- Add