######This work has been submitted accepted to the 1st Workshop on Security and Dependability of Critical Embedded Real-Time Systems.
The Server is a multithreaded program running the Safety Controller and the Decision Module. The Client acts as the Complex Controller.
The applications are prototyped and checked for the Linux kernel versions specified below. Although this instructions should work with other Linux kernel versions and real-time patches as well, we did not verify this.
###Flashing the Beagle Bone Black###
See detailed instructions here.
1. Download the image:
https://rcn-ee.com/rootfs/2016-06-09/flasher/BBB-eMMC-flasher-debian-8.5-console-armhf-2016-06-09-2gb.img.xz
2. Extract the file
tar -xvf BBB-eMMC-flasher-debian-8.5-console-armhf-2016-06-09-2gb.img.xz
3. Create a bootable SD card from the OS image (instructions for Windows and Mac).
4. Insert the SD card in the Board.
5. Push S2 switch while connecting to a power source.
6. When all four lights lit up together the Board is flashed with the new image.
###Applying Real-Time patch
1. Log in as root user:
sudo -i
2. Check the version of Linux that is running:
uname -r
3. Download package lists from the repository:
sudo apt-get update
4. Search for available Real-time Linux kernels:
sudo apt-cache search linux-image | grep ti-rt
5. Install the Real-time patch that matches with currently installed kernel:
sudo apt-get install linux-image-4.4.12-ti-rt-r30
###Compiling a periodic timer (on the BeagleBone Black) Run make
cd periodic_timer && make
Run the periodic timer
insmod hrmodule_test.ko
###Simple Controller (on the x86 machine)
Run make
cd Server && make
Run the server
./main
###Safety Controller (on the x86 machine)
Run make
cd Safety_controller && make
Run the safety controller
./main
###Compile rootkit (on the BeagleBone Black) Run make
cd attacks/root_kit && make
###Real-time applications on Complex Controller (on the BeagleBone Black)
Run make
cd Rt_task && make
Run the application
./main