Compilation
Before you begin your compilation, you must setup the prerequisites for Ethereal's build environment
Ethereal's build environment is annoying to setup,` but once it's ready you won't have to do it again.
The Ethereal build environment does not officially support Linux or MacOS.
Preparing the Environment
Before you begin, you must have the Ethereal GNU Compiler Toolchain installed.
To install the toolchain, see the instructions at its repository
As well as installing the toolchain, Ethereal has a few additional requirements:
xorriso
grub
,grub-pc-bin
, orgrub-common
python3
meson
ninja
git
GRUB packages are very hit or miss. Ethereal requires the grub-mkrescue
command, which is known to be faulty on some packages.
If your image does not boot, try another package.
You can use these all-in-one commands to install the prerequisites
- Ubuntu/Debian
- Arch Linux
- Fedora
sudo apt-get install xorriso grub-pc-bin python3 meson ninja-build git
sudo pacman -S xorriso grub python3 meson ninja
i dont know how fedora works
Preparing Ethereal repository
Clone and prepare Ethereal with the following commands:
git clone https://github.com/sasdallas/Ethereal
cd Ethereal
git submodule init
git submodule update
ACPICA
ACPICA is the ACPI framework in Ethereal, created by Intel.
It allows Ethereal to shutdown the computer properly (and more but that's all it's used for it at the current moment)
By default, ACPICA is enabled in Ethereal's build environment.
To enable/disable ACPICA edit conf/build/TARGET.mk
(replacing TARGET with your desired build target) and change the following line:
# ACPICA settings
USE_ACPICA = 1
If you wish to use ACPICA, download the latest source here and extract it to external/acpica/acpica-src/
Additional Configuration
See buildscripts/config.sh
for additional build configuration
Building Ethereal
Running make all
will generate a new Ethereal image in build-output/hexahedron.iso
.
Running Ethereal
Launch the ISO with the command (x86_64, 2 cores, KVM):
qemu-system-x86_64 -cdrom build-output/hexahedron.iso -enable-kvm -smp 2