Menu

  • Home
  • Archives
  • Tags
  • RSS
June 13, 2015

freebsd on google compute engine

I had tried running FreeBSD on Google Compute Engine previously, but given up. Last week I was suddenly reminded of this, and after Googling around a bit, came across this script by Steve Wills (Thanks, Steve!) that automated the task of building a "GCE-ready" image on an existing FreeBSD system.

Hooray! No, wait, I don't have an existing FreeBSD system; that's sort of what this is all about. This minor despondency was short-lived, since I had temporarily forgotten how we now live with computers within computers within computers (give or take a layer). So I installed the VMWare Workstation, downloaded the iso for 10.1-RELEASE, and booted it up.

All you need is the Google Cloud SDK, which is available under the ports tree, so something like the following should suffice:


$ cd /usr/ports/net/google-cloud-sdk

$ make install

Then grab the script and run it.


$ curl https://raw.githubusercontent.com/swills/FreeBSD-gcloud/master/build_google_image.sh > /tmp/swill-script.sh

$ chmod a+x /tmp/swill-script.sh

$ /tmp/swill-script.sh

components

base.txz                                      100% of   63 MB 7041 kBps 00m09s

kernel.txz                                    100% of   84 MB 3187 kBps 00m27s

Creating image

Creating filesystem

Installing base into image

Installing kernel into image

Setting up image

Finishing image

Creating partitioned file

Creating image tar

Now run:



gcloud auth login

gsutil cp FreeBSD-10.1-RELEASE-amd64-20150612191810.tar.gz gs://swills-test-bucket

gcutil addimage freebsd-101-release-amd64-20150612191810 gs://swills-test-bucket/FreeBSD-10.1-RELEASE-amd64-20150612191810.tar.gz

As you might have noticed, the script ends with a helpful suggestion for the subsequent commands to run. Caveats:

  • If you're doing all this within a VM like I was, you'll want to run gcloud auth login –no-launch-browser
  • You might need to run gcloud config set project <project ID> (that's project ID, not project name)
  • (obviously) replace swills-test-bucket with your bucket (you can create one at the cloud console (Storage -> Cloud Storage -> Storage Browser)

After this, a few clicks should get you a new instance (remember to select the custom image uploaded earlier), and SSHing into it should show you /etc/motd (which is still a plain old file, and not, you know, this abomination).

Enjoy!


Tags: old-post

« pharo trying out stack dot dot dot »

Copyright © 2020 Agam Brahma

Powered by Cryogen