Check out my first novel, midnight's simulacra!

Debian installer

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

I've been modifying the Debian installer for the first release of SprezzOS. It's been quite the PITA.

Build environment

  • debootstrap --variant buildd http://ftp.us.debian.org unstable
  • apt-get source debian-installer
    • the resulting directory is DIROOT

Custom debian-installer

  • enter DIROOT
  • edit build/conf/common
  • ensure any custom udebs are in build/localudebs
  • ensure any custom udebs are listed in build/pkg-lists/local
  • dpkg-buildpackage
  • for simple-cdd (outside the chroot):
    • mkdir -p tmp/mirror/dists/sid/main/installer-amd64/current/images/
    • cp -r DIROOT/build/dest/* tmp/mirror/dists/sid/main/installer-amd64/current/images/
    • add "custom_installer=DIROOT/build/dest" to simple-cdd's configuration file
    • add the debian-installer deb to --local-packages
    • add DIROOT/build/localudebs to --local-packages

Custom kernel

  • apt-get source linux-2.6
    • apt-get install linux-source-3.2 gets you a /usr/src tarball with no debian/ subdirectory
    • apt-get install linux-source gets you something called 'linux_latest' (investigate!)
  • cd linux-2.6-3.2.14 or whatever
  • dpkg-buildpackage -j8

output includes a full set of udebs:

root@skynet:/linux-2.6-3.2.14# ls ../*udeb
../acpi-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ata-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../btrfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../cdrom-core-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../core-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../crc-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../crypto-dm-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../crypto-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../efi-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../event-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ext2-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ext3-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ext4-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../fat-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../fb-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../firewire-core-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../floppy-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../i2c-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../input-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../irda-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../isofs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../jfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../kernel-image-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../loop-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../md-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../mmc-core-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../mmc-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../mouse-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../multipath-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nbd-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-extra-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-pcmcia-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-shared-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-usb-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../nic-wireless-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ntfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../parport-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../pata-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../pcmcia-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../pcmcia-storage-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../plip-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ppp-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../qnx4-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../reiserfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../sata-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../scsi-common-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../scsi-core-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../scsi-extra-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../scsi-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../serial-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../sound-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../speakup-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../squashfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../ufs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../uinput-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../usb-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../usb-serial-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../usb-storage-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../virtio-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../xfs-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
../zlib-modules-3.2.0-2-amd64-di_3.2.14-1_amd64.udeb
root@skynet:/linux-2.6-3.2.14# 
  • cp *udeb DIROOT/build/localudebs
  • add their names to new file DIROOT/build/pkg-lists/local
  • add deb copy:/DIROOT/build/ localudebs/ to DIROOT/build/sources.list.udeb.local