summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMatt Housh <jaeger@morpheus.net>2012-10-04 10:09:54 -0500
committerMatt Housh <jaeger@morpheus.net>2012-10-04 10:09:54 -0500
commiteae68111c2b55f81956fd8e733f72b1d3494fd2f (patch)
tree63d04168d8de7c8c09e82529d9a2d72daf81802b /Makefile
parent0d8e49055189468a6919758f91fd6d4297015483 (diff)
downloadiso-eae68111c2b55f81956fd8e733f72b1d3494fd2f.tar.gz
iso-eae68111c2b55f81956fd8e733f72b1d3494fd2f.tar.xz
Multiple updates for 2.8 (rootfs, kernel 3.5.4, SMP, package list updates)2.8-rc2
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile117
1 files changed, 46 insertions, 71 deletions
diff --git a/Makefile b/Makefile
index a96ce7c..9f62884 100644
--- a/Makefile
+++ b/Makefile
@@ -7,17 +7,16 @@ CRUXVERSION = 2.8
CUSTOMVERSION =
COLLECTIONS = core opt xorg
KERNEL_MIRROR = http://www.kernel.org
-KERNEL_VERSION = 3.4.7
-KERNEL_PATCHES = 3.4.7-lpfc.patch
+KERNEL_VERSION = 3.5.4
+KERNEL_PATCHES =
BB_VERSION = 1.20.2
SYSLINUX_VERSION = 4.04
MEMTEST_VERSION = 4.20
-SQUASHFS_VERSION = 4.0
PKG_EXT = pkg.tar.xz
PKGMK_CONF = $(PWD)/pkgmk.conf
PORTS_DIR = $(PWD)/ports
FAKE_ROOT_DIR = $(PWD)/tmp/fake_root
-SQUASHFS_DIR = $(PWD)/tmp/squashfs
+ROOTFS_DIR = $(PWD)/tmp/rootfs
DATE_STR = $(shell date +'%Y%m%d')
IMG_ROOT_DIR = $(PWD)/tmp/img_root
SRCISO_ROOT_DIR = $(PWD)/tmp/srciso_root
@@ -49,8 +48,8 @@ PKGMK_DOWNLOAD=-d
endif
.PHONY: help check-root check-log $(COLLECTIONS) all all-chroot bootstrap \
- kernel kernel-clean syslinux syslinux-clean clean iso busybox \
- busybox-clean unsquashfs-clean initramfs-clean memtest-clean
+ initramfs kernel-clean syslinux-clean clean iso \
+ busybox-clean initramfs-clean memtest-clean
help:
@echo "CRUX Makefile"
@@ -168,29 +167,7 @@ memtest-distclean: memtest-clean
-# unsquashfs
-iso/squashfs$(SQUASHFS_VERSION).tar.gz:
- cd iso && wget http://download.sourceforge.net/squashfs/squashfs$(SQUASHFS_VERSION).tar.gz
-
-iso/squashfs$(SQUASHFS_VERSION): iso/squashfs$(SQUASHFS_VERSION).tar.gz
- tar -C iso -xzmf iso/squashfs$(SQUASHFS_VERSION).tar.gz
- sed -i -e 's/$$(CC)/$$(CC) -static/g' iso/squashfs$(SQUASHFS_VERSION)/squashfs-tools/Makefile
-
-iso/squashfs$(SQUASHFS_VERSION)/squashfs-tools/unsquashfs: iso/squashfs$(SQUASHFS_VERSION)
-
-unsquashfs: iso/squashfs$(SQUASHFS_VERSION)/squashfs-tools/unsquashfs
- (cd iso/squashfs$(SQUASHFS_VERSION)/squashfs-tools; \
- make unsquashfs)
-
-unsquashfs-clean:
- rm -rf iso/squashfs$(SQUASHFS_VERSION)
-
-unsquashfs-distclean: unsquashfs-clean
- rm -f iso/squashfs$(SQUASHFS_VERSION).tar.gz
-
-
-
-clean: kernel-clean busybox-clean syslinux-clean squashfs-clean initramfs-clean
+clean: kernel-clean busybox-clean syslinux-clean initramfs-clean
@rm -rf tmp modules_install.log $(ISO_FILENAME) \
`basename $(ISO_FILENAME) .iso`.md5
@@ -269,7 +246,7 @@ bootstrap: check-root
# initramfs
-initramfs: kernel busybox initramfs/init squashfs
+initramfs: kernel busybox initramfs/init | rootfs
@echo "Creating initramfs..."
@sed -e "s/#KERNEL_VERSION#/$(KERNEL_VERSION)/g" initramfs/initramfs.lst \
> initramfs/initramfs.lst-sed
@@ -282,46 +259,47 @@ initramfs-clean:
-# squashfs
-squashfs: kernel busybox
- @echo "Creating squashfs filesystem..."
- @rm -rf $(SQUASHFS_DIR)
- @mkdir -p $(SQUASHFS_DIR)
+# rootfs.tar.xz
+rootfs: kernel busybox
+ @echo "Creating rootfs..."
+ @rm -rf $(ROOTFS_DIR)
+ @mkdir -p $(ROOTFS_DIR)
+ @echo "- Installing packages..."
@for PACKAGE in $(ISO_PACKAGES); do \
- bsdtar -C $(SQUASHFS_DIR) -xpf $(PORTS_DIR)/*/$$PACKAGE/$$PACKAGE\#*.$(PKG_EXT); \
+ bsdtar -C $(ROOTFS_DIR) -xpf $(PORTS_DIR)/*/$$PACKAGE/$$PACKAGE\#*.$(PKG_EXT); \
done
@sed -i -e 's/^#PermitRootLogin yes/PermitRootLogin yes/' \
- $(SQUASHFS_DIR)/etc/ssh/sshd_config
- @echo "- Installing kernel..."
- @cp kernel/linux-$(KERNEL_VERSION)/System.map $(SQUASHFS_DIR)/boot/System.map
- @cp kernel/linux-$(KERNEL_VERSION)/arch/x86/boot/bzImage $(SQUASHFS_DIR)/boot/vmlinuz
- @echo "- Installing kernel modules (see modules_install.log)"
- @make -C kernel/linux-$(KERNEL_VERSION) INSTALL_MOD_PATH=$(SQUASHFS_DIR) modules_install &> modules_install.log
- @touch kernel/linux-$(KERNEL_VERSION).config kernel/linux-$(KERNEL_VERSION)/arch/x86/boot/bzImage # stupid timestamp problem
+ $(ROOTFS_DIR)/etc/ssh/sshd_config
+ @echo "- Installing kernel and modules..."
+ @cp kernel/linux-$(KERNEL_VERSION)/System.map $(ROOTFS_DIR)/boot/System.map
+ @cp kernel/linux-$(KERNEL_VERSION)/arch/x86/boot/bzImage $(ROOTFS_DIR)/boot/vmlinuz
+ @make -C kernel/linux-$(KERNEL_VERSION) INSTALL_MOD_PATH=$(ROOTFS_DIR) modules_install &> modules_install.log
@echo "- Deleting superfluous files..."
- @cd $(SQUASHFS_DIR) && rm -rf var opt home
- @mkdir -p $(SQUASHFS_DIR)/var/empty $(SQUASHFS_DIR)/var/lib
- @cd $(SQUASHFS_DIR)/usr && rm -rf man include lib/*.a lib/*.o lib/gconv lib/locale src
- @cd $(SQUASHFS_DIR)/usr/share && mkdir l v x; cp terminfo/l/linux l; cp terminfo/v/vt100 v; cp terminfo/x/xterm x; rm -rf terminfo/*; mv l v x terminfo
- @cd $(SQUASHFS_DIR)/usr/share && rm -rf et ss vim i18n zoneinfo
- @cd $(SQUASHFS_DIR)/usr/bin && rm cal locale localedef rpcgen compile_et mk_cmds
- @cd $(SQUASHFS_DIR)/usr/sbin && rm group{add,del,mod} user{add,del,mod} grpck pwck iconvconfig
- @cd $(SQUASHFS_DIR)/etc && rm -rf cron {resolv,lilo,sysctl,pkgadd,pkgmk}.conf securetty
- @cd $(SQUASHFS_DIR)/etc/rc.d && find . -type f ! -name "sshd" -exec rm -f '{}' \;
- @cd $(SQUASHFS_DIR)/lib/modules/$(KERNEL_VERSION) && rm -f build
+ @cd $(ROOTFS_DIR) && rm -rf var opt home
+ @mkdir -p $(ROOTFS_DIR)/var/empty $(ROOTFS_DIR)/var/lib
+ @cd $(ROOTFS_DIR)/usr && rm -rf man include lib/*.a lib/*.o lib/gconv lib/locale src
+ @cd $(ROOTFS_DIR)/usr/share && mkdir l v x; cp terminfo/l/linux l; cp terminfo/v/vt100 v; cp terminfo/x/xterm x; rm -rf terminfo/*; mv l v x terminfo
+ @cd $(ROOTFS_DIR)/usr/share && rm -rf et ss vim i18n zoneinfo
+ @cd $(ROOTFS_DIR)/usr/bin && rm cal locale localedef rpcgen compile_et mk_cmds
+ @cd $(ROOTFS_DIR)/usr/sbin && rm group{add,del,mod} user{add,del,mod} grpck pwck iconvconfig
+ @cd $(ROOTFS_DIR)/etc && rm -rf cron {resolv,lilo,sysctl,pkgadd,pkgmk}.conf securetty
+ @cd $(ROOTFS_DIR)/etc/rc.d && find . -type f ! -name "sshd" -exec rm -f '{}' \;
+ @cd $(ROOTFS_DIR)/lib/modules/$(KERNEL_VERSION) && rm -f build
@echo "- Creating symlinks"
- @ln -sf /tmp/var $(SQUASHFS_DIR)/var
- @ln -sf /proc/mounts $(SQUASHFS_DIR)/etc/mtab
- @cp iso/etc/{motd,fstab,hosts,inittab,issue,ld.so.conf,protocols,rc,rc.shutdown,rc.single,services,shadow} \
- $(SQUASHFS_DIR)/etc
+ @ln -sf /tmp/var $(ROOTFS_DIR)/var
+ @ln -sf /proc/mounts $(ROOTFS_DIR)/etc/mtab
@echo "- Updating library links and cache"
- @ldconfig -r $(SQUASHFS_DIR)
- @cp iso/bin/{setup,setup-helper,setup-chroot,serial_console} $(SQUASHFS_DIR)/usr/bin
- @mkdir -p squashfs
- @mksquashfs $(SQUASHFS_DIR) squashfs/crux.squashfs -noappend &> /dev/null
-
-squashfs-clean:
- @rm -rf squashfs
+ @ldconfig -r $(ROOTFS_DIR)
+ @echo "- Copying iso/ files..."
+ @cp iso/etc/{motd,fstab,hosts,inittab,issue,ld.so.conf,protocols,rc,rc.shutdown,rc.single,services,shadow} \
+ $(ROOTFS_DIR)/etc
+ @cp iso/bin/{setup,setup-helper,setup-chroot,serial_console} $(ROOTFS_DIR)/usr/bin
+ @echo "- Compressing (rootfs.tar.xz)..."
+ @mkdir -p rootfs
+ @(cd $(ROOTFS_DIR) && tar -Jcf ../../rootfs/rootfs.tar.xz . 2>/dev/null)
+
+rootfs-clean:
+ @rm -rf rootfs
# setup.dependencies
@@ -362,7 +340,7 @@ check-portstree: packages.all
##### image building #####
-image-base: check-root kernel syslinux initramfs squashfs setup.dependencies unsquashfs
+image-base: check-root kernel syslinux initramfs rootfs setup.dependencies
@echo "Creating installation image base"
@if [ -e $(IMG_ROOT_DIR) ]; then rm -rf $(IMG_ROOT_DIR); fi
@mkdir -p $(IMG_ROOT_DIR)/boot
@@ -390,10 +368,8 @@ image-base: check-root kernel syslinux initramfs squashfs setup.dependencies uns
@cp $(IMG_ROOT_DIR)/crux/core/pkgutils*.$(PKG_EXT) $(IMG_ROOT_DIR)/tools
@xz -d $(IMG_ROOT_DIR)/tools/pkgutils*.$(PKG_EXT)
@gzip $(IMG_ROOT_DIR)/tools/pkgutils*.tar
- @echo "- Copying unsquashfs binary to /tools"
- @cp iso/squashfs$(SQUASHFS_VERSION)/squashfs-tools/unsquashfs $(IMG_ROOT_DIR)/tools
- @echo "- Copying squashfs filesystem"
- @cp squashfs/crux.squashfs $(IMG_ROOT_DIR)
+ @echo "- Copying rootfs.tar.xz"
+ @cp rootfs/rootfs.tar.xz $(IMG_ROOT_DIR)
@echo $(CRUXVERSION)-$(DATE_STR) > $(IMG_ROOT_DIR)/crux-media
@@ -420,7 +396,7 @@ iso: image-base memtest
@echo "Done"
-source-iso: busybox-source packages.all iso/squashfs$(SQUASHFS_VERSION).tar.gz iso/syslinux-$(SYSLINUX_VERSION).tar.gz kernel/linux-$(KERNEL_VERSION).tar.bz2
+source-iso: busybox-source packages.all iso/syslinux-$(SYSLINUX_VERSION).tar.gz kernel/linux-$(KERNEL_VERSION).tar.bz2
@echo "Creating ISO image with sources ($(SRCISO_FILENAME))"
@rm -rf $(SRCISO_ROOT_DIR)
@mkdir -p $(SRCISO_ROOT_DIR)/{ports,kernel,misc}
@@ -432,7 +408,6 @@ source-iso: busybox-source packages.all iso/squashfs$(SQUASHFS_VERSION).tar.gz i
@echo "- Copying misc sources"
@cp busybox/busybox-$(BB_VERSION).tar.bz2 $(SRCISO_ROOT_DIR)/misc
@cp iso/syslinux-$(SYSLINUX_VERSION).tar.gz $(SRCISO_ROOT_DIR)/misc
- @cp iso/squashfs$(SQUASHFS_VERSION).tar.gz $(SRCISO_ROOT_DIR)/misc
@echo "- Copying kernel and patches"
@cp kernel/linux-$(KERNEL_VERSION).tar.bz2 $(SRCISO_ROOT_DIR)/kernel
@for PATCH in $(KERNEL_PATCHES); do cp kernel/$$PATCH $(SRCISO_ROOT_DIR)/kernel; done

Generated by cgit