Files
bpfire/lfs/initrd
Michael Tremer bb8895e259 Add locales to installed.
Because of the locale switch, no locales have been included
in the installer initrd and no characters other than the
ASCII characters could be shown.
2014-04-22 21:09:03 +02:00

108 lines
4.2 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
# #
# 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 = ipfire
THISAPP = initrd
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = i586
###############################################################################
# Top-level Rules
###############################################################################
install : $(TARGET)
check :
download :
md5 :
###############################################################################
# Installation Details
###############################################################################
$(TARGET) :
@$(PREBUILD)
rm -f /install/images/initrd
# Finish up initrd directory
-mkdir -p /install/initrd/{dev,etc,mnt,root,lib/modules/$(KVER)-ipfire/kernel/drivers,cdrom,dev,harddisk,proc,tmp,usr/share/terminfo/l,var/run,sys}
cd /install/initrd && lzma -d -c /boot/ipfirerd-$(KVER).img | cpio -i
# Copy Files packages for installer
find $(DIR_SRC)/config/rootfiles/installer/* -maxdepth 1 | xargs cat | grep -v "^#" > /tmp/ROOTFILES
# Patch Kernel Version to rootfiles
sed -e "s/KVER/$(KVER)/g" -i /tmp/ROOTFILES
-cd / && cpio -d -p /install/initrd < /tmp/ROOTFILES
# Copy hid and network modules
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/hid \
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/net \
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
cd /install/initrd/etc && rm -f fstab
cp -aRf $(DIR_SRC)/config/install/* /install/initrd/etc/
rm -rf /install/initrd/usr/share/man
chmod 755 /install/initrd/etc/halt /install/initrd/etc/rc_installer
cd /install/initrd/ && patch -Np0 < $(DIR_SRC)/src/patches/dracut-init_start_ipfireinstaller.patch
# Hide udev messages
sed -i -e "s|err|none|g" /install/initrd/etc/udev/udev.conf
# make new dependencies
depmod -a -F /boot/System.map-$(KVER)-ipfire $(KVER)-ipfire
-mkdir -p /install/{images,mnt}
rm -rf /install/mnt/*
#Build Module deps for installer.
depmod -a -b /install/initrd/ -F /boot/System.map-$(KVER)-ipfire $(KVER)-ipfire
#Name service from dhcpcd
cp -f /etc/nsswitch.conf /install/initrd/etc/
cp -f $(DIR_SRC)/config/initrd/dhcpc/* /install/initrd/var/ipfire/dhcpc/dhcpcd-hooks/
# Install needed locales.
-mkdir -pv /install/initrd/usr/lib/locale
for lang in $(DIR_SRC)/langs/*; do \
for path in /usr/lib/locale/$${lang##*/}*; do \
[ -d "$${path}" ] && cp -lrvf "$${path}" /install/initrd/usr/lib/locale/; \
done; \
done
cd /install/initrd && find . | cpio -o -H newc | lzma > /install/images/initrd
cd /install/initrd && find ./ -ls > $(DIR_INFO)/_build.initrd.log
@$(POSTBUILD)