Pi Versatile Operating System
- Debian / Ubuntu / Raspberry
sudo apt install qemu-system gdb-multiarch gcc-aarch64-linux-gnu meson ninja-build- Fedora
sudo dnf install @virtualization gdb gcc-aarch64-linux-gnu meson ninja-build - Arch
sudo pacman -S qemu gdb aarch64-linux-gnu-gcc meson ninjaTip
Some QEMU packages may be depraceted nad have no support for the raspi4b machine. It is recommended to build QEMU from sources.
git clone https://github.com/PiVOS-Team/PiVOS.git && cd PiVOS \
./tools/setup.shaarch64-linux-gnu.txt should be modified so that the correct binaries are set.
Build the project:
./tools/build.sh
VS Code
- This operation can be performed by
Build projectorRebuild projecttask
Change the build type:
./tools/default_build.sh ( release | debug )
VS Code
- This operation can be performed by
Change build typetask
Start the project in QEMU:
./tools/start.sh
VS Code
Start QEMUorBuild and starttasks- Notice -
Run->Run Without Debuggingdoesn't work
Start the project in QEMU and wait for GDB to connect:
./tools/start_debug.sh
connect with GDB:
./tools/connect_debugger.sh
VS Code
Start QEMU in debugorBuild and start debugtasks- Also you can use
Run->Start Debugging, pressF5, or useRun and Debugmenu
Tip
[ No Assembly Available ] message is normal and is easily fixed by stepping.
Format or lint sources:
./tools/utils.sh ( clang-format | clang-tidy )
VS Code
- No special action is required - by default file is formatted every save
The following options are available in the pivos/meson.options file:
gdb_server_address- address of machine on which QEMU is runninggdb_debug_port- port on which QEMU and GDB will be launched
After making changes
./tools/setup.sh --reconfigure