How to create Debian unstable iso images

From Linux PARISC Wiki
(Difference between revisions)
Jump to: navigation, search
m (Build the final iso image)
m (Build the debian-installer packages)
 
(6 intermediate revisions by one user not shown)
Line 38: Line 38:
 
# Read [https://wiki.debian.org/DebianInstaller/CheckOut|on how to check out the debian installer]. It's done below.
 
# Read [https://wiki.debian.org/DebianInstaller/CheckOut|on how to check out the debian installer]. It's done below.
  
   apt-get install mr subversion
+
   apt-get install mr myrepos git curl fakeroot
 +
  apt-get build-dep debian-installer
 
   mkdir -p /extra/deller/DEBIAN_INSTALLER/{TEMP,bootstrap}
 
   mkdir -p /extra/deller/DEBIAN_INSTALLER/{TEMP,bootstrap}
 
    
 
    
 
   # See: https://wiki.debian.org/DebianInstaller/CheckOut
 
   # See: https://wiki.debian.org/DebianInstaller/CheckOut
 
   cd /extra/deller/DEBIAN_INSTALLER/
 
   cd /extra/deller/DEBIAN_INSTALLER/
   svn co svn://anonscm.debian.org/svn/d-i/trunk debian-installer
+
   git clone https://salsa.debian.org/installer-team/d-i.git debian-installer
 
   cd debian-installer
 
   cd debian-installer
 
   scripts/git-setup
 
   scripts/git-setup
   mr -p checkout
+
   mr checkout  
 
+
 
   # check out other packes for your architecture into the packages directory
 
   # check out other packes for your architecture into the packages directory
 
   # for a list see here: https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?a=project_list;pf=d-i
 
   # for a list see here: https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?a=project_list;pf=d-i
Line 53: Line 54:
 
   cd /extra/deller/DEBIAN_INSTALLER/debian-installer/packages
 
   cd /extra/deller/DEBIAN_INSTALLER/debian-installer/packages
 
    
 
    
   # for alpha:
+
   # in the past: 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.git
   git clone https://anonscm.debian.org/git/d-i/attic/aboot-installer.git
+
   # git clone https://anonscm.debian.org/git/d-i/attic/aboot-installer.git
 
   # for parisc:
 
   # for parisc:
   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/palo-installer.git
   git clone https://alioth.debian.org/anonscm/git/d-i/attic/partman-palo.git
+
   # git clone https://alioth.debian.org/anonscm/git/d-i/attic/partman-palo.git
 
   # for sparc:
 
   # for sparc:
   git clone https://alioth.debian.org/anonscm/git/d-i/attic/silo-installer.git
+
   # git clone https://alioth.debian.org/anonscm/git/d-i/attic/silo-installer.git
    
+
 +
   # palo and aboot are now in the unreleased repositories:
 +
  # http://ftp.ports.debian.org/debian-ports/pool-hppa/main/p/palo-installer/
 +
  # http://ftp.ports.debian.org/debian-ports/pool-alpha/main/a/aboot-installer/
 +
  # https://salsa.debian.org/debian/aboot
 +
 
   # then build the debian-installer with all packages
 
   # then build the debian-installer with all packages
 
   cd /extra/deller/DEBIAN_INSTALLER/debian-installer/installer
 
   cd /extra/deller/DEBIAN_INSTALLER/debian-installer/installer
 +
  export ONLINE=n
 
   dpkg-buildpackage
 
   dpkg-buildpackage
  
Line 70: Line 77:
 
Install them into your local reprepro archive directory
 
Install them into your local reprepro archive directory
 
   cd /extra/deller/debian-alpha-archive/
 
   cd /extra/deller/debian-alpha-archive/
   reprepro includeudeb /extra/deller/DEBIAN_INSTALLER/debian-installer/packages/*udeb
+
   reprepro includeudeb unstable /extra/deller/DEBIAN_INSTALLER/debian-installer/installer/build/apt.udeb/cache/archives/*udeb
  
 
=== Build your platform boot loader ===
 
=== Build your platform boot loader ===
Line 76: Line 83:
 
as done above (use includedeb instead of includeudeb).  
 
as done above (use includedeb instead of includeudeb).  
 
   cd /extra/deller/debian-alpha-archive/
 
   cd /extra/deller/debian-alpha-archive/
   reprepro includedeb <path_to_your_bootloader>
+
   reprepro includedeb unstable <path_to_your_bootloader>
  
 
=== Set up debian-cd ===
 
=== Set up debian-cd ===
Line 91: Line 98:
 
   # after patching check changes with "git diff" and modify as needed
 
   # after patching check changes with "git diff" and modify as needed
 
   # adjust the kernel options (KERNEL_PARAMS in CONF.sh)
 
   # adjust the kernel options (KERNEL_PARAMS in CONF.sh)
 +
  # modify DI_DIR in easy-build.sh to point to the cdrom directory (instead of netboot dir)
  
 
=== Build the final iso image ===
 
=== Build the final iso image ===
Line 100: Line 108:
  
  
 +
=== External HOWTOs ===
 +
 +
https://wiki.debian.org/PortsDocs/CreateDebianInstallerImages
  
  

Latest revision as of 15:13, 30 May 2023

PA-RISC is not any longer an official Debian distribution and as such, Debian ISO install images are not produced any longer by the Debian developers.

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.


Contents

[edit] What you need to know

Prebuilt debian unstable packages are available at the repository at http://ftp.debian-ports.org/debian/
In most cases it's not possible to install from the debian ports repository, because
  1. it is a moving target, which means that the Linux kernel udeb packages which are needed by the kernel on the ISO/liffile may not be available any longer at a later date, and
  2. the bootloader (e.g. palo for parisc, aboot for alpha, silo for sparc) is not available there (because those architectures are not any longer release architectures, so the bootloaders are not being built any long), and
  3. the partitioning tools during installation for the architecture might be missing for the same reason (e.g. partman-palo for parisc).

[edit] Basic steps

  1. Create a local copy of the debian-ports repository
  2. Build the debian-installer packages
  3. Add missing boot loader / partitioning tools packages to the repository
  4. Build the final iso image

[edit] Create a local copy of the debian-ports repository

  1. Install reprepro (apt-get install reprepro)
  2. Create a directory which will hold the copied packages (around 60 GB storage needed!)
 apt-get install reprepro
 
 mkdir -p /extra/deller/debian-alpha-archive/
 cd /extra/deller/debian-alpha-archive/
 
 wget https://parisc.wiki.kernel.org/images-parisc/2/26/Reprepro-conf-alpha.zip
 unzip Reprepro-conf-alpha.zip
 rm Reprepro-conf-alpha.zip
 
 # now modify the files in conf/* to your needs
 # now run "reprepro update" to pull all files from debian-ports
 reprepro update

[edit] Build the debian-installer packages

  1. Read how to check out the debian installer. It's done below.
 apt-get install mr myrepos git curl fakeroot
 apt-get build-dep debian-installer
 mkdir -p /extra/deller/DEBIAN_INSTALLER/{TEMP,bootstrap}
 
 # See: https://wiki.debian.org/DebianInstaller/CheckOut
 cd /extra/deller/DEBIAN_INSTALLER/
 git clone https://salsa.debian.org/installer-team/d-i.git debian-installer
 cd debian-installer
 scripts/git-setup
 mr checkout 

 # check out other packes for your architecture into the packages directory
 # for a list see here: https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?a=project_list;pf=d-i
 
 cd /extra/deller/DEBIAN_INSTALLER/debian-installer/packages
 
 # in the past: 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:
 # 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 sparc:
 # git clone https://alioth.debian.org/anonscm/git/d-i/attic/silo-installer.git

 # palo and aboot are now in the unreleased repositories:
 # http://ftp.ports.debian.org/debian-ports/pool-hppa/main/p/palo-installer/
 # http://ftp.ports.debian.org/debian-ports/pool-alpha/main/a/aboot-installer/
 # https://salsa.debian.org/debian/aboot

 # then build the debian-installer with all packages
 cd /extra/deller/DEBIAN_INSTALLER/debian-installer/installer
 export ONLINE=n
 dpkg-buildpackage

[edit] 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

 cd /extra/deller/debian-alpha-archive/
 reprepro includeudeb unstable /extra/deller/DEBIAN_INSTALLER/debian-installer/installer/build/apt.udeb/cache/archives/*udeb

[edit] Build your platform boot loader

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

 cd /extra/deller/debian-alpha-archive/
 reprepro includedeb unstable <path_to_your_bootloader>

[edit] Set up debian-cd

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

 cd /extra/deller/DEBIAN_INSTALLER
 git clone https://alioth.debian.org/anonscm/git/debian-cd/debian-cd.git
 
 # patch debian-cd
 cd debian-cd
 wget https://parisc.wiki.kernel.org/images-parisc/2/2e/Debian-cd.patch.txt
 patch -p1 -s < Debian-cd.patch.txt
 # after patching check changes with "git diff" and modify as needed
 # adjust the kernel options (KERNEL_PARAMS in CONF.sh)
 # modify DI_DIR in easy-build.sh to point to the cdrom directory (instead of netboot dir)

[edit] Build the final iso image

 cd /extra/deller/DEBIAN_INSTALLER/debian-cd
 
 ./easy-build.sh NETINST $HOSTTYPE
 ./easy-build.sh CD $HOSTTYPE


[edit] External HOWTOs

https://wiki.debian.org/PortsDocs/CreateDebianInstallerImages


Other prebuilt files for parisc:

Personal tools