Differences between revisions 45 and 46
Revision 45 as of 2004-12-22 09:34:24
Size: 5989
Editor: anonymous
Comment:
Revision 46 as of 2004-12-25 22:34:46
Size: 9776
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
= Debian-Installer: Build yourself =
== HOWTO ==
Here are the steps to build debian-installer:

 * check out the d-i sources from subversion:{{{
  svn co svn://svn.debian.org/d-i/trunk debian-installer
}}}
 * read debian-installer/installer/build/README

 * Install the build-dependencies on the host system{{{
  (cdebconf, dpkg-dev, libdebconfclient0 and libdebconfclient0-dev,
   libdebian-installer4,
   libdebian-installer-extra4 and libdebian-installer4-dev)
}}}
-> hint: run dpkg-checkbuilddeps from the debian-installer/installer/ directory.

 * Create your own sources.list.udeb.local.{{{
  If you don't have own mirror of debian:
  deb ftp://ftp.debian.org/debian testing main/debian-installer
   
}}}
 * Run "make" to get a list of available targets in the build directory.

 * Build an image using one of the build_ targets (build_netboot, all_build, etc).{{{
  fakeroot make build_netboot
}}}

 * Look in dest/ for the completed images.

----
Originally from http://lists.debian.org/debian-boot/2002/debian-boot-200207/msg00441.html but probably much changed since (build those libs by hand):
 * build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)

 * install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- ''actually I seem to have libdebconfclient0 and libdebconfclient0-dev''

 * build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results) -- ''build-deps don't include automake1.7, and it is needed for building from cvs versions, so install it first''; ''build-deps don't appear to require autoconf either - it needs to be installed too. Additionally I seemed to need to uninstall automake1.4 which was getting in the way of this build on my system.''

 * install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)

 * build the different modules by cd-ing into them and building using dpkg-buildpackage.

 * link those new udebs into build/localudebs

 * simply to make symlinks inside build/localudebs that point at the udebs. (else it will try to download them, and the dir structure isn't set up on the mirrors (since debian-installer isn't the current installer))

 * One way: build all the udebs you're gonna build -first-...

 ''' then do cd build/localudebs; for i in $(find ../.. -name "'''.udeb"); do ln -s $i; done

 * run make demo or make boot_floppy in build/

You will need sudo access or be root to do this.

This will give you a network-enabled installer, if you'd rather want a cdrom installer, run make TYPE=cdrom or TYPE=cdrom144.

NOTE that it's possible to build this under woody, but it's difficult. It might require packages from unstable during the build process. I actually got thru the build process, but haven't seen the thing work yet. I had to install libc from unstable and then my original libc again, then the libc from security.debian.org which might work in the first place. I'm going to redo the build with that lib to see if that clears up problems. If not, I'll search the open seas for a good floppy :)

-Jim Lynch

----
Line 83: Line 144:
 * {{{cd debian-installer}}} and, as root, run {{{./scripts/buildscript }}}
   * ''hint:'' You can't use fakeroot if you use buildscript because it needs to install packages. If you really want to avoid being root for the entire build process you will have to do the steps manually.
 * {{{cd debian-installer}}} and, as root, run {{{./scripts/buildscript }}}
   * ''hint2:'' If you want to use fakeroot for most of the build, use {{{./scripts/buildscript -r fakeroot real-root-command}}}, where real-root-command is something like {{{su}}}.
   * {{{./script/buildscript}}} performs the following steps
     * build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results)
     * install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)
     * build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)
     * install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- ''actually <thefirstposter> seems to have libdebconfclient0 and libdebconfclient0-dev''
     * change into each package subdirectory and build its udebs
     * copy udebs into {{{debian-installer/installer/build/localudebs}}}
     * changes to directory {{{debian-installer/installer/build}}}
     * issues {{{make build_all}}} which builds all installer images ( in {{{debian-installer/installer/build}}} {{{make build_all}}} ) ''hint3:'' If the automatic build of the actual installer fails you should try changing to {{{debian-installer/installer/build}}}, say {{{export ONLINE=n}}}, and {{{make build_all}}}./
Line 86: Line 156:
   * {{{./script/buildscript}}} performs the following steps

     * build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results)

     * install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)

     * build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)

     * install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- ''actually <thefirstposter> seems to have libdebconfclient0 and libdebconfclient0-dev''

     * change into each package subdirectory and build its udebs

... ''To be continued.'' ...
The {{{debian-installer/installer/build/dest}}} directory should now hold the installer images. If you want to create a debian cd (set), see ["DebianCustomCD"].

Debian-Installer: Build yourself

HOWTO

Here are the steps to build debian-installer:

  • check out the d-i sources from subversion:

      svn co svn://svn.debian.org/d-i/trunk debian-installer
  • read debian-installer/installer/build/README
  • Install the build-dependencies on the host system

      (cdebconf, dpkg-dev, libdebconfclient0 and libdebconfclient0-dev, 
       libdebian-installer4,
       libdebian-installer-extra4 and libdebian-installer4-dev)

-> hint: run dpkg-checkbuilddeps from the debian-installer/installer/ directory.

  • Create your own sources.list.udeb.local.

      If you don't have own mirror of debian:
      deb ftp://ftp.debian.org/debian testing main/debian-installer
  • Run "make" to get a list of available targets in the build directory.
  • Build an image using one of the build_ targets (build_netboot, all_build, etc).

      fakeroot make build_netboot
  • Look in dest/ for the completed images.


Originally from http://lists.debian.org/debian-boot/2002/debian-boot-200207/msg00441.html but probably much changed since (build those libs by hand):

  • build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)
  • install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- actually I seem to have libdebconfclient0 and libdebconfclient0-dev

  • build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results) -- build-deps don't include automake1.7, and it is needed for building from cvs versions, so install it first; build-deps don't appear to require autoconf either - it needs to be installed too. Additionally I seemed to need to uninstall automake1.4 which was getting in the way of this build on my system.

  • install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)
  • build the different modules by cd-ing into them and building using dpkg-buildpackage.
  • link those new udebs into build/localudebs
  • simply to make symlinks inside build/localudebs that point at the udebs. (else it will try to download them, and the dir structure isn't set up on the mirrors (since debian-installer isn't the current installer))
  • One way: build all the udebs you're gonna build -first-...

    then do cd build/localudebs; for i in $(find ../.. -name ".udeb"); do ln -s $i; done

  • run make demo or make boot_floppy in build/

You will need sudo access or be root to do this.

This will give you a network-enabled installer, if you'd rather want a cdrom installer, run make TYPE=cdrom or TYPE=cdrom144.

NOTE that it's possible to build this under woody, but it's difficult. It might require packages from unstable during the build process. I actually got thru the build process, but haven't seen the thing work yet. I had to install libc from unstable and then my original libc again, then the libc from security.debian.org which might work in the first place. I'm going to redo the build with that lib to see if that clears up problems. If not, I'll search the open seas for a good floppy :)

-Jim Lynch


Debian-Installer: Build yourself

HOWTO

Here are the steps to build debian-installer:

  • check out the d-i sources from subversion:

      svn co svn://svn.debian.org/d-i/trunk debian-installer
  • read debian-installer/installer/build/README
  • Install the build-dependencies on the host system

      (cdebconf, dpkg-dev, libdebconfclient0 and libdebconfclient0-dev, 
       libdebian-installer4,
       libdebian-installer-extra4 and libdebian-installer4-dev)

-> hint: run dpkg-checkbuilddeps from the debian-installer/installer/ directory.

  • Create your own sources.list.udeb.local.

      If you don't have own mirror of debian:
      deb ftp://ftp.debian.org/debian testing main/debian-installer
  • Run "make" to get a list of available targets in the build directory.
  • Build an image using one of the build_ targets (build_netboot, all_build, etc).

      fakeroot make build_netboot
  • Look in dest/ for the completed images.


Originally from http://lists.debian.org/debian-boot/2002/debian-boot-200207/msg00441.html but probably much changed since (build those libs by hand):

  • build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)
  • install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- actually I seem to have libdebconfclient0 and libdebconfclient0-dev

  • build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results) -- build-deps don't include automake1.7, and it is needed for building from cvs versions, so install it first; build-deps don't appear to require autoconf either - it needs to be installed too. Additionally I seemed to need to uninstall automake1.4 which was getting in the way of this build on my system.

  • install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)
  • build the different modules by cd-ing into them and building using dpkg-buildpackage.
  • link those new udebs into build/localudebs
  • simply to make symlinks inside build/localudebs that point at the udebs. (else it will try to download them, and the dir structure isn't set up on the mirrors (since debian-installer isn't the current installer))
  • One way: build all the udebs you're gonna build -first-...

    then do cd build/localudebs; for i in $(find ../.. -name ".udeb"); do ln -s $i; done

  • run make demo or make boot_floppy in build/

You will need sudo access or be root to do this.

This will give you a network-enabled installer, if you'd rather want a cdrom installer, run make TYPE=cdrom or TYPE=cdrom144.

NOTE that it's possible to build this under woody, but it's difficult. It might require packages from unstable during the build process. I actually got thru the build process, but haven't seen the thing work yet. I had to install libc from unstable and then my original libc again, then the libc from security.debian.org which might work in the first place. I'm going to redo the build with that lib to see if that clears up problems. If not, I'll search the open seas for a good floppy :)

-Jim Lynch


2004-11-21 DanielDickinson

Building both the udebs (from debian-installer/packages) and debian-installer from the same snapshot helps ensure that the resulting build will work correctly)

  • check out the d-i sources from subversion:

      svn co svn://svn.debian.org/d-i/trunk debian-installer
  • read debian-installer/installer/build/README
  • Install the build-dependencies on the host system
    • hints

      1. run dpkg-checkbuilddeps from the debian-installer/installer/ directory. (e.g. cdebconf, dpkg-dev, libdebconfclient0 and libdebconfclient0-dev, libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev)
      2. run dpkg-checkbuilddeps in each subdir of debian-installer/packages (except linux-kernel, arch, and partman; for arch and partman you need to go deeper, and linux-kernel is a special case for which you can't just run dpkg-checkbuilddeps)
      3. build-deps don't include automake1.7, and it is needed for building from cvs versions, so install it first; build-deps don't appear to require autoconf either - it needs to be installed too.
      4. libtool is also missing from build-deps and is require to build subversion versions.
      5. g++ may be required.
      6. Make sure you only have one version of automake installed. With 1.7, 1.8, and 1.9 I had build errors. Removing 1.8 and 1.9 resulted in a successful build
      7. For the kernel builds you will need the same kernel package installed on the host system (e.g. i386 on 2004-11-21 requires kernel-image-2.4.27-386-1, pcmcia-modules-2.4.27-386-1, kernel-image-2.4.27-386-1-speakup, and kernel-image-2.6.8-386-1)
  • cd debian-installer and, as root, run ./scripts/buildscript 

    • hint2: If you want to use fakeroot for most of the build, use ./scripts/buildscript -r fakeroot real-root-command, where real-root-command is something like su.

    • ./script/buildscript performs the following steps

      • build libdebian-installer ( cd libdebian-installer ; dpkg-buildpackage then look in .. for the results)
      • install libdebian-installer4, libdebian-installer-extra4 and libdebian-installer4-dev in the host system. (these were produced in the previous step)
      • build cdebconf ( cd tools/cdebconf ; dpkg-buildpackage ) then look in .. (i.e., tools/) for the results)
      • install libcdebconf0 and libcdebconf-dev in the host system. (these were produced in the previous step) -- actually <thefirstposter> seems to have libdebconfclient0 and libdebconfclient0-dev

      • change into each package subdirectory and build its udebs
      • copy udebs into debian-installer/installer/build/localudebs

      • changes to directory debian-installer/installer/build

      • issues make build_all which builds all installer images ( in debian-installer/installer/build make build_all ) hint3: If the automatic build of the actual installer fails you should try changing to debian-installer/installer/build, say export ONLINE=n, and make build_all./

The debian-installer/installer/build/dest directory should now hold the installer images. If you want to create a debian cd (set), see ["DebianCustomCD"].