X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id ED7D2DC09B5 for ; Thu, 29 Dec 2011 13:08:18 +0000 (UTC) Received: by werb13 with SMTP id b13so11693166wer.13 for ; Thu, 29 Dec 2011 05:08:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:date:message-id:x-mailer; bh=aNHFezoHtQ3c8eMOZf2+eX8Q9bKM9P25IiwwGKesP24=; b=O/f0bfR0Ew5DZvhJfvPHIcG5GxO89a+SJeuVTRUIfb/5uTDHW+N9N0SWCzPTI3V6yN ZLWhiIDIjTC6a9h9sIgWcLwU30P8GGzaDJcIBkcKR/G9e2cQPf7VZ9uRahjUWfMTUSbD GfIKm0VOr/6GCG49g0ayopqByMb78Qjx8CYo8= Received: by 10.216.131.223 with SMTP id m73mr24915810wei.52.1325164097393; Thu, 29 Dec 2011 05:08:17 -0800 (PST) Received: from localhost.localdomain (tina.upc.es. [147.83.39.243]) by mx.google.com with ESMTPS id 6sm4758335wbw.10.2011.12.29.05.08.15 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 29 Dec 2011 05:08:16 -0800 (PST) Sender: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= From: Roger Pau Monne To: alpine-devel@lists.alpinelinux.org Cc: Roger Pau Monne Subject: [alpine-devel] [PATCH] alpine-iso: add support to create Xen Dom0 LiveCD/USB Date: Thu, 29 Dec 2011 14:08:00 +0100 Message-Id: <1325164080-16536-1-git-send-email-roger.pau@entel.upc.edu> X-Mailer: git-send-email 1.7.7.1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: A new profile has been added, called alpine-xen, that shoud be used when trying to craft a Xen Dom0 LiveCD/USB. Please review and comment. --- Makefile | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++- alpine-xen.conf.mk | 4 +++ alpine-xen.packages | 10 +++++++ 3 files changed, 80 insertions(+), 1 deletions(-) create mode 100644 alpine-xen.conf.mk create mode 100644 alpine-xen.packages diff --git a/Makefile b/Makefile index 7fa36b2..5072a03 100755 --- a/Makefile +++ b/Makefile @@ -200,6 +200,47 @@ $(VSTEMPLATE): @cd $(VSTEMPLATE_DIR) && $(TAR) -jcf $@ * # +# apkovl rules +# + +ifdef BUILD_APKOVL +APKOVL_DEST := $(ISO_DIR)/$(BUILD_APKOVL).apkovl.tar.gz +APKOVL_DIR := $(DESTDIR)/apkovl_$(BUILD_APKOVL) +endif + +# Helper function to link a script to runlevel + +rc_add = \ + @mkdir -p "$(APKOVL_DIR)"/etc/runlevels/"$(2)"; \ + ln -sf /etc/init.d/"$(1)" "$(APKOVL_DIR)"/etc/runlevels/"$(2)"/"$(1)"; + +$(ISO_DIR)/xen.apkovl.tar.gz: + @rm -rf "$(APKOVL_DIR)" + @mkdir -p "$(APKOVL_DIR)" + @mkdir -p "$(APKOVL_DIR)"/etc/apk + @mkdir -p "$(APKOVL_DIR)"/etc/network + @echo "auto lo" >> "$(APKOVL_DIR)"/etc/network/interfaces + @echo "iface lo inet loopback" >> "$(APKOVL_DIR)"/etc/network/interfaces + @echo "xen udev" >> "$(APKOVL_DIR)"/etc/apk/world + @echo "xen_netback" >> "$(APKOVL_DIR)"/etc/modules + @echo "xen_blkback" >> "$(APKOVL_DIR)"/etc/modules + $(call rc_add,devfs,sysinit) + $(call rc_add,dmesg,sysinit) + $(call rc_add,hwclock,boot) + $(call rc_add,modules,boot) + $(call rc_add,sysctl,boot) + $(call rc_add,hostname,boot) + $(call rc_add,bootmisc,boot) + $(call rc_add,syslog,boot) + $(call rc_add,mount-ro,shutdown) + $(call rc_add,killprocs,shutdown) + $(call rc_add,savecache,shutdown) + $(call rc_add,udev,sysinit) + $(call rc_add,udev-postmount,default) + $(call rc_add,xencommons,default) + @cd $(APKOVL_DIR) && $(TAR) -zcf $@ * + @echo "==> apkovl: built $@" +# # ISO rules # @@ -223,24 +264,42 @@ $(ISOLINUX_CFG): @echo "$(SYSLINUX_SERIAL)" >$@ @echo "timeout 20" >>$@ @echo "prompt 1" >>$@ +ifeq ($(PROFILE), alpine-xen) + @echo "default xen-$(KERNEL_FLAVOR_DEFAULT)" >>$@ + @for flavor in $(KERNEL_FLAVOR); do \ + echo "label xen-$$flavor"; \ + echo " kernel /boot/mboot.c32"; \ + echo " append /boot/xen.gz --- /boot/$$flavor alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,floppy,sr-mod modloop=/boot/$$flavor.modloop.squashfs $(BOOT_CONSOLE) --- /boot/$$flavor.gz"; \ + done >>$@ +else @echo "default $(KERNEL_FLAVOR_DEFAULT)" >>$@ @for flavor in $(KERNEL_FLAVOR); do \ echo "label $$flavor"; \ echo " kernel /boot/$$flavor"; \ echo " append initrd=/boot/$$flavor.gz alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,floppy,sr-mod quiet $(BOOT_CONSOLE)"; \ done >>$@ +endif $(SYSLINUX_CFG): $(ALL_MODLOOP_DIRSTAMP) @echo "==> iso: configure syslinux" @echo "$(SYSLINUX_SERIAL)" >$@ @echo "timeout 20" >>$@ @echo "prompt 1" >>$@ +ifeq ($(PROFILE), alpine-xen) + @echo "default xen-$(KERNEL_FLAVOR_DEFAULT)" >>$@ + @for flavor in $(KERNEL_FLAVOR); do \ + echo "label xen-$$flavor"; \ + echo " kernel /boot/mboot.c32"; \ + echo " append /boot/xen.gz --- /boot/$$flavor alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/$$flavor.modloop.squashfs $(BOOT_CONSOLE) --- /boot/$$flavor.gz"; \ + done >>$@ +else @echo "default $(KERNEL_FLAVOR_DEFAULT)" >>$@ @for flavor in $(KERNEL_FLAVOR); do \ echo "label $$flavor"; \ echo " kernel /boot/$$flavor"; \ echo " append initrd=/boot/$$flavor.gz alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage quiet $(BOOT_CONSOLE)"; \ done >>$@ +endif clean-syslinux: @rm -f $(SYSLINUX_CFG) $(ISOLINUX_CFG) $(ISOLINUX_BIN) @@ -266,6 +325,12 @@ $(ISO_KERNEL_STAMP): $(MODLOOP_DIRSTAMP) @mkdir -p $(dir $(ISO_KERNEL)) @apk fetch $(APK_OPTS) --stdout $(KERNEL_PKGNAME) \ | $(TAR) -C $(ISO_DIR) -xz boot +ifeq ($(PROFILE), alpine-xen) + @apk fetch $(APK_OPTS) --stdout xen \ + | $(TAR) -C $(ISO_DIR) -xz boot + @apk fetch $(APK_OPTS) --stdout syslinux \ + | $(TAR) -xz usr/share/syslinux/mboot.c32 -O > $(ISO_DIR)/boot/mboot.c32 +endif @rm -f $(ISO_KERNEL) @ln -s vmlinuz-$(MODLOOP_KERNEL_RELEASE) $(ISO_KERNEL) @rm -rf $(ISO_DIR)/.[A-Z]* $(ISO_DIR)/.[a-z]* $(ISO_DIR)/lib @@ -281,7 +346,7 @@ $(APKOVL_STAMP): fi @touch $@ -$(ISOFS_DIRSTAMP): $(ALL_MODLOOP) $(ALL_INITFS) $(ISOLINUX_CFG) $(ISOLINUX_BIN) $(ALL_ISO_KERNEL) $(ISO_REPOS_DIRSTAMP) $(APKOVL_STAMP) $(SYSLINUX_CFG) +$(ISOFS_DIRSTAMP): $(ALL_MODLOOP) $(ALL_INITFS) $(ISOLINUX_CFG) $(ISOLINUX_BIN) $(ALL_ISO_KERNEL) $(ISO_REPOS_DIRSTAMP) $(APKOVL_STAMP) $(SYSLINUX_CFG) $(APKOVL_DEST) @echo "$(ALPINE_NAME)-$(ALPINE_RELEASE) $(BUILD_DATE)" \ > $(ISO_DIR)/.alpine-release @touch $@ diff --git a/alpine-xen.conf.mk b/alpine-xen.conf.mk new file mode 100644 index 0000000..016db33 --- /dev/null +++ b/alpine-xen.conf.mk @@ -0,0 +1,4 @@ +ALPINE_NAME := alpine-xen +MODLOOP_EXTRA := +KERNEL_FLAVOR := grsec +BUILD_APKOVL := xen diff --git a/alpine-xen.packages b/alpine-xen.packages new file mode 100644 index 0000000..b1cbd42 --- /dev/null +++ b/alpine-xen.packages @@ -0,0 +1,10 @@ +bkeymaps +alpine-base +alpine-mirrors +wpa_supplicant +wireless-tools +openssl +tzdata +xen +udev +multipath-tools -- 1.7.7.1 --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---