Git Product home page Git Product logo

contest-iso's Introduction

Custom OS for Programming Contests

This repository contains recipe to customize the Ubuntu 22.04 Jammy Jellyfish desktop image for an on-site programming contest.

Tests

Installation

You can go two ways about this:

  1. Prepare a custom ISO that can re-distributed.
  2. Customize an existing installation.

Prepare custom ISO with Cubic

You can choose to create a customized ISO which can then be simply installed in each machine. To do that, follow these simple steps:

  1. Download a Ubuntu 22.04 desktop image. Find download options here.
  2. Launch Cubic, configure and find your way to the console in the chroot environment. Learn how to use Cubic.
  3. Copy/clone the repository files in the /root directory. Make sure to customize options (user accounts etc.) in vars.sh.
  4. Run the install.sh script as root. It should run non-interactive.
  5. Proceed with Cubic options, compress and generate the iso.

The ISO can now be re-distributed and installed on machines independently.

Customize an existing installation

If you have Ubuntu 22.04 installed on a machine, you can simply run the scripts on the OS to customize your instance. The following steps should do the trick:

  1. Copy/clone the repository files. Make sure to customize options (user accounts etc.) in vars.sh.
  2. Run the install.sh script as root. It should run non-interactive.

What's inside?

The scripts install the following utilities:

  • Compilers
    • GCC
    • G++
    • Python3
    • Java
  • Editors
    • Vim
    • Emacs
    • Nano
    • Sublime text
    • VS Code
    • Gedit
  • IDEs
    • Code::Blocks
    • Geany
    • PyCharm
    • Intellij IDEA

Three user accounts are also created:

  • admin (for administrative usage, has sudo rights)
  • main (for the on-site main contest)
  • mock (for the mock contest)

There are also some pre-loaded configurations located in the dots directory.

Contributing

Pull Requests are welcome!

License

See LICENSE.

TODO

  • Trim down the image. The generated iso is about 6.5G now. Maybe extend the trim.sh script?
  • See if the process of creating ISO (with cubic) can be automated. See context.

contest-iso's People

Contributors

mahdihasnat avatar rebornplusplus avatar

Stargazers

 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.