2007-10-14 11:14:33 -05:00
#
# Makefile for CRUX
# Copyright (c) 2003-2005 Per Liden <per@fukt.bth.se>
#
2009-05-28 15:15:04 +02:00
CRUXVERSION = 2.6
2009-05-27 10:15:32 -05:00
CUSTOMVERSION =
2008-05-07 15:06:21 -05:00
COLLECTIONS = core opt xorg
2007-10-14 11:14:33 -05:00
KERNEL_MIRROR = ftp://ftp.kernel.org
2009-08-28 10:17:16 -05:00
KERNEL_VERSION = 2.6.30.5
2009-05-27 10:15:32 -05:00
KERNEL_PATCHES =
2009-05-28 21:45:40 +00:00
BB_VERSION = 1.14.1
2009-06-06 18:34:02 +02:00
SYSLINUX_VERSION = 3.81
2009-05-27 10:15:32 -05:00
SQUASHFS_VERSION = 4.0
2008-05-08 09:58:09 +02:00
PORTS_DIR = $( PWD) /ports
2007-10-14 11:14:33 -05:00
FAKE_ROOT_DIR = $( PWD) /tmp/fake_root
SQUASHFS_DIR = $( PWD) /tmp/squashfs
2009-05-27 10:15:32 -05:00
DATE_STR = $( shell date +'%Y%m%d' )
2007-10-14 11:14:33 -05:00
ISO_ROOT_DIR = $( PWD) /tmp/iso_root
2008-12-19 22:23:59 +01:00
SRCISO_ROOT_DIR = $( PWD) /tmp/srciso_root
2009-05-27 10:15:32 -05:00
ISO_FILENAME = $( PWD) /crux-$( CRUXVERSION) $( CUSTOMVERSION) .iso
NETISO_FILENAME = $( PWD) /crux-$( CRUXVERSION) $( CUSTOMVERSION) -netinst.iso
SRCISO_FILENAME = $( PWD) /crux-$( CRUXVERSION) $( CUSTOMVERSION) -source.iso
2007-10-14 11:14:33 -05:00
ISO_PACKAGES = filesystem bash coreutils bzip2 e2fsprogs jfsutils \
xfsprogs reiserfsprogs patch findutils glibc grep gzip kbd \
module-init-tools less gawk ncurses net-tools pkgutils \
2008-09-22 17:08:44 +02:00
procps readline sed shadow sysklogd sysvinit tar \
2009-05-28 15:07:24 +02:00
util-linux-ng vim which dialog nano mdadm pciutils libusb libusb-compat \
2008-09-22 17:35:46 +02:00
sysfsutils usbutils udev zlib openssl openssh \
2009-07-27 11:14:02 +02:00
dhcpcd wget iproute2 libpcre iputils libgmp libdevmapper lvm2
2007-10-14 11:14:33 -05:00
2008-05-08 09:58:09 +02:00
PORTS_core = $( shell /bin/ls -I README $( PORTS_DIR) /core)
2007-10-26 13:42:13 +02:00
PORTS_opt = $( shell /bin/cat packages.opt)
2007-09-10 08:44:18 +02:00
PORTS_xorg = $( shell /bin/cat packages.xorg)
2007-10-14 11:14:33 -05:00
i f e q ( $( FORCE ) , y e s )
PKGMK_FORCE = -f
e l s e
PKGMK_FORCE =
e n d i f
.PHONY : help check -root check -log $( COLLECTIONS ) all all -chroot bootstrap kernel kernel -clean syslinux syslinux -clean clean iso
help :
@echo "CRUX Makefile"
@echo "Targets:"
@echo " <collection> build single collection"
@echo " all build all collections"
@echo " bootstrap bootstrap all collections"
@echo " kernel download and build kernel"
@echo " iso create iso image"
@echo "Collections:"
@echo " $( COLLECTIONS) "
check-root :
@if [ " $$ UID " != "0" ] ; then \
echo "You need to be root to do this." ; \
exit 1; \
fi
check-log :
@grep "^=======> ERROR:" ; \
if [ " $$ ? " = "0" ] ; then \
echo "(see log file for details)" ; \
exit 1; \
else \
exit 0; \
fi
# kernel
kernel/linux-$(KERNEL_VERSION).tar.bz2 :
cd kernel && wget $( KERNEL_MIRROR) /pub/linux/kernel/v2.6/linux-$( KERNEL_VERSION) .tar.bz2
kernel/linux-$(KERNEL_VERSION) : kernel /linux -$( KERNEL_VERSION ) .tar .bz 2
tar -C kernel -xjmf kernel/linux-$( KERNEL_VERSION) .tar.bz2
for FILE in $( KERNEL_PATCHES) ; do \
( cd kernel/linux-$( KERNEL_VERSION) && patch -p1 -i ../$$ FILE; ) \
done
kernel/linux-$(KERNEL_VERSION)/arch/i386/boot/bzImage : kernel /linux -$( KERNEL_VERSION ) kernel /linux -$( KERNEL_VERSION ) .config
make -C kernel/linux-$( KERNEL_VERSION) mrproper
cp -f kernel/linux-$( KERNEL_VERSION) .config kernel/linux-$( KERNEL_VERSION) /.config
make -C kernel/linux-$( KERNEL_VERSION) oldconfig
make -C kernel/linux-$( KERNEL_VERSION) all
kernel : kernel /linux -$( KERNEL_VERSION ) /arch /i 386/boot /bzImage
kernel-clean :
rm -rf kernel/linux-$( KERNEL_VERSION)
kernel-distclean : kernel -clean
rm -f kernel/linux-$( KERNEL_VERSION) .tar.bz2
# busybox
2008-12-19 21:19:06 +01:00
busybox/busybox-$(BB_VERSION).tar.bz2 :
@cd busybox && wget http://busybox.net/downloads/busybox-$( BB_VERSION) .tar.bz2
2009-05-28 21:45:40 +00:00
busybox/busybox-$(BB_VERSION) : busybox /busybox -$( BB_VERSION ) .tar .bz 2
@tar -C busybox -xjmf busybox/busybox-$( BB_VERSION) .tar.bz2
busybox/busybox : busybox /busybox -$( BB_VERSION )
@cp -f busybox/busybox-$( BB_VERSION) .config busybox/busybox-$( BB_VERSION) /.config
@make -C busybox/busybox-$( BB_VERSION) oldconfig
@make -C busybox/busybox-$( BB_VERSION)
@cp busybox/busybox-$( BB_VERSION) /busybox busybox/busybox
2007-10-14 11:14:33 -05:00
busybox : busybox /busybox
2008-12-19 21:19:06 +01:00
busybox-source : busybox /busybox -$( BB_VERSION ) .tar .bz 2
2007-10-14 11:14:33 -05:00
busybox-clean :
2009-05-28 21:45:40 +00:00
rm -rf busybox/busybox-$( BB_VERSION) busybox/busybox
busybox-distclean : busybox -clean
2008-12-19 21:19:06 +01:00
rm -f busybox/busybox-$( BB_VERSION) .tar.bz2
2007-10-14 11:14:33 -05:00
# isolinux
iso/syslinux-$(SYSLINUX_VERSION).tar.gz :
cd iso && wget $( KERNEL_MIRROR) /pub/linux/utils/boot/syslinux/syslinux-$( SYSLINUX_VERSION) .tar.gz
iso/syslinux-$(SYSLINUX_VERSION) : iso /syslinux -$( SYSLINUX_VERSION ) .tar .gz
tar -C iso -xzmf iso/syslinux-$( SYSLINUX_VERSION) .tar.gz
iso/syslinux-$(SYSLINUX_VERSION)/isolinux.bin : iso /syslinux -$( SYSLINUX_VERSION )
syslinux : iso /syslinux -$( SYSLINUX_VERSION ) /isolinux .bin
syslinux-clean :
rm -rf iso/syslinux-$( SYSLINUX_VERSION)
syslinux-distclean :
rm -f iso/syslinux-$( SYSLINUX_VERSION) .tar.gz
2008-11-25 15:53:54 -06:00
# unsquashfs
iso/squashfs$(SQUASHFS_VERSION).tar.gz :
cd iso && wget http://dl.sourceforge.net/sourceforge/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
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; \
sed -i -e 's/$$(CC)/$$(CC) -static/g' Makefile; \
make unsquashfs)
unsquashfs-clean :
rm -rf iso/squashfs$( SQUASHFS_VERSION)
unsquashfs-distclean :
rm -f iso/squashfs$( SQUASHFS_VERSION) .tar.gz
2007-10-14 11:14:33 -05:00
clean : kernel -clean busybox -clean syslinux -clean squashfs -clean initramfs -clean
@rm -rf tmp modules_install.log $( ISO_FILENAME) $( NETISO_FILENAME) \
` basename $( ISO_FILENAME) .iso` .md5 \
` basename $( NETISO_FILENAME) .iso` .md5
2008-09-25 22:55:28 +02:00
distclean : clean kernel -distclean syslinux -distclean setup .dependencies -clean
2007-10-14 11:14:33 -05:00
$(COLLECTIONS) : check -root
@for p in $( PORTS_$( @) ) ; do \
echo " port: $$ p " ; \
2008-05-08 09:58:09 +02:00
( cd $( PORTS_DIR) /$@ /$$ p && pkgmk -d $( PKGMK_FORCE) ) ; \
2007-10-14 11:14:33 -05:00
done
all : $( COLLECTIONS )
all-chroot : check -root
@echo "Creating chroot environment"
@rm -rf $( FAKE_ROOT_DIR)
@mkdir -p $( FAKE_ROOT_DIR)
@echo "Installing packages"
@mkdir -p $( FAKE_ROOT_DIR) /var/lib/pkg
@touch $( FAKE_ROOT_DIR) /var/lib/pkg/db
@for COLL in $( COLLECTIONS) ; do \
2008-05-08 09:58:09 +02:00
for PACKAGE in $( PORTS_DIR) /$$ COLL/*/*.pkg.tar.gz; do \
2007-10-14 11:14:33 -05:00
echo " $$ PACKAGE " ; \
pkgadd -r $( FAKE_ROOT_DIR) $$ PACKAGE; \
done ; \
done
@echo " Installing kernel source (linux- $( KERNEL_VERSION) ) into $( FAKE_ROOT_DIR) /usr/src/linux- $( KERNEL_VERSION) ... "
@mkdir -p $( FAKE_ROOT_DIR) /usr/src
@tar jxf kernel/linux-$( KERNEL_VERSION) .tar.bz2 -C $( FAKE_ROOT_DIR) /usr/src/
@for FILE in $( KERNEL_PATCHES) ; do \
cp kernel/$$ FILE $( FAKE_ROOT_DIR) /usr/src/linux-$( KERNEL_VERSION) /; \
( cd $( FAKE_ROOT_DIR) /usr/src/linux-$( KERNEL_VERSION) && \
patch -p1 -i $$ FILE) ; \
done
@cp kernel/linux-$( KERNEL_VERSION) .config $( FAKE_ROOT_DIR) /usr/src/linux-$( KERNEL_VERSION) /.config
@echo "Preparing kernel source..."
@( cd $( FAKE_ROOT_DIR) /usr/src/linux-$( KERNEL_VERSION) && \
make oldconfig && make)
@mkdir -p $( FAKE_ROOT_DIR) /lib/modules/$( KERNEL_VERSION)
@ln -s /usr/src/linux-$( KERNEL_VERSION) $( FAKE_ROOT_DIR) /lib/modules/$( KERNEL_VERSION) /build
@cp -L /etc/resolv.conf $( FAKE_ROOT_DIR) /etc/
@echo " Mounting /dev on $( FAKE_ROOT_DIR) /dev "
@mount --bind /dev $( FAKE_ROOT_DIR) /dev
@echo " Mounting /proc on $( FAKE_ROOT_DIR) /proc "
@mount --bind /proc $( FAKE_ROOT_DIR) /proc
@echo " Mounting $$ PWD on $( FAKE_ROOT_DIR) /src "
@mkdir $( FAKE_ROOT_DIR) /src
@mount --bind $$ PWD $( FAKE_ROOT_DIR) /src
@echo "Entering chroot enrivonment"
@chroot $( FAKE_ROOT_DIR) /bin/bash --login -c " cd /src && $( MAKE) FORCE=yes all "
@echo "Exiting chroot enrivonment"
@echo " Unmounting $( FAKE_ROOT_DIR) /src "
@umount $( FAKE_ROOT_DIR) /src
2007-11-27 09:54:06 +01:00
@rmdir $( FAKE_ROOT_DIR) /src
2007-10-14 11:14:33 -05:00
@echo " Unmounting $( FAKE_ROOT_DIR) /proc "
@umount $( FAKE_ROOT_DIR) /proc
@echo " Unmounting $( FAKE_ROOT_DIR) /dev "
@umount $( FAKE_ROOT_DIR) /dev
2007-11-27 09:54:06 +01:00
@echo "Removing chroot environment"
@rm -rf $( FAKE_ROOT_DIR)
2007-10-14 11:14:33 -05:00
bootstrap : check -root
@echo "Bootstrap started (`date +'%F %T'`)"
@echo "- Stage 0 (`date +'%F %T'`)"
@$( MAKE) all & > log.stage0
@$( MAKE) check-log < log.stage0
@echo "- Stage 1 (`date +'%F %T'`)"
@$( MAKE) all-chroot & > log.stage1
@$( MAKE) check-log < log.stage1
@echo "- Stage 2 (`date +'%F %T'`)"
@$( MAKE) all-chroot & > log.stage2
@$( MAKE) check-log < log.stage2
@echo "Bootstrap completed (`date +'%F %T'`)"
# initramfs
initramfs : kernel busybox initramfs /init squashfs
@echo "Creating initramfs..."
@sed -e " s/#KERNEL_VERSION#/ $( KERNEL_VERSION) /g " initramfs/initramfs.lst \
> initramfs/initramfs.lst-sed
@cd initramfs && ../kernel/linux-$( KERNEL_VERSION) /usr/gen_init_cpio \
initramfs.lst-sed > initramfs
initramfs-clean :
if [ -e initramfs/initramfs.lst-sed ] ; then rm -f initramfs/initramfs.lst-sed; fi
if [ -e initramfs/initramfs ] ; then rm -f initramfs/initramfs; fi
# squashfs
squashfs : kernel busybox
@echo "Creating squashfs filesystem..."
2009-08-28 10:17:16 -05:00
@rm -rf $( SQUASHFS_DIR)
2007-10-14 11:14:33 -05:00
@mkdir -p $( SQUASHFS_DIR)
@for PACKAGE in $( ISO_PACKAGES) ; do \
2008-05-08 09:58:09 +02:00
tar -C $( SQUASHFS_DIR) -xzpf $( PORTS_DIR) /*/$$ PACKAGE/$$ PACKAGE\# *.pkg.tar.gz; \
2007-10-14 11:14:33 -05:00
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/i386/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/i386/boot/bzImage # stupid timestamp problem
@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 rpcinfo zic zdump
@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
@echo "- Creating symlinks"
@ln -sf /tmp/var $( SQUASHFS_DIR) /var
@ln -sf /proc/mounts $( SQUASHFS_DIR) /etc/mtab
2009-06-12 13:01:59 +02:00
@cp iso/etc/{ motd,fstab,hosts,inittab,issue,ld.so.conf,protocols,rc,rc.shutdown,rc.single,services,shadow} \
2007-10-14 11:14:33 -05:00
$( SQUASHFS_DIR) /etc
@echo "- Updating library links and cache"
@ldconfig -r $( SQUASHFS_DIR)
@cp iso/bin/{ setup,setup-helper,setup-chroot,net-setup,net-setup-helper,serial_console} $( SQUASHFS_DIR) /usr/bin
@mkdir -p squashfs
@mksquashfs $( SQUASHFS_DIR) squashfs/crux.squashfs -noappend -e usr/bin/net-setup -e usr/bin/net-setup-helper & > /dev/null
@mksquashfs $( SQUASHFS_DIR) squashfs/crux.squashfs-net -noappend -e usr/bin/setup -e usr/bin/setup-helper & > /dev/null
squashfs-clean :
@rm -rf squashfs
2008-09-25 22:55:28 +02:00
# setup.dependencies
2008-11-01 10:12:30 +01:00
iso/setup.dependencies : packages .opt packages .xorg
2008-10-17 21:09:28 +02:00
@echo "Creating iso/setup.dependencies ..."
2008-09-25 22:55:28 +02:00
@for PORT in $( foreach c,$( COLLECTIONS) ,$( PORTS_$( c) ) ) ; do \
echo -n $$ PORT": " ; \
prt-get \
--no-std-config \
$( foreach c,$( COLLECTIONS) ,--config-append= " prtdir $( PORTS_DIR) / $( c) " ) \
quickdep $$ PORT; \
done > $@
2008-10-24 23:11:41 +02:00
setup.dependencies : iso /setup .dependencies packages .all check -deps
2008-09-25 22:55:28 +02:00
setup.dependencies-clean :
@rm iso/setup.dependencies
2008-10-24 23:11:41 +02:00
@rm packages.all
2008-10-17 21:09:28 +02:00
2008-10-24 23:11:41 +02:00
# Write a file with all packages we provide on the iso
2008-11-01 10:12:30 +01:00
packages.all : packages .opt packages .xorg
2008-10-24 23:11:41 +02:00
@echo "Writing file packages.all ..."
2008-10-17 21:09:28 +02:00
@for PORT in $( foreach c,$( COLLECTIONS) ,$( PORTS_$( c) ) ) ; do \
echo $$ PORT; \
2008-10-24 23:11:41 +02:00
done | sort > $@
2008-10-17 21:09:28 +02:00
# here we check if we have a dep, listed in a Pkgfile, which we do not provide on the iso
2008-10-24 23:11:41 +02:00
check-deps : packages .all iso /setup .dependencies
@echo "Check for missing dependencies ..."
2008-10-17 21:09:28 +02:00
@gawk ' \
2008-10-24 23:11:41 +02:00
BEGIN { while ( ( getline p < "packages.all" ) > 0) { pkgs[ p] } } \
2008-10-17 21:09:28 +02:00
{ for ( p = 2; p<= NF; p++) { if ( ! ( $$ p in pkgs) ) { printf( " * %s %s\n" , $$ 1, $$ p) } } } \
' iso/setup.dependencies
2008-10-24 23:15:50 +02:00
# check for duplicate, missing and orpahn packages in the ports tree
check-portstree : packages .all
@cd $( PORTS_DIR) && ./checkportstree
2008-09-25 22:55:28 +02:00
##### iso building #####
2008-11-07 10:08:15 +01:00
iso : check -root kernel syslinux initramfs squashfs setup .dependencies unsquashfs
2007-10-14 11:14:33 -05:00
@echo " Creating ISO image ( $( ISO_FILENAME) ) "
@if [ -e $( ISO_ROOT_DIR) ] ; then rm -rf $( ISO_ROOT_DIR) ; fi
@mkdir -p $( ISO_ROOT_DIR) /boot
@echo "- Installing kernel"
@cp kernel/linux-$( KERNEL_VERSION) /System.map $( ISO_ROOT_DIR) /boot/System.map
@cp kernel/linux-$( KERNEL_VERSION) /arch/i386/boot/bzImage $( ISO_ROOT_DIR) /boot/vmlinuz
@echo "- Installing initramfs"
@cp initramfs/initramfs $( ISO_ROOT_DIR) /boot/initramfs
@echo "- Copying ISO specific files"
2009-06-22 18:09:23 +02:00
@mkdir -p $( ISO_ROOT_DIR) /boot/isolinux
2008-10-14 20:33:49 +02:00
@cp iso/syslinux-$( SYSLINUX_VERSION) /core/isolinux.bin $( ISO_ROOT_DIR) /boot/isolinux
2007-10-14 11:14:33 -05:00
@cp iso/isolinux/{ isolinux.cfg,*.msg,memtest86plus} \
$( ISO_ROOT_DIR) /boot/isolinux
@echo $( CRUXVERSION) -$( DATE_STR) > $( ISO_ROOT_DIR) /crux-cd
@echo "- Copying CRUX packages"
@mkdir -p $( ISO_ROOT_DIR) /crux
@cp doc/handbook/{ handbook,releasenotes} .txt $( ISO_ROOT_DIR) /crux
@cp iso/setup.dependencies $( ISO_ROOT_DIR) /crux
@mkdir -p $( ISO_ROOT_DIR) /crux/kernel
@cp kernel/linux-$( KERNEL_VERSION) .tar.bz2 $( ISO_ROOT_DIR) /crux/kernel
@cp kernel/linux-$( KERNEL_VERSION) .config $( ISO_ROOT_DIR) /crux/kernel
@for FILE in $( KERNEL_PATCHES) ; do \
cp kernel/$$ FILE $( ISO_ROOT_DIR) /crux/kernel; \
done
@for COLL in $( COLLECTIONS) ; do \
mkdir -p $( ISO_ROOT_DIR) /crux/$$ COLL; \
2008-05-08 09:58:09 +02:00
cp $( PORTS_DIR) /$$ COLL/*/*.pkg.tar.gz $( ISO_ROOT_DIR) /crux/$$ COLL; \
2007-10-14 11:14:33 -05:00
done
2008-11-07 10:08:15 +01:00
@mkdir -p $( ISO_ROOT_DIR) /tools
@echo "- Copying unsquashfs binary"
2008-11-25 15:53:54 -06:00
@cp iso/squashfs$( SQUASHFS_VERSION) /squashfs-tools/unsquashfs $( ISO_ROOT_DIR) /tools
2007-10-14 11:14:33 -05:00
@echo "- Copying squashfs filesystem"
@cp squashfs/crux.squashfs $( ISO_ROOT_DIR)
@echo "- Creating ISO sort table"
@echo " $( ISO_ROOT_DIR) /boot 100 " > /tmp/iso.sort
@echo " $( ISO_ROOT_DIR) /boot/isolinux 200 " >> /tmp/iso.sort
@echo " $( ISO_ROOT_DIR) /boot/isolinux/isolinux.bin 300 " >> /tmp/iso.sort
2008-10-17 14:59:42 +02:00
@echo "- Starting genisoimage"
2007-10-14 11:14:33 -05:00
@if [ -f $( ISO_FILENAME) ] ; then rm -f $( ISO_FILENAME) ; fi
@if [ -f $( NETISO_FILENAME) ] ; then rm -f $( NETISO_FILENAME) ; fi
2009-05-27 10:15:32 -05:00
@genisoimage -R -l -J -V " CRUX- $( CRUXVERSION) $( CUSTOMVERSION) " -A CRUX \
-b boot/isolinux/isolinux.bin \
2007-10-14 11:14:33 -05:00
-c boot/isolinux/isolinux.boot -no-emul-boot -boot-load-size 4 \
2009-05-27 10:15:32 -05:00
-boot-info-table -sort /tmp/iso.sort -o " $( ISO_FILENAME) " $( ISO_ROOT_DIR)
2007-10-14 11:14:33 -05:00
@md5sum ` basename $( ISO_FILENAME) ` > ` basename $( ISO_FILENAME) .iso` .md5
@rm $( ISO_ROOT_DIR) /crux.squashfs
@cp squashfs/crux.squashfs-net $( ISO_ROOT_DIR) /crux.squashfs
2009-05-27 10:15:32 -05:00
@genisoimage -R -l -J -V " CRUX-NET- $( CRUXVERSION) $( CUSTOMVERSION) " -A CRUX \
2008-11-28 13:57:39 -06:00
-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot \
2007-10-14 11:14:33 -05:00
-exclude-list iso/excludelist.net -no-emul-boot -boot-load-size 4 \
2009-05-27 10:15:32 -05:00
-boot-info-table -sort /tmp/iso.sort -o " $( NETISO_FILENAME) " $( ISO_ROOT_DIR)
2007-10-14 11:14:33 -05:00
@md5sum ` basename $( NETISO_FILENAME) ` > \
` basename $( NETISO_FILENAME) .iso` .md5
@rm /tmp/iso.sort
@rm -rf $( ISO_ROOT_DIR)
@echo "Done"
2007-10-26 13:53:07 +02:00
2008-12-19 22:23:59 +01:00
source-iso : busybox -source packages .all iso /squashfs $( SQUASHFS_VERSION ) .tar .gz iso /syslinux -$( SYSLINUX_VERSION ) .tar .gz
@echo " Creating ISO image with sources ( $( SRCISO_FILENAME) ) "
@rm -rf $( SRCISO_ROOT_DIR)
@mkdir -p $( SRCISO_ROOT_DIR) /{ ports,kernel,misc}
@echo "- Copying ports"
@for PORT in $( shell /bin/cat packages.all) ; do \
find $( PORTS_DIR) -mindepth 2 -maxdepth 2 -name $$ PORT -type d -exec cp -r { } $( SRCISO_ROOT_DIR) /ports \; ; \
2008-12-20 00:13:22 +01:00
rm $( SRCISO_ROOT_DIR) /ports/$$ PORT/{ .footprint,.md5sum,*.pkg.tar.gz} ; \
2008-12-19 22:23:59 +01:00
done
@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
@echo "- Creating README"
@echo "This ISO image contains sources for the packages, kernel and utilities" > $( SRCISO_ROOT_DIR) /README
@echo " supplied with/used in CRUX $( CRUXVERSION) . " >> $( SRCISO_ROOT_DIR) /README
@echo "- Starting genisoimage"
@genisoimage -R -l -J -V CRUX-$( CRUXVERSION) -A CRUX -o $( SRCISO_FILENAME) $( SRCISO_ROOT_DIR)
@md5sum ` basename $( SRCISO_FILENAME) ` > ` basename $( SRCISO_FILENAME) .iso` .md5
2007-10-14 11:14:33 -05:00
# End of file