(Note: this is just an experiment. I’m not sure I’m going to do anything more with this, but it is geeky cool.)
Background: I’d much rather do firmware development on linux, but I don’t have a spare, energy-sucking linux box. I do, however, have a windows box with some disk space, and I also happen to like virtual machines.
So, just for grins, I wondered how hard it would be to create an automagically-downloaded and configured virtual linux system for building the firmware. It turns out to be quite simple.
If you install these programs on windows:
Then downloading, installing, and configuring a firmware build box is easy, as long as you don’t mind working from the command-line (like cmd.exe
):
# cd to some convenient directory
git clone https://github.com/darrylo/sparkyvm.git
cd sparkyvm
vagrant up
Bang, done. At this point, you have a fully configured (and running) linux virtual machine, fully capable of building the spark firmware. (However, the vagrant up
command can take 15-30+ minutes to run, and you also need maybe 90GB of free disk space.)
In fact, if you want to build the spark firmware:
# login to the system (no password required)
vagrant ssh
# Get sources and build everything:
cd /vagrant
/vagrant/firmware-init
/vagrant/firmware-build
# logout
exit
Done. At this point, the new firmware can be found as /vagrant/spark/core-firmware/build/core-firmware.bin
. However, because /vagrant
is shared between the virtual linux system and the windows host, you can use windows to transfer spark/core-firmware/build/core-firmware.bin
to a core.
For more information, see here: https://github.com/darrylo/sparkyvm