I've been playing with some code lately and made up a bash script that will install reef-pi from a fresh Raspbian install.
Now that I've done it so many times (one sd card doing 10 things) I see it really isn't that difficult but my first time it felt overwhelming as it was all new so this should help some. These steps will get you running.
1. Use Raspberry Pi Imager to install Rasbpian on your microSD card.
From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.
www.raspberrypi.org
2. Add the files in attachment to /boot/ directory on microSD card. On Windows this is root directory of the SD card it shows. These 3 files are for wifi access to Pi and the installation script. Make sure to update the wpa_supplicant.conf file you just copied with your wifi login information.
3. Insert SD card into Pi, log into SSH terminal and run the following command.
bash /boot/install_reefpi.sh
4. Login to reef-pi and setup.
This will do the following automatically, it's two steps as it needs a reboot after expanding the file system. After reboot log back into SSH terminal and it will continue.
* updates Raspbian
* expands file system on microSD card
* prompts for time zone (TZ database name -
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
* enables time sync
* enables I2C
* sets I2C speed to 10 kHz
* disables SPI
* enables 1-wire
* enables PWM on Raspberry Pi pin GPIO12 and GPIO13
* installs reef-pi (prompts for Pi Zero W or Pi3/Pi4 install)
* generates website address link and shows credentials to access reef-pi
I'm going to be adding option for friendly URL, try and remove the output on terminal from processes so my guide isn't lost in it all and see if I can have this script auto start once.
@Ranjib Can a working database from a Pi Zero be installed over a working database on a Pi 3 or vice versa and work? What I want to do is setup reef-pi with defaults for my board, then with this script after it installs reef-pi it will copy over the database to match my board, then when they log in the drivers and connectors are there. This would be good for others who make boards as well, when this happens in script it can prompt, show a list of boards and a person can select what they have or skip. Right now I only have a Pi 3 so can't test.