If you can connect the screen via Ethernet, you save yourself the hassle of installing a custom GUI and managing the Easyroam certificates. To display the MakeSign URL, configure and use FullPage OS.
/boot/fullpageos.txt
in a text editor. It should show up in the boot volume when you attach the SD card to Windows, macOS, or Linux.Congratulations! Your screen is set up :D
Generate a .p12
file on the Easyroam website: Easyroam Authentication.
This file needs to be loaded onto the Raspberry Pi’s SD card (you can load files on the Raspberry Pi via the SD card or wirelessly via a wireless sftp connection to the Raspberry Pi from your Laptop.
Execute these commands on the Raspberry Pi (replacing my_easyroam_cert.p12
with the name of your .p12
file):
Extract Client Certificate
openssl pkcs12 -in my_easyroam_cert.p12 -nokeys | openssl x509 > easyroam_client_cert.pem
Extract CN (Common Name)
openssl x509 -noout -subject -in easyroam_client_cert.pem | sed 's/.*CN=\(.*\), C.*/\1/' > CN
Extract Private Key (with password protection)
openssl pkcs12 -in my_easyroam_cert.p12 -nodes -nocerts | openssl rsa -aes256 -out easyroam_client_key.pem
Extract RootCA Certificate
openssl pkcs12 -in my_easyroam_cert.p12 -cacerts -nokeys > easyroam_root_ca.pem
View the .p12 File Details
openssl pkcs12 -info -in my_easyroam_cert.p12 -nodes
Create a Directory for Easyroam Certificates
sudo mkdir /etc/easyroam-certs
sudo mv easyroam_client_cert.pem CN easyroam_client_key.pem easyroam_root_ca.pem /etc/easyroam-certs/.
Create wpa_supplicant.conf
in /etc/wpa_supplicant
cat <<EOT | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf > /dev/null
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
network={
ssid="eduroam"
scan_ssid=1
key_mgmt=WPA-EAP
proto=WPA2
eap=TLS
pairwise=CCMP
group=CCMP
identity="12345678910111213abcd@easyroam-pca.dfn.de" # <---- Load the CN file with an editor like vim or vi
altsubject_match="DNS:easyroam.eduroam.de"
ca_cert="/etc/easyroam-certs/easyroam_root_ca.pem"
client_cert="/etc/easyroam-certs/easyroam_client_cert.pem"
private_key="/etc/easyroam-certs/easyroam_client_key.pem"
private_key_passwd="secretphrase"
}
EOT
Reboot the System to Apply Changes
sudo reboot
If you have connected the Raspberry Pi to the same network as your computer, you can access its terminal remotely via an SSH connection and copy files over via an SFTP connection.
(Your Pi and Computer need to be in the same Network)
ssh username@Hostname
exit
to disconnect.(Your Pi and Computer need to be in the same Network)
sftp username@Hostname
sftp> put _route_to_my_certificate.p12
exit
to disconnect.Run raspi-config
:
sudo raspi-config
Expand the file system (to have room for additional installations) and exit raspi-config.
Ensure you have a network connection and reboot:
sudo reboot
Run the following commands:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Install X server and window manager:
sudo apt-get install xserver-xorg
sudo apt-get install xinit
sudo apt-get install lxde-core lxterminal lxappearance
sudo apt-get install lightdm
sudo reboot
Install Chromium:
sudo apt-get install chromium-browser
sudo apt-get install -f
Install unclutter to remove the cursor:
sudo apt-get install unclutter
Edit /home/signage/.config/lxsession/LXDE/autostart
:
sudo nano /home/signage/.config/lxsession/LXDE/autostart
Remove the line:
@xscreensaver –no-splash
Add the following lines:
@xset -dpms
@xset s noblank
unclutter –display :0 –noevents –grab
chromium-browser https://MakeSign/url_to_your_screen --kiosk --disable-infobars --disable-session-crashed-bubble
Set Raspberry Pi to auto-start into GUI environment:
sudo raspi-config
Select System Options > Boot / Auto Login > Desktop Autologin: Desktop GUI, automatically logged in as ‘your_username’.
Reboot:
sudo reboot now
Now, when connecting the Pi to Ethernet and a screen, your digital signage board should boot up as expected.
Congratulations! Your screen is set up :D