wiki:UpgradeNotes

Version 13 (modified by Ted Faber, 12 years ago) (diff)

--

Notes from Upgrading to Ubuntu 12.04 from 10.04

The new VMs

Upgraded the VM instance by swapping in an Ubuntu 10.04 image (the pre-upgrade version) and installing a new 12.04 i386 install. Special things I did:

  • Used a hardware type that supports virtualization - pc2133
  • Used tb-allow-external to allow the Ubuntu install to proceed. It expects external connectivity.
    • I added the Ubunutu 10.04 image to the list of images allowed to access external hosts temporarily to do this
  • The image file itself was created using
$ qemu-img create -f qcow2 /tmp/pangolin.img 10G

To do the install on an X window I needed to log into the DETER node hosting qemu using

$ ssh -Y pc055

Once I had a bootable image, I booted it, logged in, and changed /etc/apt/sources.list to point to scratch instead of the various ubuntu and cannonical sources. After the substitutions there were 2 duplicates that I commented out.

It's important to make the configuration user something that won't need to be overwritten by experiments. I used toor, well after I remembereed this.

The default /etc/resolve.conf doesn't resolve scratch, so I copied one from the host on which QEMU was running. This file was originally a symlink to a version updated by the DHCP subsystem. The symlink must be severed for the needed changes to stick.

Added an admin group and modified /etc/sudoers to allow that group to sudo without a password. The container system populates that group.

After this sudo apt-get update succeeds.

Ubuntu doesn't enable sshd by default. Be sure to:

$ apt-get install openssh-server

Shut down the VM and store the image on scratch

$ scp pangolin.img scratch:/var/www/benito

QEMU software

The default Ubuntu QEMU install does not support VDE, which is clearly a problem.

This is easy enough to fix using the instructions for rebuilding a debian package

  • apt-get the source for qemu-kvm and the supporting tools
  • modify debian/rules to include --enable-vde in the configure call
  • use debuild as above to make a new .deb

Move the debs - more than one gets created - into /share/benito/packages/hv:qemu_packages and adjust /share/benito/etc/hv:qemu_packages accordingly

There were custom debs for vde as well, but they are commented as fixing an overflow in i386. This install is for amd64 so we'll try the stock vde packages.

The sources are in ~mikeryan/dev/benito/vde but the changes were not completely clear.

Making DEBs for ViewOS

The 0.6 view-os debs behvae badly on 12.04. Processes get stopped and other badness, so we build from source, starting from http://wiki.virtualsquare.org/wiki/index.php/Getting_started#Installing_Virtual_Square_Tools and making debs.

The build works directly and the SIGSTOPs go away, but we'd like DEBs to install.

Working from http://www.debian.org/doc/manuals/maint-guide/ and banging my head I did the following:

Making the VDE2 deb

Check the source out of SVN and tar up the {{{vde-2}} directory

$ svn co https://vde.svn.sourceforge.net/svnroot/vde/trunk vde
$ cd vde
$ tar czf ~/vde-2.tar.gz vde-2
$ cp ~/vde-2.tar.gz /tmp
$ cd /tmp 

Untar the vde directory and run dh-make

$ tar xzf vde-2.tar.gz
$ cd vde-2
$ dh_make -f ../vde-2.tar.gz -p vde2_20120806

The -p sets the name of the deb.

The debian directory needs some tweaks. The control, copyright and rules are attached. Rules is most interesting in that it is functional. The key part is:

build:
	autoreconf --install
	./configure --prefix=/usr
	make

%:
	dh $@ 

The build rule includes the build instructions from the VirtualSquare installation pages, with the prefix given. That's what debian uses, and libtool will snarl the install process without it.

Once it his in in place

$ debuild -uc -us

from /tmp/vde-2 will build the deb (in /tmp). {{debuild}}} runs lintian which complains about .la files with embedded paths. This is resolved by the install process.

ViewOs debs

The process above - including the verbatim rules file will work fog veiw-os, as long as each sub dir of interest is de-ified seperately.

I did lwipv6, purelibc, and xmviewos.

The xmviewos has patchs attached (following the rules at http://www.debian.org/doc/manuals/maint-guide/modify.en.html ) to defines NOUMBINWRAP in xmview/um_exec.c, to move a memory allocation so that it does not interfere with thread creation, and to tuen on IP forwarding in the lwip stacks.

These patches are:

When building the xmviewos deb, make sure that the others have been installed. Without them key modules will not be built and included.

Attachments (8)

Download all attachments as: .zip