(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
# 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