-
Notifications
You must be signed in to change notification settings - Fork 0
Building EbbRT
Once you have built our toolchain, you are ready to build EbbRT.
First, autotools must construct the configure script:
autoreconf -i $(EBBRT_SRC_DIRECTORY)
From the build directory of your choice (or in the source directory if you wish), run the configure script:
./configure --host=x86_64-pc-ebbrt
Note that we specify the host so that the configure script will realize we are cross compiling and use the custom toolchain (make sure it is in your $PATH).
For the time being, the enable-baremetal
config flag is required to build EbbRT
This is also the place to specify other variables as with usual configuration:
CXXFLAGS="-O0 -g" ./configure --host=x86_64-pc-ebbrt --enable-baremetal
The configure script should generate a Makefile in your current directory. Running make
will generate libebbrt which is used to link against applications. We have some example and test applications in the src/app directories which show how this is done. These can be built:
make src/app/HelloWorld/HelloWorld
This generates a multiboot compatible ELF64 binary. It can be packaged up into a .iso with the GRUB bootloader:
make src/app/HelloWorld/HelloWorld.iso
While there are many ways to run the final binary which are dependent on how the system is intended to be deployed, the system can run in a virtual machine such as qemu:
qemu-system-x86_64 -nographic src/app/HelloWorld/HelloWorld.iso
To exit qemu Ctrl+a x