From dfc4bc56a7cedddd74873511d3423a008a52abaf Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Thu, 14 Jan 2010 21:26:09 +0100 Subject: [PATCH] Add zerofree to cleanup flash and xenimages before compressing. --- config/rootfiles/common/zerofree | 1 + doc/packages-list.txt | 1 + lfs/flash-images | 10 ++++ lfs/xen-image | 5 ++ lfs/zerofree | 79 ++++++++++++++++++++++++++++++++ make.sh | 1 + 6 files changed, 97 insertions(+) create mode 100644 config/rootfiles/common/zerofree create mode 100644 lfs/zerofree diff --git a/config/rootfiles/common/zerofree b/config/rootfiles/common/zerofree new file mode 100644 index 0000000000..f9b553d8c6 --- /dev/null +++ b/config/rootfiles/common/zerofree @@ -0,0 +1 @@ +#usr/sbin/zerofree diff --git a/doc/packages-list.txt b/doc/packages-list.txt index 5780ff6ca6..91c833b038 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -361,4 +361,5 @@ * wpa_supplicant-0.6.9 * xfsprogs-2.9.4 * xvidcore-1.2.1 +* zerofree-1.0.1 * zlib-1.2.3 diff --git a/lfs/flash-images b/lfs/flash-images index db215f2077..2906140940 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -127,6 +127,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) umount $(MNThdd)/var umount $(MNThdd) + # zerofree the ext3 images to get better compression + zerofree $(IMGboot) + zerofree $(IMGroot) + zerofree $(IMGvar) + # Cat to an image cat $(IMGpart) $(IMGboot) $(IMGroot) $(IMGvar) > $(IMGinst) # Write Partition table @@ -159,6 +164,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) umount $(MNThdd)/boot umount $(MNThdd) + # zerofree the ext3 images to get better compression + zerofree $(IMGboot) + zerofree $(IMGroot) + zerofree $(IMGvar) + # Cat to an image cat $(IMGpart) $(IMGboot) $(IMGroot) $(IMGvar) > $(IMGinsts) rm -vf $(IMGpart) $(IMGboot) $(IMGroot) $(IMGvar) diff --git a/lfs/xen-image b/lfs/xen-image index 63c7b3e46b..ffa1681cc6 100644 --- a/lfs/xen-image +++ b/lfs/xen-image @@ -188,6 +188,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) umount $(MNThdd)/boot umount $(MNThdd) + # Zerofree ext3 images to get better compression + zerofree $(IMGboot) + zerofree $(IMGroot) + zerofree $(IMGvar) + # Compress Image cd /install/images/ && tar -cvjf $(IMGinst) $(SNAME) diff --git a/lfs/zerofree b/lfs/zerofree new file mode 100644 index 0000000000..7e3dda5511 --- /dev/null +++ b/lfs/zerofree @@ -0,0 +1,79 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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 3 of the License, or # +# (at your option) any later version. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.0.1 + +THISAPP = zerofree-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = a8c772fdd134448f25ab4e7e12004595 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && install -m 755 zerofree /usr/sbin/ + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 047708560e..5130077ab8 100755 --- a/make.sh +++ b/make.sh @@ -642,6 +642,7 @@ buildipfire() { ipfiremake asterisk ipfiremake lcr ipfiremake usb_modeswitch + ipfiremake zerofree echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild -- 2.39.2