OSID offers a UI (in the form of a webpage) wrapper to dcfldd to assist in duplicating SD cards from a Raspberry Pi.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Raspberry Pi 2
- 32 GB SD Card
- Official Raspberry Pi Touch Display
- Monoprice powered USB hubs (7 ports) (4 total)
- Monoprice SD card readers (26 total, rpi2 will stall on any more)
The installer script will take you through a brand new Raspian system through getting the OS completely prepared for running OSID.
On your RPi, open up a terminal window and type in the following:
wget https://raw.githubusercontent.com/GeoDirk/osid-python3/master/install_osid.sh
Once that file has downloaded type in:
chmod 755 install_osid.sh
which will change the file permissions to executable. Follow that with:
sudo ./install_osid.sh
To start the process running. Once the script has completed, you'll need to reboot your machine to finalize the settings. After reboot, there will be a new icon on your Desktop called "rPi SD Card Duplicator". Double clicking this will launch the GUI.
Samba has been installed on your machine and has opened up a file share that you can see from your network. (Note: that you may have to fix the Workgroup setting in the file: /etc/samba/smb.conf). Either copy the image that you want to burn using the file share or copy it in locally by putting it in the directory /etc/osid/imageroot
.
What things you need to install the software and how to install them
dcfldd
Python3
Pip3
cherrypy (through pip)
TODO: Just run the setup script
sudo python3 setup.py
Instructions is for Raspbian since this is designed to be ran on a Raspberry Pi.
Make sure you have python3 and pip3 and dcfldd.
sudo apt-get install python3 python3-pip dcfldd
and the CherryPy library.
sudo pip3 install cherrypy
Or
sudo pip3 install -r requirements.txt
To Do: Create an installation script to do it all.
Navigate to the system folder and create the needed files from the sample files.
cd /path_to_folder/osid-python3/system
Inside there should be 3 files that we need to setup:
- server.ini
- run_app.sh
- osid.desktop
For now we'll just create those files from the samples.
mv server.ini.sample server.ini
mv run_app.sh.sample run_app.sh
mv osid.desktop.sample ~/Desktop/osid.desktop
Then proceed to modify those files to match the system paths for the items in those files.
- ImagePath is the directory holding the .img files that can be used.
- Host is the hostname used for the webpage.
- SocketPort is the port you want to use to dish out the API links.
- Logs is the directory to hold all of your logs.
- SkeletonLocation is where you can find the Skeleton CSS Framework.
- A Skeleton CSS file is included in www.
- You can also pull a fresh copy of the Skeleton-Framework and define the location.
- Run app will cd into the system folder, so define the installation path.
- It will then open up chromium-browser and navigate to the hostname and port.
- So define the url that the browser will use to connect to the main page.
- Just make sure the path for the run_app.sh script is defined properly.
- Skeleton-Framework - CSS framework used to structure Web UI
- CherryPy - API Library for Python used to manage all actions
- rockandscissor/OSID - Base Project originally written in PHP and Bash
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Aaron Nguyen - aaronnguyen
This project is licensed under the GNU GPLv3 - see the LICENSE.md file for details
- Thanks PurpleBooth for the Readme Template