Canonical Voices

Posts tagged with 'azure'

Dustin Kirkland

Update: Here's how to get started using Ubuntu on Windows

See also Scott Hanselman's blog here
I'm in San Francisco this week, attending Microsoft's Build developer conference, as a sponsored guest of Microsoft.



That's perhaps a bit odd for me, as I hadn't used Windows in nearly 16 years.  But that changed a few months ago, as I embarked on a super secret (and totally mind boggling!) project between Microsoft and Canonical, as unveiled today in a demo during Kevin Gallo's opening keynote of the Build conference....



An Ubuntu user space and bash shell, running natively in a Windows 10 cmd.exe console!


Did you get that?!?  Don't worry, it took me a few laps around that track, before I fully comprehended it when I first heard such crazy talk a few months ago :-)

Here's let's break it down slowly...
  1. Windows 10 users
  2. Can open the Windows Start menu
  3. And type "bash" [enter]
  4. Which opens a cmd.exe console
  5. Running Ubuntu's /bin/bash
  6. With full access to all of Ubuntu user space
  7. Yes, that means apt, ssh, rsync, find, grep, awk, sed, sortxargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch...
  8. And most of the tens of thousands binary packages available in the Ubuntu archives!
"Right, so just Ubuntu running in a virtual machine?"  Nope!  This isn't a virtual machine at all.  There's no Linux kernel booting in a VM under a hypervisor.  It's just the Ubuntu user space.

"Ah, okay, so this is Ubuntu in a container then?"  Nope!  This isn't a container either.  It's native Ubuntu binaries running directly in Windows.

"Hum, well it's like cygwin perhaps?"  Nope!  Cygwin includes open source utilities are recompiled from source to run natively in Windows.  Here, we're talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.

[long pause]

"So maybe something like a Linux emulator?"  Now you're getting warmer!  A team of sharp developers at Microsoft has been hard at work adapting some Microsoft research technology to basically perform real time translation of Linux syscalls into Windows OS syscalls.  Linux geeks can think of it sort of the inverse of "wine" -- Ubuntu binaries running natively in Windows.  Microsoft calls it their "Windows Subsystem for Linux".  (No, it's not open source at this time.)

Oh, and it's totally shit hot!  The sysbench utility is showing nearly equivalent cpu, memory, and io performance.

So as part of the engineering work, I needed to wrap the stock Ubuntu root filesystem into a Windows application package (.appx) file for suitable upload to the Windows Store.  That required me to use Microsoft Visual Studio to clone a sample application, edit a few dozen XML files, create a bunch of icon .png's of various sizes, and so on.

Not being Windows developer, I struggled and fought with Visual Studio on this Windows desktop for a few hours, until I was about ready to smash my coffee mug through the damn screen!

Instead, I pressed the Windows key, typed "bash", hit enter.  Then I found the sample application directory in /mnt/c/Users/Kirkland/Downloads, and copied it using "cp -a".  I used find | xargs | rename to update a bunch of filenames.  And a quick grep | xargs | sed to comprehensively search and replace s/SampleApp/UbuntuOnWindows/. And Ubuntu's convert utility quickly resized a bunch of icons.   Then I let Visual Studio do its thing, compiling the package and uploading to the Windows Store.  Voila!

Did you catch that bit about /mnt/c...  That's pretty cool...  All of your Windows drives, like C: are mounted read/write directly under /mnt.  And, vice versa, you can see all of your Ubuntu filesystem from Windows Explorer in C:\Users\Kirkland\AppData\Local\Lxss\rootfs\


Meanwhile, I also needed to ssh over to some of my other Ubuntu systems to get some work done.  No need for Putty!  Just ssh directly from within the Ubuntu shell.



Of course apt install and upgrade as expected.



Is everything working exactly as expected?  No, not quite.  Not yet, at least.  The vast majority of the LTP passes and works well.  But there are some imperfections still, especially around tty's an the vt100.  My beloved byobu, screen, and tmux don't quite work yet, but they're getting close!

And while the current image is Ubuntu 14.04 LTS, we're expecting to see Ubuntu 16.04 LTS replacing Ubuntu 14.04 in the Windows Store very, very soon.

Finally, I imagine some of you -- long time Windows and Ubuntu users alike -- are still wondering, perhaps, "Why?!?"  Having dedicated most of the past two decades of my career to free and open source software, this is an almost surreal endorsement by Microsoft on the importance of open source to developers.  Indeed, what a fantastic opportunity to bridge the world of free and open source technology directly into any Windows 10 desktop on the planet.  And what a wonderful vector into learning and using more Ubuntu and Linux in public clouds like Azure.  From Microsoft's perspective, a variety of surveys and user studies have pointed to bash and Linux tools -- very specifically, Ubuntu -- be available in Windows, and without resource-heavy full virtualization.

So if you're a Windows Insider and have access to the early beta of this technology, we certainly hope you'll try it out!  Let us know what you think!

If you want to hear more, hopefully you'll tune into the Channel 9 Panel discussion at 16:30 PDT on March 30, 2016.

Cheers,
Dustin

Read more
Dustin Kirkland

tl;dr:  Your Ubuntu-based container is not a copyright violation.  Nothing to see here.  Carry on.
I am speaking for my employer, Canonical, when I say you are not violating our policies if you use Ubuntu with Docker in sensible, secure ways.  Some have claimed otherwise, but that’s simply sensationalist and untrue.

Canonical publishes Ubuntu images for Docker specifically so that they will be useful to people. You are encouraged to use them! We see no conflict between our policies and the common sense use of Docker.

Going further, we distribute Ubuntu in many different signed formats -- ISOs, root tarballs, VMDKs, AMIs, IMGs, Docker images, among others.  We take great pride in this work, and provide them to the world at large, on ubuntu.com, in public clouds like AWS, GCE, and Azure, as well as in OpenStack and on DockerHub.  These images, and their signatures, are mirrored by hundreds of organizations all around the world. We would not publish Ubuntu in the DockerHub if we didn’t hope it would be useful to people using the DockerHub. We’re delighted for you to use them in your public clouds, private clouds, and bare metal deployments.

Any Docker user will recognize these, as the majority of all Dockerfiles start with these two words....

FROM ubuntu

In fact, we gave away hundreds of these t-shirts at DockerCon.


We explicitly encourage distribution and redistribution of Ubuntu images and packages! We also embrace a very wide range of community remixes and modifications. We go further than any other commercially supported Linux vendor to support developers and community members scratching their itches. There are dozens of such derivatives and many more commercial initiatives based on Ubuntu - we are definitely not trying to create friction for people who want to get stuff done with Ubuntu.

Our policy exists to ensure that when you receive something that claims to be Ubuntu, you can trust that it will work to the same standard, regardless of where you got it from. And people everywhere tell us they appreciate that - when they get Ubuntu on a cloud or as a VM, it works, and they can trust it.  That concept is actually hundreds of years old, and we’ll talk more about that in a minute....


So, what do I mean by “sensible use” of Docker? In short - secure use of Docker. If you are using a Docker container then you are effectively giving the producer of that container ‘root’ on your host. We can safely assume that people sharing an Ubuntu docker based container know and trust one another, and their use of Ubuntu is explicitly covered as personal use in our policy. If you trust someone to give you a Docker container and have root on your system, then you can handle the risk that they inadvertently or deliberately compromise the integrity or reliability of your system.

Our policy distinguishes between personal use, which we can generalise to any group of collaborators who share root passwords, and third party redistribution, which is what people do when they exchange OS images with strangers.

Third party redistribution is more complicated because, when things go wrong, there’s a real question as to who is responsible for it. Here’s a real example: a school district buys laptops for all their students with free software. A local supplier takes their preferred Linux distribution and modifies parts of it (like the kernel) to work on their hardware, and sells them all the PCs. A month later, a distro kernel update breaks all the school laptops. In this case, the Linux distro who was not involved gets all the bad headlines, and the free software advocates who promoted the whole idea end up with egg on their faces.

We’ve seen such cases in real hardware, and in public clouds and other, similar environments.  Digital Ocean very famously published some modified and very broken Ubuntu images, outside of Canonical's policies.  That's inherently wrong, and easily avoidable.

So we simply say, if you’re going to redistribute Ubuntu to third parties who are trusting both you and Ubuntu to get it right, come and talk to Canonical and we’ll work out how to ensure everybody gets what they want and need.

Here’s a real exercise I hope you’ll try...

  1. Head over to your local purveyor of fine wines and liquors.
  2. Pick up a nice bottle of Champagne, Single Malt Scotch Whisky, Kentucky Straight Bourbon Whiskey, or my favorite -- a rare bottle of Lambic Oude Gueze.
  3. Carefully check the label, looking for a seal of Appellation d'origine contrôlée.
  4. In doing so, that bottle should earn your confidence that it was produced according to strict quality, format, and geographic standards.
  5. Before you pop the cork, check the seal, to ensure it hasn’t been opened or tampered with.  Now, drink it however you like.
  6. Pour that Champagne over orange juice (if you must).  Toss a couple ice cubes in your Scotch (if that’s really how you like it).  Pour that Bourbon over a Coke (if that’s what you want).
  7. Enjoy however you like -- straight up or mixed to taste -- with your own guests in the privacy of your home.  Just please don’t pour those concoctions back into the bottle, shove a cork in, put them back on the shelf at your local liquor store and try to pass them off as Champagne/Scotch/Bourbon.


Rather, if that’s really what you want to do -- distribute a modified version of Ubuntu -- simply contact us and ask us first (thanks for sharing that link, mjg59).  We have some amazing tools that can help you either avoid that situation entirely, or at least let’s do everyone a service and let us help you do it well.

Believe it or not, we’re really quite reasonable people!  Canonical has a lengthy, public track record, donating infrastructure and resources to many derivative Ubuntu distributions.  Moreover, we’ve successfully contracted mutually beneficial distribution agreements with numerous organizations and enterprises. The result is happy users and happy companies.

FROM ubuntu,
Dustin

The one and only Champagne region of France

Read more
Ben Howard

One of the perennial problems in the Cloud is knowing what is the most current image and where to find it. Some Clouds provide a nice GUI console, an API, or some combination. But what has been missing is a "dashboard" showing Ubuntu across multiple Clouds.


Screenshot
https://cloud-images.ubuntu.com/locator
In that light, I am please to announce that we have a new beta Cloud Image Finder. This page shows where official Ubuntu images are available. As with all betas, we have some kinks to work out, like gathering up links for our Cloud Partners (so clicking an Image ID launches an image). I envision that in the future this locator page will be the default landing page for our Cloud Image Page..



The need for this page became painfully apparent yesterday as I was working through the fallout of the Ghost Vulnerability (aka CVE 2015-0235). The Cloud Image team had spent a good amount of time pushing our images to AWS, Azure, GCE, Joyent and then notifying our partners like Brightbox, DreamCompute, CloudSigma and VMware of new builds. I realized that we needed a single place for our users to just look and see where the builds are available. And so I hacked up the EC2 Locator page to display other clouds.  

Please note: this new page only shows stable releases. We push a lot of images and did not want to confuse things by showing betas, alphas, dailies or the development builds. Rather, this page will only show images that have been put through the complete QA process and are ready for production work loads. 

This new locator page is backed by Simple Streams, which is our machine-formatted data service. Simple Streams provides a way of locating images in uniform way across the cloud. Essentially our new Locator Page is just a viewer of the Simple Stream Data.

Hopefully our users will find this new page useful. Feedback is always welcome. Please feel free to drop me a line (utlemming @ ubuntu dot com). 

Read more
Dustin Kirkland


With the recent introduction of Snappy Ubuntu, there are now several different ways to extend and update (apt-get vs. snappy) multiple flavors of Ubuntu (Core, Desktop, and Server).

We've put together this matrix with a few examples of where we think Traditional Ubuntu (apt-get) and Transactional Ubuntu (snappy) might make sense in your environment.  Note that this is, of course, not a comprehensive list.

Ubuntu Core
Ubuntu Desktop
Ubuntu Server
Traditional apt-get
Minimal Docker and LXC imagesDesktop, Laptop, Personal WorkstationsBaremetal, MAAS, OpenStack, General Purpose Cloud Images
Transactional snappy
Minimal IoT Devices and Micro-Services Architecture Cloud ImagesTouch, Phones, TabletsComfy, Human Developer Interaction (over SSH) in an atomically updated environment

I've presupposed a few of the questions you might ask, while you're digesting this new landscape...

Q: I'm looking for the smallest possible Ubuntu image that still supports apt-get...
A: You want our Traditional Ubuntu Core. This is often useful in building Docker and LXC containers.

Q: I'm building the next wearable IoT device/drone/robot, and perhaps deploying a fleet of atomically updated micro-services to the cloud...
A: You want Snappy Ubuntu Core.

Q: I want to install the best damn Linux on my laptop, desktop, or personal workstation, with industry best security practices, 30K+ freely available open source packages, freely available, with extensive support for hardware devices and proprietary add-ons...
A: You want the same Ubuntu Desktop that we've been shipping for 10+ years, on time, every time ;-)

Q: I want that same converged, tasteful Ubuntu experience on your personal, smart devices like my Phones and Tablets...
A: You want Ubuntu Touch, which is a very graphical human interface focused expression of Snappy Ubuntu.

Q: I'm deploying Linux onto bare metal servers at scale in the data center, perhaps building IaaS clouds using OpenStack or PaaS cloud using CloudFoundry? And I'm launching general purpose Linux server instances in public clouds (like AWS, Azure, or GCE) and private clouds...
A: You want the traditional apt-get Ubuntu Server.

Q: I'm developing and debugging applications, services, or frameworks for Snappy Ubuntu devices or cloud instances?
A: You want Comfy Ubuntu Server, which is a command line human interface extension of Snappy Ubuntu, with a number of conveniences and amenities (ssh, byobu, manpages, editors, etc.) that won't be typically included in the minimal Snappy Ubuntu Core build. [*Note that the Comfy images will be available very soon]

Cheers,
:-Dustin

Read more
Ben Howard

Many of our Cloud Image users have inquired about the availability of updated Ubuntu Cloud Images in response to the Heartbleed OpenSSL Vulnerability [1]. Ubuntu released update Ubuntu packages for OpenSSL 08 April 2014 [2]. Due to the exceptional circumstances and severity of the Heartbleed OpenSSL bug, Canonical has released new 12.04.4 LTS, 12.10 and 13.10 Cloud Images at [3].

Canonical is working with Amazon to get the Quickstart and the AWS Marketplace links updated. In the meantime, you can find new AMI ID's at [3] and [4]. Also, the snapshot's for Amazon have the volume-create permission granted on the latest images.

Windows Azure [5], Joyent [6] and HP [7, 8, 9] all have updated Cloud Images in their respective galleries.

If you are running an affected version of OpenSSL on 12.04 LTS, 12.10 or 13.10, you are strongly encouraged to update. For new instances, it is recommended to either use an image with a serial newer than 20140408, or update your OpenSSL  package immediately upon launch. Finally, if you need documentation on enabling unattended upgrades, please see [10].


[1] https://www.openssl.org/news/secadv_20140407.txt
[2] http://www.ubuntu.com/usn/usn-2165-1/
[3] 12.04.4 LTS: http://cloud-images.ubuntu.com/releases/precise/release-20140408/
     12.10: http://cloud-images.ubuntu.com/releases/quantal/release-20140409/
     13.10: http://cloud-images.ubuntu.com/releases/saucy/release-20140409.1/
[4] http://cloud-images.ubuntu.com/locator/ec2/
[5] Azure: Ubuntu-12_04_4-LTS-amd64-server-20140408-en-us-30GB
                 Ubuntu-12_10-amd64-server-20140409-en-us-30GB
                 Ubuntu-13_10-amd64-server-20140409.1-en-us-30GB
[6] Joyent Images:
        "ubuntu-certified-12.04", fe5aa6c0-0f09-4b1f-9bad-83e453bb74f3
        "ubuntu-certified-13.10", 049dfe64-6c37-4b88-8e89-4b8aa0f129f2
[7] HP US-West-1:
          12.04.4: 27be722e-d2d0-44f0-bebe-471c4af76039
          12.10: 065bb450-e5d0-4348-997d-e4d9e359b8fb
          13.10: 9d7d22d0-7d43-481f-a7eb-d93ea2791409
[8] HP US-East-1:
          12.04.4 8672f4c6-e33d-46f5-b6d8-ebbeba12fa02
          12.10: cbb44038-2602-48d5-b609-e05f4b61be9a
          13.10: 00398423-7429-4064-b781-fa0af00449c8
[9] Waiting on HP for replication to legacy regions az-{1,2,3}
[10] https://help.ubuntu.com/community/AutomaticSecurityUpdates

Read more
Ben Howard

Over the course of working with Microsoft on Windows Azure, we have had the goal of bringing the same experience on Azure as our users have on EC2. As part of our QA process, we publish daily images (http://cloud-images.ubuntu.com) for EC2 and OpenStack users.

Today, I am pleased to announce that Windows Azure Cloud Image dailies are now being published for Ubuntu Server 12.04 LTS, 12.10, 13.04 and the current development version 13.10. Due to the way that Windows Azure image publication works, these images will appear with in a three or four hours of the EC2 images and will be published to all Windows Azure regions.

However, the daily images will not be available in the Windows Azure Gallery; these images are published to API users. In the coming weeks, we'll throw up some pages to help our API users find the current images, but for now, you can use the API Query tools to find the images.

The initial daily images are:

  • Ubuntu_DAILY_BUILD-precise-12_04_2-LTS-amd64-server-20130502-en-us-30GB
  • Ubuntu_DAILY_BUILD-raring-13_04-amd64-server-20130501-en-us-30GB
  • Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20130502-en-us-30GB  
As you can see, daily builds are clearly marked as "DAILY_BUILD" and include both the code name and the version number. Canonical provided images are all prefixed with our publisher GUUID of "b39f27a8b8c64d52b05eac6a62ebad85__"

While we make every effort at maintaining quality, daily images are not officially supported and may have issues as they are not rigorously QA'ed. As part of our release process, we take a daily, put it through QA and then promote the image.  If you see any problems with any of the daily builds, please head over to Launchpad.net and file us a bug.

For those who need a primer on using the Azure CLI Tool, our friends over at Microsoft have a really good explanation here. After you get it all setup, you should see all versions of the released Ubuntu Cloud Images and the dailies.

Finally, our daily image publishing will be restricted to the last five images for any one series. Like on EC2, all versions of Ubuntu Server released Cloud Images will remain indefinitely, with the exception of the pre-Windows Azure GA images (i.e. images with a serial of less than 20130414).

Read more
Ben Howard

We are pleased to announce the immediate availability of the latest 12.04.1 (Precise Pangolin) and 12.10 (Quantal Quetzal) Cloud Images on Windows Azure, Microsoft's public cloud. These images are named:
  • 12.04.1: Ubuntu-12_04_1-LTS-amd64-20121218-en-us-30GB
  • 12.10: Ubuntu-12_10-amd64-20121218-1-en-us-30GB
Please note, that due to the way that Windows Azure Gallery works, we will not be able to maintain older images on the gallery. As new images become available, we will be expiring old images. If you need a specific version/serial of a Ubuntu Cloud Image, we strongly suggest that you snapshot and use that version.
Action required: Updates for Existing Images

ACTION REQUIRED: Update existing 12.04.1 or 12.10 images

Over the last year, it has been our pleasure to work with Microsoft to build the Ubuntu Cloud Images for Windows Azure. Microsoft is making updates to Windows Azure to further increase performance and stability of Virtual Machines, currently in preview. These updates require an action - by January 15, 2013 - on custom Linux virtual machine images that fit the definition below:

  • Any gallery Linux images captured into storage accounts from a virtual machine originally created on or before December 21, 2012
  • Any of your personal Linux images uploaded to Windows Azure on or before December 21, 2012.
To learn more about the changes that Microsoft has implemented, please see Microsoft’s announcement.
All Ubuntu users who have instances running on Windows Azure need to make sure that they take action BEFORE January 15, 2013 (else, they might find the Mayan prophecy 30 days late, as far as their instances are concerned).
If, however, you want to update existing images, then we present to you, utlemming’s tl;dr update guide (or you can use Microsoft’s guide, which does the same stuff, just with more explicit commands).

utlemming’s tl;dr update guide

From a Ubuntu perspective the changes required for 12.04 and 12.10 are:
  • CHANGE the current archive mirrors to the on-site Azure mirrors. Canonical has worked to build fast and stable regional mirrors which are co-located in each Azure region. To reduce your bandwidth costs and improve the experience of installing software, all users should update to the new mirrors.
  • CHANGE bootloader configuration to include kernel parameters of “rootdelay=300 console=ttyS0″ and drop the kernel parameter "ata_piix.disable_driver" as it is no longer beneficial and will cause harm after January 15, 2013
  • ADD hv-kvp-daemon-init, which facilitates the start of the hv-kvp-daemon and supporting scripts. The hv-kvp-daemon handles hyper-visor-to-Ubuntu communication channels.
  • ADD linux-backports-hv-{precise,quantal}-virtual (lbm module). The lbm module backports the 3.7 HV stack to support new hypervisor features, as well as increase performance and stability.
  • UPDATE walinuxagent to version 1.2. Microsoft has introduced some bug fixes to the way that provisioning of Linux images work. This updated agent will reduce provisioning failures.

   
Update Ubuntu 12.04 and 12.04.1

For those running 12.04 and 12.04.1, the following steps are needed to fully update Ubuntu to Windows Azure compatibility. Complete all eight steps to update the mirror, the kernel, and the Azure agent.
  1. sudo sed -i “s,archive.ubuntu.com,azure.archive.ubuntu.com,g” /etc/apt/sources.list
    • This step updates the mirrors to point to an Azure hosted mirror.
  2. sudo apt-add-repository ‘http://archive.canonical.com/ubuntu precise-backports main’
    • This step adds the repository needed to get the kernel and agent changes.
  3. sudo apt-get update
  4. sudo apt-get install linux-backports-modules-hv-precise-virtual
    • This step adds the update kernel and associated modules.
  5. sudo apt-get install hv-kvp-daemon-init walinuxagent
    • This step adds the updated agent.
  6. Perform the GRUB_CMDLINE_LINUX_DEFAULT steps outlined below to adjust the boot commandline options prior to your next boot.
  7. (recommended) sudo apt-get dist-upgrade
  8. sudo reboot

Update Ubuntu 12.10

For those who have already upgraded their images and area already running 12.10,  the following steps are needed to fully update Ubuntu to Windows Azure compatibility. Complete all eight steps to update the mirror, the kernel, and the Azure agent.
  1. sudo sed -i “s,archive.ubuntu.com,azure.archive.ubuntu.com,g” /etc/apt/sources.list
    • This step updates the mirrors to point to an Azure hosted mirror.
  2. sudo apt-add-repository ‘http://archive.canonical.com/ubuntu precise-backports main’
    • This step adds the repository needed to get the kernel and agent changes.
  3. sudo apt-get update
  4. sudo apt-get install linux-backports-modules-hv-precise-virtual
    • This step adds the update kernel and associated modules.
  5. sudo apt-get install hv-kvp-daemon-init walinuxagent
    • This step adds the updated agent.
  6. Perform the GRUB_CMDLINE_LINUX_DEFAULT steps outlined below to adjust the boot commandline options prior to your next boot.
  7. (recommended) sudo apt-get dist-upgrade
  8. sudo reboot

Update the Boot Loader Configuration

Ubuntu instances running on Windows Azure need to be configured for a long root delay (how long Ubuntu will wait for the root device to appear) and to output kernel messages to the serial console.

Edit /etc/default/grub and make sure that the GRUB_CMDLINE_LINUX_DEFAULT has “console=ttyS0 rootdelay=300” in it.  Remove any reference to "ata_piix.disable_driver". For example: 

GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0 rootdelay=300”Ubuntu instances running on Windows Azure should no longer be configured to disable the ata_piix driver as it is now used for simulating a CD-ROM.


An alternative to using an editor on /etc/default/grub is to just run these commands:
  1. sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0 rootdelay=300 /g' /etc/default/grub
  2. sudo sed -i 's/atapiix.disable_driver//g' /etc/default/grub
Then run the following to process these grub linux command line changes:
  1. sudo update-grub
  2. (optional) sudo reboot

Bring-your-own-Ubuntu (BYOU)

Obviously, we would love for you to use the images that Canonical builds. After all, we have a team that has put in countless hours building, perfecting and QA’ing. But, if for some reason you can’t, then can we suggest that you start with our base images? You can find them here:
These VHD files are the exact base-bits that have been uploaded and registered in the Windows Azure environment. Even better, these are based on the 20121218 Amazon AWS EC2 official images with the same package version and set (except there are a few more packages to support Windows Azure).
TIP: If you use the VHD files for BYOU, cloud-init is installed. Cloud-init is the magic sauce in the Ubuntu Cloud Images that gives each instance of Ubuntu running in the cloud a personality; for Windows Azure, Cloud-Init and WALinuxAgent work side-by-side to offer the best Ubuntu experience. We have configured cloud-init for NoDataSource, which means that it will look for user-data in /var/lib/cloud/seed/nocloud-net/user-data. Simply drop your user-data script in there, and at boot time, it will be run. Also, you can edit /etc/cloud/cloud.cfg as well to use different mirrors, add SSH keys, etc. You can read more about cloud-init here: https://help.ubuntu.com/community/CloudInit
For the adventurous that like to spin their own bits, please make sure that you have the following packages installed.
  • hv-kvp-daemon-init: handles hypervisor communication with Ubuntu
  • walinuxagent: Windows Azure Linux provisioning agent and Azure fabric registration agent
  • A kernel based on 3.7 or backports of the HV stack Ubuntu 13.04 kernels support the HV stack normally.
  • Install the linux-tools-common package.
  • 12.04 and 12.10 Ubuntu kernels will need the linux-backports-hv-{precise,quantal}-virtual package installed. This package is a complete backport of the _entire_ HV stack from Ubuntu 13.04.
  • Set /etc/apt/sources.list to use the hosted-in-Azure Ubuntu mirrors (http://azure.archive.ubuntu.com), which will use the speedy mirrors local to your Azure virtual machine. WARNING: these mirrors are dreadfully slow outside Azure.
Follow the Windows Azure recommendations for publication.
NOTE: It is very hard to generate a VHD file that is compatible with Windows Azure using open-source tools without playing a very annoying and disk-space intensive dance. For this reason we strongly recommend using the VHD files above, or using the in-Azure images and taking a snapshot.

Special thanks

The Ubuntu Cloud Image team recognizes that the success on Windows Azure would not be possible if not for the amazing help and special talents of Adam Conrad (infinity), Andy Whitcroft (apw) and the QA and Certification staff, as well as our fine colleagues at Microsoft.

Read more
ben

Announcing new 12.04.1 and 12.10 Image availability

We are pleased to announce the immediate availability of the latest 12.04.1 (Precise Pangolin) and 12.10 (Quantal Quetzal) Cloud Images on Windows Azure. These images are named:

  • 12.04.1: Ubuntu-12_04_1-LTS-amd64-20121218-en-us-30GB
  • 12.10: Ubuntu-12_10-amd64-20121218-1-en-us-30GB

Please note, that due to the way that Windows Azure Gallery works, we will not be able to maintain older images on the gallery. As new images become available, we will be expiring old images. If you need a specific version/serial of a Ubuntu Cloud Image, we strongly suggest that you snapshot and use that version.
Action required: Updates for Existing Images

ACTION REQUIRED: Update existing 12.04.1 or 12.10 images

Over the last year, its been our pleasure to work with Microsoft to build the Ubuntu Cloud Images for Windows Azure. As the platform has matured, Microsoft had to introduce a few breaking changes that will require the attention of our users. These changes were introduced in the Virtualization layer of the platform and improve performance, and most importantly, stability. However, these changes require that users either use an updated image or update their existing images to support the changes.

To learn more about the changes that Microsoft has implemented, please see Microsoft’s announcement.

All Ubuntu users who have instances running on Windows Azure need to make sure that they take action BEFORE January 20,2013 (else, they might find the Mayan prophecy 30 days late, as far as their instances are concerned).

If, however, you want to update existing images, then we present to you, utlemming’s tl;dr update guide (or you can use Microsoft’s guide, which does the same stuff, just with more explicit commands).

utlemming’s tl;dr update guide

From a Ubuntu perspective the changes required for 12.04 and 12.10 are:

  • CHANGE the current archive mirrors to the on-site Azure mirrors. Canonical has worked to build fast and stable regional mirrors which are co-located in each Azure region. To reduce your bandwidth costs and improve the experience of installing software, all users should update to the new mirrors.
  • CHANGE bootloader configuration to include kernel parameters of “rootdelay=300 console=ttyS0″
  • ADD hv-kvp-daemon-init, which facilitates the start of the hv-kvp-daemon and supporting scripts. The hv-kvp-daemon handles hyper-visor-to-Ubuntu communication channels.
  • ADD linux-backports-hv-{precise,quantal}-virtual (lbm module). The lbm module backports the 3.7 HV stack to support new hypervisor features, as well as increase performance and stability.
  • UPDATE walinuxagent to version 1.2. Microsoft has introduced some bug fixes to the way that provisioning of Linux images work. This updated agent will reduce provisioning failures.

Update Ubuntu 12.04 and 12.04.1

For those running 12.04 and 12.04.1, the following steps are needed to fully update Ubuntu to Windows Azure compatibility:

  1. sudo sed -i “s,archive.ubuntu.com,azure.archive.ubuntu.com,g” /etc/apt/sources.list
  2. sudo apt-add-repository ‘http://archive.canonical.com/ubuntu precise-backports main’
  3. sudo apt-get update
  4. sudo apt-get install hv-kvp-daemon-init walinuxagent linux-backports-modules-hv-precise-virtual
  5. (recommended) sudo apt-get dist-upgrade
  6. sudo reboot

Update Ubuntu 12.10

For those running 12.10, the following steps are needed to fully update Ubuntu to Windows Azure compatibility:

  1. sudo sed -i “s,archive.ubuntu.com,azure.archive.ubuntu.com,g” /etc/apt/sources.list
  2. sudo apt-add-repository ‘http://archive.canonical.com/ubuntu quantal-backports main’
  3. sudo apt-get update
  4. sudo apt-get install hv-kvp-daemon-init walinuxagent linux-backports-modules-hv-precise-virtual
  5. (recommended) sudo apt-get dist-upgrade
  6. sudo reboot

Update the Boot Loader Configuration

Ubuntu instances running on Windows Azure need to be configured for a long root delay (how long will Ubuntu wait for the root device to appear) and to output kernel messages to the serial console.

Edit /etc/default/grub and make sure that the GRUB_CMDLINE_LINUX_DEFAULT has “console=ttyS0 rootdelay=300” in it. For example:

GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0 rootdelay=300”

Then run the following:

  1. sudo update-grub
  2. (optional) sudo reboot

Bring-your-own-Ubuntu (BYOU)

Obviously, we would love for you to use the images that Canonical builds. After all, we have a team that has put in countless hours building, perfecting and QA’ing. But, if for some reason you can’t, then can we suggest that you start with our base images? You can find them here:

These VHD files are the exact base-bits that have been uploaded and registered in the Windows Azure environment. Even better, these are based on the 20121218 Amazon AWS EC2 official images with the same package version and set (except there are a few more packages to support Windows Azure).

TIP: If you use the VHD files for BYOU, cloud-init is installed. Cloud-init is the magic sauce in the Ubuntu Cloud Images that gives each instance of Ubuntu running in the cloud a personaility; for Windows Azure, Cloud-Init and WALinuxAgent work side-by-side to offer the best Ubuntu experience. We have configured cloud-init for NoDataSource, which means that it will look for user-data in /var/lib/cloud/seed/nocloud-net/user-data. Simply drop your user-data script in there, and at boot time, it will be run. Also, you can edit /etc/cloud/cloud.cfg as well to use different mirrors, add SSH keys, etc. You can read more about cloud-init here: https://help.ubuntu.com/community/CloudInit

For the adventurous that like to spin their own bits, please make sure that you have the following packages installed.

  • hv-kvp-daemon-init: handles hypervisor communication with Ubuntu
  • walinuxagent: Windows Azure Linux provisioning agent and Azure fabric registration agent
  • A kernel based on 3.7 or backports of the HV stack Ubuntu 13.04 kernels support the HV stack normally.
  • Install the linux-tools-common package.
  • 12.04 and 12.10 Ubuntu kernels will need the linux-backports-hv-{precise,quantal}-virtual package installed. This package is a complete backport of the _entire_ HV stack from Ubuntu 13.04.
  • Set /etc/apt/sources.list to use the in-Azure (http://azure.archive.ubuntu.com), which will use the speedy mirrors in Ubuntu. WARNING: these mirrors are dreadfully slow outside Azure.

Follow the Windows Azure recommendations for publication.

NOTE: It is very hard to generate a VHD file that is compatible with Windows Azure using open-source tools without playing a very annoying and disk-space intensive dance. For this reason we strongly recommend using the VHD files above, or using the in-Azure images and taking a snapshot.

Special thanks

The Ubuntu Cloud Image team recognizes that the success on Windows Azure would not be possible if not for the amazing help and special talents of Adam Conrad (infinity), Andy Whitcroft (apw) and the QA and Certification staff, as well as our fine colleges at Microsoft.

Read more
ben

We are delighted to announce that, as of Friday, we have new Azure mirrors online. These new mirrors use a single URL:

http://azure.archive.ubuntu.com

To use these new mirrors, simply replace your existing mirrors with the one above.

Read more