Skip to content

How to run an Instance of Toro in Google Compute Engine

Matias Ezequiel Vara Larsen edited this page Apr 17, 2019 · 7 revisions

Introduction

This wiki presents how to launch an instance of Toro in the Google Compute Engine by using the Google Cloud Shell. We use as a running example Exceptions.pas. We demonstrate that Toro correctly boots by checking the serial port. You can watch the whole procedure here:

In the next steps, we show how to get the example working.

Step 1. Get access to the Google Cloud Shell

To get the shell, go to http://console.cloud.google.com and then click on Enable Cloud Shell at top right. In this case, we have previously created a project named torotest1.

Step 2. Get a prebuilt image

Download a prebuilt image from the release section.

wget https://github.com/torokernel/torokernel/releases/download/master-471/ExceptionHandling.img

Step 3. Rename and compress the image

mv ExceptionHandling.img disk.raw

tar -Sczf exceptions.tar.gz disk.raw

Step 4. Upload disk tarball to Google Cloud Storage

gsutil mb gs://torobucket

gsutil cp exceptions.tar.gz gs://torobucket/exceptions.tar.gz

gcloud compute images create toroexcept --project=testtoro --source-uri gs://torobucket/exceptions.tar.gz

In this case, I created a bucket named torobucket and I uploaded the .tar.gz there. I also created the image named toroexcept.

Step 5. Create an instance

gcloud compute instances create toroexcept1 --zone us-central1-a --image toroexcept --metadata serial-port-enable=1

I created an instance named toroexcept1 by using the image named toroexcept.

Step 6. Connect to the Instance by using the serial port

gcloud compute connect-to-serial-port toroexcept1 --zone=us-central1-a

If Toro has correctly booted you will get something like this:

[10/04/2019-14:56:52] CPU0 Thread#3221200800 [0x400249] in ??:??

Conclusions

In this wiki, we have shown how to deploy an instance of Toro in the GCE. We have used a simple example that prints something through the serial port. The use of networking remains as future work.

You can’t perform that action at this time.