diff options
author | Matt Housh <jaeger@morpheus.net> | 2012-10-04 10:09:54 -0500 |
---|---|---|
committer | Matt Housh <jaeger@morpheus.net> | 2012-10-04 10:09:54 -0500 |
commit | eae68111c2b55f81956fd8e733f72b1d3494fd2f (patch) | |
tree | 63d04168d8de7c8c09e82529d9a2d72daf81802b /Makefile | |
parent | 0d8e49055189468a6919758f91fd6d4297015483 (diff) | |
download | iso-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-- | Makefile | 117 |
1 files changed, 46 insertions, 71 deletions
@@ -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 |