Git Product home page Git Product logo

debian-preseed's Introduction

Debian-preseed

Tools and (above all) reasonable configs to create custom Debian ISO images


General info

The Debian GNU/Linux Installation Guide refers to preseeding as a "way to set answers to questions asked during the installation process, without having to manually enter the answers". This provides for a method to automate installations as much as possible: almost zero-click!
The process starts by means of two files included in this repository:

  1. preseed_cfg.tmpl: a reasonably complete preseed file, see an example here, which must be customized through...
  2. dicustomizer.sh: an interactive Bash script which asks questions, such as hostname, IP address, and will produce the actual preseed.cfg file

Once the preseed file is available an ISO file must be fabricated by injecting `preseed.cfg` into `initrd`. Additional customization is done on `isolinux` to start the installation without requiring any input from the user.
The ISO file is based on an official Debian installation ISO, e.g. `debian-12.4.0-amd64-netinst.iso`, which must be downloaded separately.

Procedure

  1. Set up the directory structure
$ ./preseed_init.sh -d .
[+] Creating/updating hierarchy in directory '.'
[!] Directory . already exists, skipping...
[+] NEW directory ./destination_iso created, OK
[+] NEW directory ./source_iso created, OK
[+] NEW directory ./workdir created, OK
[+] NEW directory ./loopdir created, OK
  1. Download the source ISO file
$ curl -sSLfO https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso

$ mv debian-12.4.0-amd64-netinst.iso source_iso/
  1. Generate the customized preseed.cfg
$ ./dicustomizer.sh
  1. Finally, create the customized ISO
$ sudo ./mkiso_preseed.sh

NOTE: root credentials needed


Useful links

debian-preseed's People

Contributors

carmelo0x63 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.