Build an iso with all your deb favorite package and you personnal files in it. With dependencies.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Cyril CONSTANTIN ae1d5fec85 add lfsdev scripts 24 hours ago
LICENSE Initial commit 3 weeks ago
README.md correct bash for sh 2 weeks ago
customize_iso.sh add lfsdev scripts 24 hours ago
download_myfiles.py Init repo 3 weeks ago
excluded.txt Init repo 3 weeks ago
excluded_tags.txt Init repo 3 weeks ago
firmware.sh Init stable release 2 weeks ago
incremental_backup.sh add lfsdev scripts 24 hours ago
lfs.sh add lfsdev scripts 24 hours ago
lfs32.conf Init stable release 2 weeks ago
lfs32dev.conf add lfsdev scripts 24 hours ago
lfs64.conf Init stable release 2 weeks ago
lfs64dev.conf add lfsdev scripts 24 hours ago
lfsdev.sh add lfsdev scripts 24 hours ago
preseed.cfg Init stable release 2 weeks ago
preseedvmlfs.cfg Init stable release 2 weeks ago
preseedvmlfsdev.cfg add lfsdev scripts 24 hours ago
wanted-full.txt Init repo 3 weeks ago
wanted-lfs.txt add lfsdev scripts 24 hours ago
wanted-station.txt Init stable release 2 weeks ago
wanted.txt Init stable release 2 weeks ago

README.md

customize_debian_iso

Build an iso with all your deb favorite package and you personnal files in it. With dependencies.

Concepts

Those scripts are intended to customise an existing debian installer iso.

The initial idea is to anticipate the end of i386 architecture ( bookworm is the last release to include this architecture ) and be able to reinstall i386 hosts in the future with the last existing release even in future (retroxxxx). Those servers will no more have security fixes, so a local/offline usage is recommanded.

The goals are :

  • to be able to install a debian on a specific arch in full offline mode
  • to store everything you need and will need without network on a cd or usb disk
  • to have all package dependencies included
  • to include package you want
  • to exclude package tags you don't want
  • to exclude package you don't want

You may also include :

  • recommended packages of a package
  • suggested packages of a package
  • suggestions from popcon

Requirements

It doesn't need admin rights but apt should be configured properly. If you want to include a package in contrib, contrib must be available in sources.list.

You need to execute it on the same architecture as the target. You need to execute it on the same debian version as the target.

It can be executed on an existing host or in a virtual machine.

Copy all files on your home directory. Adjust wanted.txt, excluded.txt and exclude_tags.txt to your needs.

Execute customize_iso.sh with the iso as argument.

Internal

customize_iso.sh :

  • mount iso as temp
  • select and download packages
  • prepare a custom preseed
  • copy the downloaded packages
  • generate the custom iso you can write on a disk or a usb key

In offline mode, the custom iso provide a script local-apt-repository.sh that automatically :

  • allow install of packages from installation medium (apt-cdrom)
  • install and configure local-apt-repository to install packages you added to the medium

download_myfiles.py :

  • load existing package of the original iso
  • download wanted packages
  • ask to include recommanded, suggested and popcon packages
  • simulate an apt cache to integrate all dependencies

The script download_myfiles.py may be used by itself if you provide the needed arguments.

You can add a preseed to automate the installation.

You can add a script to custom manually :

  • add firmwares, add zips
  • add scripts on the medium to automate post-installation ( add user, add files )

Known bugs

The script download_myfiles.py use apt to search for dependencies. Dependencies is a complex subject, and some dependencies may give some problems : virtual packages and or_dependency.

To avoid them, don't ask for virtual packages. And provide the or_dependency you want. But the script will continue to try to download all or_dependencies ...

You can refuse to install the recommanded/suggested packages you don't want or exclude them directly in the excluded file ... But yes it's a bug :( .

Usage

You can give some arguments to the script (--help) but the most controlled usage is :

$ bash customize_iso.sh --configfile myconfigfile.conf
...