Hi all, I've managed to set up a basic infrastructure in installer/build to allow daily builds of a "graphical mini.iso" with 2.6 kernel for i386. The changes are currently in a personal branch [1] in the repository. This build target (make build_gtk-miniiso) allows us to combine: - official udebs - unofficial udebs build from stuff not yet in debian (which may require unofficial debs to be installed on the system) - not yet packaged stuff from tarballs; these are automatically downloaded and unpacked into the initrd during the build I have managed to build an iso, it boots, but fails to start the graphical environment as I don't have all the correct components. So, I now need your help to fill in this build system. Currently we have: - the official cdebconf-gkt-udeb (that is probably not compiled against the correct libs) - the unofficial debs and udebs build by Davide - the unofficial images built by Attilio and Eugeniy What I would like to get: - clear instructions how to build the graphical installer in the wiki this should include instructions and links how to build stuff that is not yet officially in Debian - as much stuff (debs/udebs) packaged as possible (officially or unofficially) - d-i specific stuff (configuration files, graphics) in a special rootskel-gtk udeb (basic work done; needs content) - separate tarballs for everything else; by separate I mean not one huge tarball containing all libs, fonts etc, but separate tarballs that each contain roughly the same as a udeb would and that can be easily replaced or dropped when new things become available I propose we set up an IRC meeting to discuss this further. I volunteer myself to coordinate this and to do the actual daily builds and publish the resulting images. When we have this working for i386, it should be fairly straightforward to port it to other architectures. Cheers, FJP [1] http://svn.debian.org/wsvn/d-i/people/fjp/installer/build/?rev=0&sc=0 Most important new/changed files below that: - Makefile - pkg-lists/gtk-miniiso/* - config/i386/gtk-miniiso.cfg The full diff against the current build tree (excluding what I have for the rootskel-gtk udeb) is attached, but I suggest you don't try to use it yourself yet.
diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/config/i386/gtk-miniiso.cfg ./config/i386/gtk-miniiso.cfg --- /home/fjp/projects/d-i/svn/installer/build/config/i386/gtk-miniiso.cfg 1970-01-01 01:00:00.000000000 +0100 +++ ./config/i386/gtk-miniiso.cfg 2005-09-23 23:43:24.000000000 +0200 @@ -0,0 +1,30 @@ +FLAVOUR_SUPPORTED = "" + +#MEDIA_TYPE = netboot image +MEDIA_TYPE = image + +# Let's see if we can overrule the default kernelversion and only build 2.6 +KERNELVERSION = 2.6.12-1-386 +KERNELMAJOR = 2.6 +INITRD_FS = initramfs + +TEMP_GTK-TARBALLS = $(TEMP)/gtk-tb +GTK-TARBALL-SOURCE = "http://d-i.alioth.debian.org/gtk-frontend/" + +UDEB_LISTS = $(TEMP_UDEB_LIST) tmp/gtk-miniiso/udeb.list +TARGET = $(TEMP_GTK-TARBALLS) $(TEMP_INITRD) $(TEMP_KERNEL) $(TEMP_NETBOOT_DIR) $(MINIISO) +EXTRANAME = $(MEDIUM)/ + +BOOT_SCREEN_DIR = $(NETBOOT_PATH)/boot-screens/ + +MANIFEST-MINIISO = "not so tiny CD image that boots the graphical netboot installer" + +# Add contents of gtk tarballs to tree +$(TEMP_GTK-TARBALLS): + @echo "# Getting temporary GTK tarballs..." + mkdir -p $(TEMP_GTK-TARBALLS) + wget "$(GTK-TARBALL-SOURCE)" -O $(TEMP)/gtk-index + for gtk_tb in `sed -n 's/.*a href="\(.*\.tgz\)".*/\1/p' $(TEMP)/gtk-index` ; do \ + tb=`echo $$gtk_tb | sed "s:^.*/::"` ; \ + wget $(GTK-TARBALL-SOURCE)$$gtk_tb -O $(TEMP_GTK-TARBALLS)/$$tb ; \ + done diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/config/i386.cfg ./config/i386.cfg --- /home/fjp/projects/d-i/svn/installer/build/config/i386.cfg 2005-09-04 13:46:42.000000000 +0200 +++ ./config/i386.cfg 2005-09-22 13:03:41.000000000 +0200 @@ -1,4 +1,4 @@ -MEDIUM_SUPPORTED = cdrom netboot floppy hd-media #monolithic +MEDIUM_SUPPORTED = cdrom netboot floppy hd-media gtk-miniiso #monolithic # The version of the kernel to use. KERNELVERSION = 2.4.27-2-386 diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/Makefile ./Makefile --- /home/fjp/projects/d-i/svn/installer/build/Makefile 2005-09-18 14:43:56.000000000 +0200 +++ ./Makefile 2005-09-23 18:18:11.000000000 +0200 @@ -496,6 +496,13 @@ # Tree target ends here. Whew! @touch $@ +ifdef GTK-TARBALL-SOURCE + @echo "# Unpacking temporary GTK tarballs into tree..." + for gtk_tb in $(TEMP_GTK-TARBALLS)/*.tgz ; do \ + tar xz --directory $(TREE) -f $$gtk_tb ; \ + done +endif + # Get the list of udebs to install. # HACK Alert: pkg-lists/ is still sorted by TYPE instead of a dir hierarchy. UDEBS = $(shell set -e; get-packages udeb update >&2; pkg-list $(TYPE) "$(DRIVER_FOR)" $(KERNEL_FLAVOUR) $(KERNELMAJOR) "$(SUBARCH)" $(KERNELIMAGEVERSION)) $(EXTRAS) diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/pkg-lists/gtk-miniiso/common ./pkg-lists/gtk-miniiso/common --- /home/fjp/projects/d-i/svn/installer/build/pkg-lists/gtk-miniiso/common 1970-01-01 01:00:00.000000000 +0100 +++ ./pkg-lists/gtk-miniiso/common 2005-09-23 02:10:35.000000000 +0200 @@ -0,0 +1,22 @@ +#include "base" +#include "kernel" + +# Other udebs that are needed for netboot install +localechooser +choose-mirror +net-retriever +download-installer +cdebconf-newt-udeb +cdebconf-text-udeb +installation-locale +di-utils-terminfo +preseed-common +initrd-preseed +network-preseed + +nano-udeb + +save-logs +mountfloppy + +libfribidi0-udeb diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/pkg-lists/gtk-miniiso/i386.cfg ./pkg-lists/gtk-miniiso/i386.cfg --- /home/fjp/projects/d-i/svn/installer/build/pkg-lists/gtk-miniiso/i386.cfg 1970-01-01 01:00:00.000000000 +0100 +++ ./pkg-lists/gtk-miniiso/i386.cfg 2005-09-23 13:13:36.000000000 +0200 @@ -0,0 +1,41 @@ +#include "discover" +#include "isa-pnp-modules" + +console-keymaps-at +console-keymaps-usb + +bogl-bterm-udeb + +usb-discover +nic-modules-${kernel:Version} +socket-modules-${kernel:Version} +nic-extra-modules-${kernel:Version} +usb-modules-${kernel:Version} +input-modules-${kernel:Version} +kbd-chooser + +# This is needed for proper display of utf-8. +fb-modules-${kernel:Version} + +# In case they need to load a driver floppy. +floppy-retriever +floppy-modules-${kernel:Version} +fat-modules-${kernel:Version} + +# Netboot over pcmcia is unlikely, but one never knows, and this makes +# pcmcia network interfaces available, as well as making sure pcmcia is +# available in netboot installs at all. +nic-pcmcia-modules-${kernel:Version} +pcmcia-modules-${kernel:Version} +pcmcia-cs-udeb + +dhcp-client-udeb +hw-detect +ethdetect +netcfg + +#include "acpi-modules" + +# Needed for graphical installer +##cdebconf-gtk-udeb +#include "mouse-modules" diff -Nur -x '\.svn' -x '*~' /home/fjp/projects/d-i/svn/installer/build/pkg-lists/kernel_specific/2.6/mouse-modules ./pkg-lists/kernel_specific/2.6/mouse-modules --- /home/fjp/projects/d-i/svn/installer/build/pkg-lists/kernel_specific/2.6/mouse-modules 1970-01-01 01:00:00.000000000 +0100 +++ ./pkg-lists/kernel_specific/2.6/mouse-modules 2005-09-23 02:13:26.000000000 +0200 @@ -0,0 +1 @@ +mouse-modules-${kernel:Version}
Attachment:
pgpTmKyPUKKdB.pgp
Description: PGP signature