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 modifcations - work for other architectures like alpha or sparc too.

What you need to know

Prebuilt debian unstable packages are available at the repository at http://ftp.ports.debian.org/debian-ports/

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-get 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

Read on how to check out the debian installer. It's done below.

  apt-get install mr subversion
  apt-get build-dep debian-installer
  mkdir -p /srv/d-i/{tmp,bootstrap}
  
  # See: https://wiki.debian.org/DebianInstaller/CheckOut
  cd /srv/d-i
  svn co svn://anonscm.debian.org/svn/d-i/trunk debian-installer
  cd debian-installer
  scripts/git-setup
  mr -p checkout
  
  # check out other packages for your architecture into the packages directory (optional)
  # for a list see here: https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?a=project_list;pf=d-i
  
  cd /srv/d-i/debian-installer/packages
  
  # for alpha:
  git clone https://anonscm.debian.org/git/d-i/attic/aboot.git
  git clone https://anonscm.debian.org/git/d-i/attic/aboot-installer.git
  # for parisc: (should no longer be necessary, the packages are in ''unreleased'')
  git clone https://alioth.debian.org/anonscm/git/d-i/attic/palo-installer.git
  git clone https://alioth.debian.org/anonscm/git/d-i/attic/partman-palo.git
  # for sparc64: (should no longer be necessary, the packages are in ''unreleased'')
  git clone https://alioth.debian.org/anonscm/git/d-i/attic/silo-installer.git
  
  # then build the debian-installer with all packages
  cd /srv/d-i/debian-installer/installer
  dpkg-buildpackage

Add boot loader installer and partitioning tools packages to the repository

The architecture-specific packages (palo-installer, silo-installer, ...) were built above. Install them into your local reprepro archive directory.

NOTE: This should no longer be necessary on sparc64 and hppa as the necessary packages are part of the unreleased distribution.

  cd /srv/d-i/debian-sparc64-archive/
  reprepro includeudeb unstable /srv/d-i/debian-installer/installer/build/apt.udeb/cache/archives/*udeb

Include your platform boot loader

NOTE: This should no longer be necessary on sparc64 and hppa as the necessary packages are part of the unreleased distribution.

Build the boot loader for your platform (palo, silo, ...) and install the deb package as done above (use includedeb instead of includeudeb).

  cd /srv/d-i/debian-sparc64-archive/
  reprepro includedeb unstable <path_to_your_bootloader>

Set up debian-cd

debian-cd will build the installer images. Download it, configure it and let it build the image:

  cd /srv/d-i/
  git clone https://alioth.debian.org/anonscm/git/debian-cd/debian-cd.git
  
  # patch debian-cd
  cd debian-cd
  wget https://people.debian.org/~glaubitz/debian-cd-sparc64.patch
  patch -p1 < debian-cd-sparc64.patch
  # after patching check changes with "git diff" and modify as needed
  # adjust the kernel options (KERNEL_PARAMS in CONF.sh)
  $ apt-get install lynx-cur tofrodos

Build the final ISO images

  cd debian-cd
  ./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