1

I have a Rasperry Pi 1 Model A. I want to use it on a hobby project that will require me to have lots of dev/test cycles where I:

  1. Write some code in a higher-level language (Scala; but could be anything like Python, etc.); then
  2. Deploy the executable (which runs as a daemon service at startup) and an OS like Ubuntu Server to some memory/drive device; then
  3. Power on the Raspberry Pi (which in turn starts the OS/startup service on the device); then
  4. Test functionality; then
  5. Rinse and repeat

I'm wondering what my options are regarding the memory/drive. Cheaper is better, but I would prefer 4GB at minimum (1GB for OS, 1 for JVM and 2+ GB for service/executable/app), but could live with just 2.

This is my first Raspberry Pi project so I'm feeling a little overwhelmed with options. I'm also unsure of whether I will need to re-deploy the Ubuntu OS to the memory/drive on each dev/test cycle or if there's a way to install the OS one time and then just deploy new service/executable versions on each iteration.

Thanks in advance for any-and-all help!

smeeb
  • 645
  • 3
  • 9
  • 22

3 Answers3

1

If you are looking for a testing platform, you should ideally use a bare bone window manager(like i3) to allow for best ram allotment to the JVM and application. Otherwise I would recommend looking at a lighter OS other than Ubuntu. For the repeating test problem, you can initialize a script to look withing a folder on a flash drive and just update the files within the flash drive.

1

You might want to look at resin.io. They offer docker based raspberry pi os that you can install on your pi as a one off - then deploy and deploy your application by building a docker image which gets pushed to the pi - no need to reboot the pi or even touch it after the initial install, everything can be done over the network.

The basic workflow they offer is

  1. dev locally, run any local tests or anything else you can do on your host.
  2. use git to commit your code locally
  3. use git to push to a remote on their servers

Then they build a docker image with your application in it, and push that to your pi restarting the container all automatically.

They even offer a local dev loop where you can build the docker image locally and push it directly to the pi.

Michael Daffin
  • 761
  • 1
  • 5
  • 10
0

Looks like I need to:

  1. Use a tool like Etcher to burn a Raspbian image to an SD card
  2. Then plug the SD card into my pi
  3. Connect a monitor and keyboard to my pi
  4. Power the pi on
  5. Install Raspbian manually
  6. Provision the pi manually (run apt-get, install my service/executable, etc.)
  7. And now I can power the pi on/off like a normally-provisioned *nix machine
smeeb
  • 645
  • 3
  • 9
  • 22