mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-26 19:00:34 +02:00
installer: Create dracut module
There is now a new installer module for dracut which will take the installer and put it into the ramdisk.
This commit is contained in:
@@ -95,7 +95,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
dd if=/dev/zero bs=1k count=2 > /install/cdrom/boot/isolinux/boot.catalog
|
||||
ifneq "$(MACHINE_TYPE)" "arm"
|
||||
cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz
|
||||
cp /install/images/initrd /install/cdrom/boot/isolinux/instroot
|
||||
dracut --force -a "installer" --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
|
||||
cp $(DIR_SRC)/config/syslinux/boot.png /install/cdrom/boot/isolinux/boot.png
|
||||
cp /usr/lib/memtest86+/memtest.bin /install/cdrom/boot/isolinux/memtest
|
||||
cp /usr/share/ipfire-netboot/ipxe.lkrn /install/cdrom/boot/isolinux/netboot
|
||||
|
||||
121
lfs/initrd
121
lfs/initrd
@@ -1,121 +0,0 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# 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/initramfs-$(KVER)-ipfire.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 (and deps)
|
||||
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/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pcmcia \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ssb \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/uio \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ptp \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/dca \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pps \
|
||||
/install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
|
||||
# Remove wireless modules
|
||||
rm -rf /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/net/wireless
|
||||
|
||||
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)
|
||||
@@ -60,11 +60,14 @@ $(TARGET) :
|
||||
cd $(DIR_APP)/install && make CFLAGS="-Os -std=gnu99 -fomit-frame-pointer -Wall \
|
||||
-DNAME='\"$(NAME)\"' -DSNAME='\"$(SNAME)\"' -DVERSION='\"$(VERSION)\"' \
|
||||
-DSLOGAN='\"$(SLOGAN)\"' -DCONFIG_ROOT='\"$(CONFIG_ROOT)\"' -DKERNEL_VERSION='\"$(KVER)\"'"
|
||||
cd $(DIR_APP)/install && install -v -m 0755 install probenic.sh \
|
||||
downloadsource.sh mountdest.sh /install/initrd/bin
|
||||
cd $(DIR_APP)/install && install -v -m 0755 installer probenic.sh \
|
||||
downloadsource.sh mountdest.sh /usr/bin
|
||||
rm -rvf /usr/lib/dracut/modules.d/99installer
|
||||
cd $(DIR_APP)/install && cp -rvf dracut-module /usr/lib/dracut/modules.d/99installer
|
||||
|
||||
#Patch ISO Name for download ...
|
||||
sed -i -e "s|ipfire.iso|download.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso|g" \
|
||||
/install/initrd/bin/downloadsource.sh
|
||||
/usr/bin/downloadsource.sh
|
||||
#Patch version for mediacheck ...
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
Reference in New Issue
Block a user