Debian installer

From dankwiki

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