Add zerofree to cleanup flash and xenimages before compressing.

This commit is contained in:
Arne Fitzenreiter
2010-01-14 21:26:09 +01:00
parent 811a3438b1
commit dfc4bc56a7
6 changed files with 97 additions and 0 deletions

View File

@@ -0,0 +1 @@
#usr/sbin/zerofree

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

79
lfs/zerofree Normal file
View File

@@ -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 <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# 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)

View File

@@ -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