Raspberry Pi 3 read-only kiosk mode

Hello everyone,

How can I go about achieving the following setup.

RPI boots up and starts Chromium in kiosk mode pointing to a local HTML5 app.
The filesystem though has to be read-only.

I tried many guides but x.org complains about write access. The only software I need is a window manager and chromium.

Thanks in advance!

I am trying to do something similar. Except I need to go through a proxy for a whitelisted group of urls. So far, I got Dietpi installed with just a window manager and Chromium.

Chromium auto starts, but because my Raspberry Pi is connected to a managed switch, it doesn’t pull an IP in a timely manner. I saw another post in troubleshooting about this and will work on that first.

I then need to figure out the Chromium resolution settings because the browser isn’t fully displayed. I am sure a homepage configuration setting is in the same file.

Once that is done, I need to create a script that clears all browser history/cache after no input is received for a period. I also need to lock everything down to prevent any shell or filesystem access.

It has been awhile since I have dug into a Linux system, so I think this is a gonna be project. :thinking:

Maybe something like this
https://thepcspy.com/read/converting-ubuntu-desktop-to-kiosk/

Something like this might work
https://www.the-empire.systems/linux/set-raspberry-pi-kiosk-mode/
This is what was inside the kiosk.sh script

#!/bin/bash
## See https://obrienlabs.net/setup-raspberry-pi-kiosk-chromium/ for more information
## Add this one liner to the end of ~/.config/lxsession/LXDE-pi/autostart after downloading this script to /home/pi/kiosk.sh and making it executable:
## @/home/pi/kiosk.sh

WEBSITE='https://google.com' 
 
# Hide the mouse from the display
unclutter &
 
# If Chrome crashes (usually due to rebooting), clear the crash flag so we don't have the annoying warning bar
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/pi/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
 
# Run Chromium and open tabs
/usr/bin/chromium-browser --kiosk "$WEBSITE" &
 
# Start the kiosk loop. This keystroke changes the Chromium tab
# To have just anti-idle, use this line instead:
# xdotool keydown ctrl; xdotool keyup ctrl;
# Otherwise, the ctrl+Tab is designed to switch tabs in Chrome
# #
while (true)
 do
  xdotool keydown ctrl+Tab; xdotool keyup ctrl+Tab;
  sleep 15
done