~alpine/devel

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[alpine-devel] [PATCH] alpine-iso: add support to create Xen Dom0 LiveCD/USB

Roger Pau Monne <roger.pau@entel.upc.edu>
Details
Message ID
<1325164080-16536-1-git-send-email-roger.pau@entel.upc.edu>
Sender timestamp
1325164080
DKIM signature
missing
Download raw message
Patch: +80 -1
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
---
Reply to thread Export thread (mbox)