It occurs to me that I regularly refer to my “script” – without ever having detailed what it does! I’ll fix that now.
The “script” is something Aidan and I originally put together for our own use, mainly to help when running home control systems – to simplify Debian Jessie installations on the Raspberry Pi to suit our purposes. Over time as I have reviewed various SBC boards I’ve modified the script with LOTS of feedback from readers (In particular Mr Shark) to something that will today install software over a basic Debian Jessie, Stretch or Buster installation on a range of boards including but not limited to:
- Raspberry Pi2
- Raspberry Pi3
- Raspberry Pi4 (inc Buster)
- NanoPi M1, Neo etc
- Orange Pi PC (Armbian)
- Roseapple Pi (Armbian)
- BananaPi M2+ (which came up with 3 usable UARTS in Node-Red!)
- Orange Pi Zero
- Various FriendlyArm boards
- Various VMs (Debian 8, XENIAL, DIETPI and PIXEL)
As the Raspberry Pi 1 is a little underpowered and old – it is not supported – similarly Pi Zero is not really powerful enough for some of the packages – if anyone wants to provide information for potential upgrades to “The Script” – we can look at that with a view to incorporating changes. Be sure to comment any and all lines of change before requesting changes.
The software installed using this script includes
- Python, Samba, Telnet
- Mosquitto with Websockets
- Apache with PHP, SQLITE and PHPLiteAdmin
- Node-Red including:
- GPIO library as appropriate
- MC (and editor)
Node-Red packages have been added recently and some removed (admin which is no longer needed as there is a package manager built into Node-Red). Also some changes have been made to make non-root GPIO easier.
Firstly let me state that this was built for our own purpose and is neither guaranteed to work nor supported. You should have a clean Debian (or Ubuntu or Raspbian) installation with perhaps 8GB of SD – though this lot won’t actually add much and on a Raspberry Pi if you get rid of WolfRam (one of the menu options) you’ll save more than you lose! That and LibreOffice take up a massive amount of space and if you’re an experimenter I’m assuming you’re not likely to need either. 8GB of SD typically leaves LOADS of space for files and future additions.
If this script is to work you should create a user “pi” when setting up the board – clearly a Raspberry Pi will have this already. Copy the script – call it, say, script.sh, into the pi directory and make sure it has execute rights. You should be logged in as user pi to do this. Then run the script – could take half an hour or twice that long – depends on the board. You will be asked simple questions about passwords etc.
And that is it – the script if it runs correctly (will likely show up some WARNINGS on the way – ignore – and NPM ERRORS which aren’t errors) will at the end suggest a reboot – do the reboot – and you should be up and running. Don’t attempt this if you’re not familiar with running scripts and have absolutely no related experience. It is simple, it should run, but I don’t provide a support workshop other than people asking questions in here which I or another reader may respond to.
If it all works well, you should find Node-Red on port 1880, Webmin (if selected) on port 10000 and at port 80 you should have Apache with default pages. With some boards, it may be necessary to change permissions on serial ports if you can’t open them and of course parallel port operation from Node-Red other than real Raspberry Pi is likely to require using the EXEC node – explaining that is beyond the scope of this article and may be trivial or non-trivial Generally, I’ve managed to get port access without requiring a degree in Linux.
Always happy to listen to TESTED changes to the script with a view to incorporating more useful features. We’ve already tested on a BananaPi M2+ and Orange Pi Zero (alongside a review of the latter). See the later article on this subject here.