HTTPS SSH

About

This repository contains the toolchain necessary to build a custom mOS cloud image.

This is an open-source project released under the Apache 2.0 license (see the "Notice" section below).

This project has been developed under SPECS Project (www.specs-project.eu)

Requirements

A running environment (native or under chroot) with OpenSUSE 13.1 (http://download.opensuse.org/distribution/13.1/iso/) or mOS 4.2.x or 4.3.x (http://ftp.specs-project.eu/public/custom-os/). Also the following dependencies are mandatory:

  • linux tools: wget, curl, btrfs, kpartx, patch;
  • repository versioning tools: mercurial;
  • a copy of this repository: hg clone https://bitbucket.org/specs-team/specs-core-enabling_platform-custom-os

Initial environment setup

On a clean OpenSUSE 13.1 or mOS 4.x environment the following steps are required to prepare the environment:

        mkdir -p /mnt/{mos-builder,mos-builder-btrfs}
        mkdir -p /opt/mos-image-factory
        zypper ref
        zypper update
        zypper install mercurial
        zypper install btrfs kpartx patch
        cd /opt/mos-image-factory
        hg clone https://bitbucket.org/specs-team/specs-core-enabling_platform-custom-os .

How to build a mOS image

mOS 4.x can be built two support two different virtualization flavours: AmazonEC2 HVM and standard HVM.

For AmazonEC2 HVM some special patches will be applied to the initrd and kernel to support Amazon particular XEN virtualization software. Standard HVM should be compatible with any cloud stack that uses HVM virtualization as a backend.

To build mOS 4.x:

      cd /opt/mos-image-factory
      hg pull && hg update
      cd bin
      ./build-mos-image.sh virtualization_flavour mos_image_name mos_image_version mos_image_build_number mos_image_size_MB

where:

  • virtualization_flavour - a string representing the virtualization target to be supported: ec2 - for AmazonEC2 HVM or HVM - for standard HVM support;
  • mos_image_name - a string representing the name of the image;
  • mos_image_version - a string representing the version of the image (we recommend the format: {major.minor.release});
  • mos_image_build_number - a string representing the build number of the current version of the mOS image name;
  • mos_image_size_MB - a number representing the size of the image (expressed in MB);

Explanatory example:

        ./buil-mos-image.sh HVM mOS-SPECS 4.3.0 001 5000

How to run

The above example will generate a mOS image at /opt/mos-image-factory/images/mOS-SPECS-4.3.0-001-x86_64. This is a RAW image and it can be imported in most of the cloud stacks to be used as a cloud image.

Notice

This product includes software developed at "Institute e-Austria, Timisoara".

Developers:

  • Silviu Panica ( silviu.panica@e-uvt.ro / silviu@solsys.ro )

Copyright:

  Copyright 2010-2016, Institute e-Austria, Timisoara, Romania
       http://www.ieat.ro/

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at:
       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.