Create debian-installer ISO images using debian-cd for ports architectures

This website describes the basic steps how you can create such images yourself. The instructions should - with minor modifications - work for other architectures like alpha or sparc too.

What you need to know

Prebuilt debian unstable packages are available in the debian-ports repository.

In most cases it's not possible to install from the debian-ports repository, because:

Basic steps

Create a local copy of the debian-ports repository

  apt install reprepro
  
  mkdir -p /srv/debian-sparc64-archive
  cd /srv/debian-sparc64-archive
  
  wget https://people.debian.org/~glaubitz/reprepro-conf-sparc64.tgz
  tar xf reprepro-conf-sparc64.tgz
  rm reprepro-conf-sparc64.tgz
  
  # now modify the files in conf/* to your needs
  # now run "reprepro update" to pull all files from debian-ports
  reprepro update

Build the debian-installer packages

Building debian-installer from source is much easier these days. It just involves checking out the source code from git and building it with sbuild.

  git clone https://salsa.debian.org/installer-team/debian-installer.git
  cd debian-installer
  sbuild -d unstable -c unstable-sparc64-sbuild --arch=sparc64 --no-arch-all

The resulting debian-installer image will be created as debian-installer-images_202501XX_sparc64.tar.gz in the parent directory.

Adding custom debs or udebs to reprepro repo

In some case it may make sense to add customs deb and udeb packages to the local reprepro repository.

  cd /srv/d-i/debian-sparc64-archive/
  reprepro includedeb unstable /path/to/*deb
  reprepro includeudeb unstable /path/to/*udeb

Set up debian-cd

debian-cd is the tool that builds the actual ISO images.

  git clone https://salsa.debian.org/images-team/debian-cd.git
  wget https://people.debian.org/~glaubitz/debian-cd-ports.tar.gz
  cd debian-cd
  tar xf ../debian-cd-ports.tar.gz

Edit CONF-ports.sh to adjust path names

Adjust the path names for MIRROR, TDIR, OUT and APTTMP

# Paths to the mirrors
export MIRROR=/srv/mirrors/debian-ports

# Path of the temporary directory
export TDIR=/srv/home/glaubitz/tmp

# Path where the images will be written
export OUT=/srv/home/glaubitz/debian-cd-test

# Where we keep the temporary apt stuff.
# This cannot reside on an NFS mount.
export APTTMP=/srv/home/glaubitz/tmp/apt

Edit easy-build-ports.sh to adjust path to unpacked d-i images

Adjust the path name for DI_DIR

# Use official images from the local mirror
export DI_DIST=$DI_CODENAME
# or, use official images from an outside mirror
#export DI_WWW_HOME="http://ftp.nl.debian.org/debian/dists/$DI_CODENAME/main/installer-%ARCH%/current/images/"
# or, use daily built d-i images (most from http://people.debian.org)
#export DI_WWW_HOME=default
# or, use custom / locally built images
#export DI_DIR="$HOME/d-i_images/%ARCH%"
export DI_DIR="/home/glaubitz/d-i/%ARCH%/installer-%ARCH%/current/images/"

Build the final ISO images

  ./easy-build.sh NETINST $ARCH
  ./easy-build.sh CD $ARCH

Other prebuilt files for parisc: * http://parisc.osuosl.org/debian/palo-installer_0.0.15_hppa.udeb * http://parisc.osuosl.org/debian/partman-palo_20_hppa.udeb

External links


CategoryPorts