]> git.ipfire.org Git - ipfire-3.x.git/blame - lfs/images
Added some lines for ext4 on installer.
[ipfire-3.x.git] / lfs / images
CommitLineData
32881254
MT
1###############################################################################
2# #
3# IPFire.org - A linux based firewall #
4# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
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
25include Config
26
27VER = ipfire
28
29THISAPP = images
30
32881254
MT
31PASS = $(firstword $(MAKEFILE_LIST))
32
33ifeq "$(PASS)" "pxe"
34 PREFIX = $(SNAME)-$(VERSION)
35else
36 PREFIX = isolinux
37endif
38
6679675b 39OBJECT = $(DIR_INFO)/$(STAGE_ORDER)_$(STAGE)/$(THISAPP)
32881254 40
51d841ec
MT
41ROOTFILES = $(DIR_SOURCE)/rootfiles/core
42ifeq "$(BUILD_DEBUG)" "1"
43 ROOTFILES += $(DIR_SOURCE)/rootfiles/debug
44endif
45
32881254
MT
46###############################################################################
47# Top-level Rules
48###############################################################################
49
6679675b 50install : $(OBJECT)
32881254
MT
51
52download :
53
54###############################################################################
55# Installation Details
56###############################################################################
57
6679675b 58$(OBJECT) :
32881254
MT
59 @rm -rf $(CDROM_DIR)/* $(CDROM_DIR)/.$(SNAME)info
60
b36abb20
MT
61ifeq "$(PASS)" "$(THISAPP)"
62 @rm -f $(IMAGES_DIR)/$(SNAME)-$(VERSION).img
63 mkdir -pv $(CDROM_DIR)/tmp
32881254 64
1453ab9b
MT
65 TARGET=$(TARGET) KVER=$(KVER) \
66 $(DIR_SOURCE)/scripts/archive.files $(ROOTFILES) > $(CDROM_DIR)/archive.files
32881254 67
9afc94e7
MT
68 cd / && cpio -pd $(CDROM_DIR)/tmp < $(CDROM_DIR)/archive.files \
69 2>$(CDROM_DIR)/archive.errors
32881254
MT
70
71 @cat $(CDROM_DIR)/archive.errors
72 @if grep -q "No such file or directory" < $(CDROM_DIR)/archive.errors; then \
73 exit 1; \
74 fi
75
4c5e970d 76 cd $(CDROM_DIR)/tmp && mksquashfs * $(IMAGES_DIR)/$(SNAME)-$(VERSION).img -b 1M
b36abb20
MT
77endif
78
79ifeq "$(PASS)" "pxe"
80 mkdir -pv $(CDROM_DIR)/{pxelinux.cfg,$(PREFIX)}
81endif
82
83ifeq "$(PASS)" "cdrom"
84 mkdir -pv $(CDROM_DIR)/{isolinux,doc}
85
86 cp -vf $(IMAGES_DIR)/$(SNAME)-$(VERSION).img $(CDROM_DIR)
32ab3b85 87 cd $(CDROM_DIR) && unsquashfs -ls $(SNAME)-$(VERSION).img > $(SNAME)-$(VERSION).ls
32881254 88
4c5e970d 89 cd $(INSTALLER_DIR) && mksquashfs * $(CDROM_DIR)/pomona-$(VERSION).overlay -b 1M
069cf07a 90
32881254 91 # These files won't be included in the iso
9afc94e7 92 @rm -rf $(CDROM_DIR)/archive.{files,errors} $(CDROM_DIR)/tmp
32881254
MT
93
94 # Other files
95 sed 's/VERSION/$(VERSION)/' $(DIR_CONF)/cdrom/README.txt > $(CDROM_DIR)/README
96 cp -vf $(DIR_SRC)/doc/COPYING $(CDROM_DIR)
97 cp -vf $(DIR_SRC)/doc/{ChangeLog,packages-list.txt} $(CDROM_DIR)/doc
98endif
99
b36abb20 100ifneq "$(PASS)" "$(THISAPP)"
32881254
MT
101 cp -vf $(IMAGES_DIR)/initramfs-$(VERSION).img $(CDROM_DIR)/$(PREFIX)/initrd0
102 cp -vf /boot/ipfirekernel-$(KVER) $(CDROM_DIR)/$(PREFIX)/$(SNAME)0
103
b8279138 104 cp -vf /usr/share/syslinux/vesamenu.c32 \
32881254
MT
105 $(DIR_CONF)/bootloader/splash.{jpg,lss} \
106 $(DIR_CONF)/bootloader/*.msg \
107 $(CDROM_DIR)/$(PREFIX)/
b36abb20 108endif
32881254
MT
109
110ifeq "$(PASS)" "pxe"
b8279138 111 cp -vf /usr/share/syslinux/pxelinux.0 $(CDROM_DIR)/
9afc94e7
MT
112 sed -e "s/SNAME/$(SNAME)/g" \
113 -e "s/NAME/$(NAME)/g" \
114 -e "s/VERSION/$(VERSION)/g" \
32881254
MT
115 -e "s@$(SNAME)0@$(PREFIX)/$(SNAME)0@g" \
116 -e "s@initrd0@$(PREFIX)/initrd0@g" \
5c2eaebf
MT
117 -e "s@splash@$(PREFIX)/splash@g" \
118 -e "s@vesamenu.c32@$(PREFIX)/vesamenu.c32@g" \
32881254
MT
119 $(DIR_CONF)/bootloader/installer.conf \
120 > $(CDROM_DIR)/pxelinux.cfg/$(SNAME)-pxe-$(VERSION).model
121
5c2eaebf
MT
122 sed -e "s@splash@$(PREFIX)/splash@g" \
123 -i $(CDROM_DIR)/$(PREFIX)/boot.msg
124
32881254 125 cd $(CDROM_DIR) && \
0ad657e2 126 tar cfz $(IMAGES_DIR)/$(IMAGENAME).pxe.tar.gz *
b36abb20
MT
127endif
128
129ifeq "$(PASS)" "cdrom"
b8279138 130 cp -vf /usr/share/syslinux/isolinux.bin $(CDROM_DIR)/$(PREFIX)/
9afc94e7
MT
131 sed -e "s/SNAME/$(SNAME)/g" \
132 -e "s/NAME/$(NAME)/g" \
133 -e "s/VERSION/$(VERSION)/g" \
32881254
MT
134 $(DIR_CONF)/bootloader/installer.conf \
135 > $(CDROM_DIR)/$(PREFIX)/isolinux.cfg
136 cp -vf /usr/lib/memtest86+/memtest.bin $(CDROM_DIR)/$(PREFIX)/memtest
137
138 # info file
66f71fc0
MT
139 echo "Release: $(NAME)-$(VERSION)" >> $(CDROM_DIR)/.$(SNAME)info
140 echo "Build host: $$(hostname)" >> $(CDROM_DIR)/.$(SNAME)info
141 echo "Date: $$(date)" >> $(CDROM_DIR)/.$(SNAME)info
142 echo "SHA1: $$(sha1sum $(CDROM_DIR)/$(SNAME)-$(VERSION).img | awk '{ print $$1 }')" \
143 >> $(CDROM_DIR)/.$(SNAME)info
32881254
MT
144
145 cd $(CDROM_DIR) && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
146 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
0ad657e2 147 -boot-info-table . > $(IMAGES_DIR)/$(IMAGENAME).iso
32881254
MT
148endif
149
150 @rm -rf $(CDROM_DIR)/* $(CDROM_DIR)/.$(SNAME)info