--- /dev/null
+###############################################################################
+# This file is part of the IPCop Firewall. #
+# #
+# IPCop is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 2 of the License, or #
+# (at your option) any later version. #
+# #
+# IPCop is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPCop; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Makefiles are based on LFSMake, which is #
+# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com> #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+THISAPP = usb-stick
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+install : $(TARGET)
+
+check :
+
+download :
+
+md5 :
+
+###############################################################################
+# Installation Details
+###############################################################################
+IMGfdd := /install/images/$(SNAME)-$(VERSION)-install-usb-fdd.$(MACHINE).img
+IMGhdd := /install/images/$(SNAME)-$(VERSION)-install-usb-hdd.$(MACHINE).img
+IMGfs := /install/images/fs
+
+define COPY_TO_IMG
+ mkdosfs -n IPFIRE -F 16 -I $$IMAGE && \
+ for i in `seq 0 7`; do \
+ if (! losetup /dev/loop$${i} >/dev/null 2>&1 ); then \
+ LOOPDEV="/dev/loop$${i}"; \
+ break; \
+ fi; \
+ done; \
+ losetup $$LOOPDEV $$IMAGE && \
+ mount -t vfat $$LOOPDEV /install/mnt && \
+ cp -fR /install/cdrom/* /install/mnt && \
+ mv /install/mnt/boot/isolinux/{instroot,vmlinuz,*\.msg,memtest} /install/mnt && \
+ rm -rf /install/mnt/boot && \
+ cp $(DIR_SRC)/config/syslinux/syslinux.cfg /install/mnt/syslinux.cfg && \
+ umount /install/mnt && \
+ losetup -d $$LOOPDEV && \
+ syslinux $$IMAGE
+endef
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+
+ # usb-fdd superfloppy (partitionless)
+ # compute size +32 blocks for bootsector/fat/etc...
+ dd bs=1024 count=$$((`du -k -s /install/cdrom | awk '{print $$1}'` + 2048 )) \
+ if=/dev/zero \
+ of=$(IMGfdd)
+ IMAGE=$(IMGfdd); $(COPY_TO_IMG)
+
+ # Partitionned images : make a file system bigger than iso size
+ # that fit on 128MB key to let free space available
+ # on the unique partition. Image will be compressed later
+ dd bs=1k if=/dev/zero of=$(IMGfs) count=120000
+ IMAGE=$(IMGfs); $(COPY_TO_IMG)
+
+ # usb-hdd (64 heads, 32 sectors geometry, on a partition 1)
+ # use 64 heads as 256 does not work on Award bios (Asus A7V8X-X Gilles)
+ # use 32 sectors a minima or device is not recognised as hard disk (Frank)
+ # add 32 to IMGfs as first partition start at 32
+ COUNT=$$((`du -k -s $(IMGfs) | awk '{print $$1}'` + 32 )); \
+ dd bs=1k if=/dev/zero of=$(IMGhdd) count=$$COUNT
+ # write mbr before partitioning save a 'not msdos fs' warning from sfdisk
+ /usr/local/sbin/install-mbr -f $(IMGhdd)
+ echo -e "0,,6,*\n;\n;\n;" | sfdisk -qLD -H 64 -S 32 $(IMGhdd)
+ # copy the entire partition, make the fs and dd back
+ dd if=$(IMGfs) of=$(IMGhdd) bs=512 seek=32
+
+ gzip -f9 $(IMGfdd) $(IMGhdd)
+ rm -rf $$LFS/tmp/* $(IMGfs)