Giter VIP home page Giter VIP logo

docker-clonezilla-customizer's Introduction

Clonezilla Customizer

Docker image and dockerized github action to create a custom Clonezilla image, based on a given clonezilla image.

Introduction

Clonezilla is a partition and disk imaging/cloning program similar to True Image® or Norton Ghost®.
...
Clonezilla saves and restores only used blocks in the hard disk. This increases the clone efficiency.
clonezilla.org

Clonezilla is provided as *.iso file (called clonezilla image) to boot from.

Clonezilla Customizer uses this approach (but dockerized) to create a custom clonezilla image (e. g. for simplification or to add features), based on a given clonezilla image.

Docker image

With the Docker image, you can create the custom clonezilla image using docker.

Prerequisites

Docker installed and ready.

Usage

  • Create a workdirectory (e. g. ~/workdir), containing the base image and a custom-ocs file.
    See workdirectory for further details.
  • Open an terminal and execute this:
    # cd to your workdirectory (assuming ~/workdir)
    cd ~/workdir
    
    # create the custom image (assuming running in bash)
    docker run -it -v $(pwd):/opt/work --cap-add SYS_ADMIN clonezilla_customizer

Now you will find your new custom image in your workdirectory, named clonezilla_customized.iso (e. g. ~/workdir/clonezilla_customized.iso).

Dockerized github action

With the dockerized github action, you can create the custom clonezilla image using github actions.

Prerequisites

You will need a github repository with code to create the image upon.

Usage

  • Create a workdirectory in your repository (e. g. release/workdir), containing the base image and a custom-ocs file.
    See workdirectory for further details.
  • Create a workflow in your repository (e. g. .github/workflow.yml) and specify your workdirectory (relative to your repository).
    • Example
      on: [push]
      
      jobs:
        create_custom_image:
          runs-on: ubuntu-latest
          name: This jobs creates the custom image
          steps:
            - name: custom image creation action step
              id: creator
              uses: johanna-herrmann/docker-clonezilla-customizer@v1
              with:
                workdirectory: 'release/workdir'
      
        use_image:
          runs-on: ubuntu-latest
          name: Job to do something with the custom image
          steps:
            ## Do what ever you want with your new custom image

Now you will find your new custom image in your workdirectory, named clonezilla_customized.iso (e. g. release/workdir/clonezilla_customized.iso), so you can do things with it in further steps/actions.

Workdirectory

The workdirectory contains the base image, the custom-ocs file and optionally additional files (e. g. binary files to be added to the custom image).

Contents

  • clonezilla.iso file − The base image to create the custom image upon. Must be called clonezilla.iso.
  • custom-ocs file − See customized-clonezilla-live documentation
  • Optional: extra directory − Each file and directory in this directory will be available in the custom image, under /run/live/medium/live/extra

Example

Workdirectory contents before Clonezilla Customizer execution:

  • clonezilla.iso
  • custom-ocs
    (Boot into clonezilla and look in /usr/share/drbl/samples/ for examples)
  • extra
    • lynx
      (text-based browser)

Workdirectory contents after Clonezilla Customizer execution:

  • clonezilla.iso
  • custom-ocs
  • clonezilla_customized.iso
  • extra
    • lynx

The custom image clonezilla_customized.iso will run custom-ocs instead of ocs-live-general, will use en_US.UTF-8 and default (US) keyboard layout.
The lynx binary file will be available in the custom image, under: /run/live/medium/live/extra/lynx.

Limitations

Clonezilla Customizer is a little opinionated.

  • Only *.iso files will be used as base and only *.iso files will be created.
    This shouldn't be that bad, since most Bootable-Flash-Drive-Creation tools also use *.iso files nowadays.
  • Only the architecture of the base image will be used (e. g. giving an amd64 base image will not produce an i686 image)
  • Custom images will always use en_US.UTF-8 and default (US) keyboard layout.
  • Only tested on amd64 architectures
  • Specific naming of base and custom image
  • No further configurations or options

License and credits

Clonezilla

Clonezilla Customizer

docker-clonezilla-customizer's People

Contributors

johanna-herrmann avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.