Re: Netboot Xen images for amd64
On Sat, 2009-04-18 at 09:45 +0000, Ian Campbell wrote:
> 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.
No comments on this bit? OK if I commit shortly?
[...]
>
> 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.
--
Ian Campbell
Current Noise: Reverend Bizarre - In The Rectory
If all the world's a stage, I want to operate the trap door.
-- Paul Beatty
Reply to: