diff --git a/Makefile b/Makefile index 062197755d9ea9c0af94d0a3b5a9ad2c8e8f5dc9..30bfaa5dc76287162b31ee2386937314bd513e10 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ ARCH_DIR=$(call archdir,$(ARCH)) PRIMARY_ARCH_DIR=$(call archdir,$(PRIMARY_ARCH)) SECONDARY_ARCH_DIR=$(call archdir,$(SECONDARY_ARCH)) COMMON_DIR=$(WORKSPACE)/common +IMAGE_DIR=$(WORKSPACE)/image define gentargets = $(PRIMARY_ARCH_DIR)$1 $(SECONDARY_ARCH_DIR)$1 : $(call archdir,%)$1 @@ -164,10 +165,10 @@ rootfs_deduplicate $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated: $(PRIMARY_ARCH cd "$(COMMON_DIR)/lip-$(SECONDARY_ARCH)" && tr \\n \\0 < "$(COMMON_DIR)/common_files.list" | xargs -0 rm touch "$(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated" -$(COMMON_DIR)/lip%.squashfs : $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated | $(COMMON_DIR)/lip-% - mksquashfs "$(COMMON_DIR)/lip-$*" "$(COMMON_DIR)/lip$*.squashfs" -comp xz +$(COMMON_DIR)/lip-%.squashfs : $(COMMON_DIR)$(STATE_DIR)/rootfs_deduplicated | $(COMMON_DIR)/lip-% + mksquashfs "$(COMMON_DIR)/lip-$*" "$(COMMON_DIR)/lip-$*.squashfs" -comp xz -rootfs_squash: $(COMMON_DIR)/lip$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lipcommon.squashfs +rootfs_squash: $(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lip-common.squashfs initrd_unpack : $(ARCH_DIR)$(STATE_DIR)/initrd_extracted $(call gentargets,$(STATE_DIR)/initrd_extracted) : $(call archdir,%)$(STATE_DIR)/iso_extracted @@ -190,6 +191,37 @@ initrd_pack : $(ARCH_DIR)$(INITRD_TARGET) $(call gentargets,$(INITRD_TARGET)) : $(call archdir,%)$(STATE_DIR)/initrd_remastered cd "$(call archdir,$*)$(INITRD)" && find | cpio -H newc -o | lzma -z > "$(call archdir,$*)$(INITRD_TARGET)" +image_git $(IMAGE_DIR)/.git: |$(WORKSPACE) + mkdir -p "$(IMAGE_DIR)" + test ! -e "$(IMAGE_DIR)/.git" + cd "$(IMAGE_DIR)" && git clone "$(IMAGE_GIT_URL)" . + +image_git_pull: |$(IMAGE_DIR)/.git + cd "$(IMAGE_DIR)" && ./scripts/update_stick.sh "$(IMAGE_GIT_BRANCH)" + +IMAGE_BINARIES= $(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs $(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs $(COMMON_DIR)/lip-common.squashfs \ +$(PRIMARY_ARCH_DIR)$(INITRD_TARGET) $(SECONDARY_ARCH_DIR)$(INITRD_TARGET) \ +$(PRIMARY_ARCH_DIR)$(STATE_DIR)/iso_extracted $(SECONDARY_ARCH_DIR)$(STATE_DIR)/iso_extracted +image_binary_files: image_git_pull $(IMAGE_BINARIES) + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/boot" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/dists" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/isolinux" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/pool" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/EFI" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/preserved" "$(IMAGE_DIR)/" + cp -r "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/.disk" "$(IMAGE_DIR)/" + cp -r "$(SECONDARY_ARCH_DIR)$(ISO_CONTENT)/.disk/casper-uuid-generic" "$(IMAGE_DIR)/.disk/casper-uuid-generic-$(SECONDARY_ARCH)" + mkdir -p "$(IMAGE_DIR)/casper" + cp "$(COMMON_DIR)/lip-common.squashfs" "$(IMAGE_DIR)/casper/" + cp "$(COMMON_DIR)/lip-$(PRIMARY_ARCH).squashfs" "$(IMAGE_DIR)/casper/" + cp "$(COMMON_DIR)/lip-$(SECONDARY_ARCH).squashfs" "$(IMAGE_DIR)/casper/" + cp "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/casper/filesystem.manifest" "$(IMAGE_DIR)/casper/" + cp "$(PRIMARY_ARCH_DIR)$(ISO_CONTENT)/casper/filesystem.manifest-remove" "$(IMAGE_DIR)/casper/" + cp "$(PRIMARY_ARCH_DIR)$(INITRD_TARGET)" "$(IMAGE_DIR)/casper/initrd-$(PRIMARY_ARCH).lz" + cp "$(SECONDARY_ARCH_DIR)$(INITRD_TARGET)" "$(IMAGE_DIR)/casper/initrd-$(SECONDARY_ARCH).lz" + cd "$(PRIMARY_ARCH_DIR)$(ROOTFS)" && cp -L vmlinuz "$(IMAGE_DIR)/casper/vmlinuz-$(PRIMARY_ARCH)" + cd "$(SECONDARY_ARCH_DIR)$(ROOTFS)" && cp -L vmlinuz "$(IMAGE_DIR)/casper/vmlinuz-$(SECONDARY_ARCH)" + config $(CONFIG_FILE): $(info Generating configuration $(CONFIG_FILE)) echo -n "" > $(CONFIG_FILE) diff --git a/config/Makefile.conf.defaults b/config/Makefile.conf.defaults index 5b2697257f9d2b286c3b93f4c33bfee0f2f5ecd0..7294f62bd1002eeb460ad124b328cc42e224405c 100644 --- a/config/Makefile.conf.defaults +++ b/config/Makefile.conf.defaults @@ -7,3 +7,6 @@ ISO_BASE_URL=http://cdimage.ubuntu.com/kubuntu/releases ISO_RELEASE=trusty ISO_VERSION=14.04.1 ISO_FLAVOR=kubuntu + +IMAGE_GIT_URL=https://learninglinux.fsmpi.rwth-aachen.de/git/lipstick.git +IMAGE_GIT_BRANCH=ws14 \ No newline at end of file