Hi all, Since the Xen modules will be included in the next linux-kernel-di-amd64-2.6 upload I'd like to also add a netboot-xen target to the build. This is slightly unusual since, unlike i386, the standard kernel used on amd64 is Xen capable and therefore the regular images work just fine. However I would still like to maintain the netboot/xen subdirectory for consistency with i386 and also to have a sane place to put the xm-debian.cfg example configuration file. I would prefer to populate netboot/xen with symlinks rather than actual images which do nothing but duplicate the netboot/gtk images.
What are peoples feelings on this patch? I couldn't think of a cleaner way to do this or a way to avoid touching the generic Makefile. I think the ability to symlink the kernel or initrd will also be useful to me when I start to consider cdrom-xen variants for both i386 and amd64. i386 cannot share the kernel (needs 686-bigmem variant) but can share the initrd with some small tweaks i.e. just by adding a small subset of extra 686-bigmem udebs, not all udebs are needed due to the constrained hardware in a Xen domU, possibly as little as just 320K for the scsi-modules 686-bigmem will suffice. I think this is preferable to duplicating the whole GTK >10M initrd.gz. Again the standard amd64 images should just work but I'd like to keep the xen variant for consistency. Ian. --- installer/build/Makefile | 14 ++++++++++++++ installer/build/config/amd64.cfg | 2 +- installer/build/config/amd64/netboot-xen.cfg | 13 +++++++++++++ 3 files changed, 28 insertions(+), 1 deletions(-) create mode 100644 installer/build/config/amd64/netboot-xen.cfg diff --git a/installer/build/Makefile b/installer/build/Makefile index b917b8f..0bf9b1e 100644 --- a/installer/build/Makefile +++ b/installer/build/Makefile @@ -617,20 +617,34 @@ $(TEMP_INITRD): $(STAMPS)tree-$(targetstring)-stamp arch_tree # Create the images for dest/. Those are the targets called from config. +ifeq ($(SYMLINK_INITRD),) $(INITRD): $(TEMP_INITRD) install -m 644 -D $< $@ update-manifest $@ $(MANIFEST-INITRD) $(UDEB_LISTS) +else +$(INITRD): $(realpath $(dir $(INITRD))/$(SYMLINK_INITRD)) + mkdir -p $(dir $(INITRD)) + ln -s $(SYMLINK_INITRD) $@ + update-manifest $@ $(MANIFEST-INITRD) $(UDEB_LISTS) +endif $(RAMDISK): $(TEMP_INITRD) install -m 644 -D $< $@ update-manifest $@ $(MANIFEST-RAMDISK) $(UDEB_LISTS) # raw kernel images +ifeq ($(SYMLINK_KERNEL),) $(KERNEL): TEMP_REAL_KERNEL = $(TEMP)/$(shell echo ./$@ |sed 's,$(SOME_DEST)/$(EXTRANAME),,') $(KERNEL): @$(MAKE) $(STAMPS)tree-unpack-$(targetstring)-stamp $(TEMP_REAL_KERNEL) install -m 644 -D $(TEMP_REAL_KERNEL) $@ update-manifest $@ $(MANIFEST-KERNEL) +else +$(KERNEL): $(realpath $(dir $(KERNEL))/$(SYMLINK_KERNEL)) + mkdir -p $(dir $(KERNEL)) + ln -s $(SYMLINK_KERNEL) $@ + update-manifest $@ $(MANIFEST-KERNEL) +endif # bootable images $(BOOT): $(TEMP_BOOT) diff --git a/installer/build/config/amd64.cfg b/installer/build/config/amd64.cfg index 5d7e19d..5cab89c 100644 --- a/installer/build/config/amd64.cfg +++ b/installer/build/config/amd64.cfg @@ -1,4 +1,4 @@ -MEDIUM_SUPPORTED = cdrom netboot netboot-gtk hd-media +MEDIUM_SUPPORTED = cdrom netboot netboot-gtk netboot-xen hd-media MEDIUM_SUPPORTED_EXTRA = monolithic # The version of the kernel to use. diff --git a/installer/build/config/amd64/netboot-xen.cfg b/installer/build/config/amd64/netboot-xen.cfg new file mode 100644 index 0000000..71ba29a --- /dev/null +++ b/installer/build/config/amd64/netboot-xen.cfg @@ -0,0 +1,13 @@ +TYPE=netboot/gtk + +EXTRANAME=netboot/xen/ + +MANIFEST-KERNEL = "kernel image for installing under Xen" +MANIFEST-INITRD = "initrd for installing under Xen" +MANIFEST-XENCFG = "example Xen configuration" + +TARGET = $(KERNEL) $(INITRD) xen_config +SYMLINK_KERNEL = ../gtk/debian-installer/amd64/linux +SYMLINK_INITRD = ../gtk/debian-installer/amd64/initrd.gz + +EXTRATARGETS = build_netboot-gtk -- 1.6.2.2 -- Ian Campbell Demographic polls show that you have lost credibility across the board. Especially with those 14 year-old Valley girls.
signature.asc
Description: This is a digitally signed message part