]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - lfs/usb-stick
gcc: fix libstdc++ symbol versioning (wrong linker detection).
[people/pmueller/ipfire-2.x.git] / lfs / usb-stick
1 ###############################################################################
2 # #
3 # IPFire.org - A linux based firewall #
4 # Copyright (C) 2010 IPFire Team <info@ipfire.org> #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 ###############################################################################
20
21 ###############################################################################
22 # Definitions
23 ###############################################################################
24
25 include Config
26
27 VER = ipfire
28
29 THISAPP = usb-stick
30 TARGET = $(DIR_INFO)/$(THISAPP)
31
32 ###############################################################################
33 # Top-level Rules
34 ###############################################################################
35
36 install : $(TARGET)
37
38 check :
39
40 download :
41
42 md5 :
43
44 ###############################################################################
45 # Installation Details
46 ###############################################################################
47 IMGfdd := /install/images/$(SNAME)-$(VERSION)-install-usb-fdd.$(MACHINE)-$(ED)-core$(CORE).img
48 IMGhdd := /install/images/$(SNAME)-$(VERSION)-install-usb-hdd.$(MACHINE)-$(ED)-core$(CORE).img
49 IMGfs := /install/images/fs
50
51 ifeq "$(ED)" "devel"
52 DISKSIZE=480000
53 else
54 DISKSIZE=120000
55 endif
56
57 define COPY_TO_IMG
58 mkdosfs -n IPFIRE -F 16 -I $$IMAGE && \
59 for i in /0 `seq 0 7`; do \
60 [ -e /dev/loop$${i} ] || continue; \
61 if (! losetup /dev/loop$${i} >/dev/null 2>&1 ); then \
62 LOOPDEV="/dev/loop$${i}"; \
63 break; \
64 fi; \
65 done; \
66 losetup $$LOOPDEV $$IMAGE && \
67 mount -t vfat $$LOOPDEV /install/mnt && \
68 cp -fR /install/cdrom/* /install/mnt && \
69 mv /install/mnt/boot/isolinux/{instroot,vmlinuz,splash.lss,*\.msg,memtest} /install/mnt && \
70 rm -rf /install/mnt/boot/isolinux && \
71 cp $(DIR_SRC)/config/syslinux/syslinux.cfg /install/mnt/syslinux.cfg && \
72 umount /install/mnt && \
73 losetup -d $$LOOPDEV && \
74 syslinux $$IMAGE
75 endef
76
77 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
78
79 # usb-fdd superfloppy (partitionless)
80 # compute size +32 blocks for bootsector/fat/etc...
81 dd bs=1024 count=$$((`du -k -s /install/cdrom | awk '{print $$1}'` + 2048 )) \
82 if=/dev/zero \
83 of=$(IMGfdd)
84 IMAGE=$(IMGfdd); $(COPY_TO_IMG)
85
86 # Partitionned images : make a file system bigger than iso size
87 # that fit on 128MB key to let free space available
88 # on the unique partition. Image will be compressed later
89 dd bs=1k if=/dev/zero of=$(IMGfs) count=$(DISKSIZE)
90 IMAGE=$(IMGfs); $(COPY_TO_IMG)
91
92 # usb-hdd (64 heads, 32 sectors geometry, on a partition 1)
93 # use 64 heads as 256 does not work on Award bios (Asus A7V8X-X Gilles)
94 # use 32 sectors a minima or device is not recognised as hard disk (Frank)
95 # add 32 to IMGfs as first partition start at 32
96 COUNT=$$((`du -k -s $(IMGfs) | awk '{print $$1}'` + 32 )); \
97 dd bs=1k if=/dev/zero of=$(IMGhdd) count=$$COUNT
98 # write mbr before partitioning save a 'not msdos fs' warning from sfdisk
99 /usr/local/sbin/install-mbr -f $(IMGhdd)
100 echo -e "0,,6,*\n;\n;\n;" | sfdisk -qLD -H 64 -S 32 $(IMGhdd)
101 # copy the entire partition, make the fs and dd back
102 dd if=$(IMGfs) of=$(IMGhdd) bs=512 seek=32
103
104 gzip -f9 $(IMGfdd) $(IMGhdd)
105 rm -rf $$LFS/tmp/* $(IMGfs)