From: Michael Tremer Date: Fri, 24 May 2019 05:54:16 +0000 (+0100) Subject: Merge remote-tracking branch 'ms/faster-build' into next X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=9f0295a5129bed325ba37aaa1e39303fef0a6c9f;hp=-c Merge remote-tracking branch 'ms/faster-build' into next --- 9f0295a5129bed325ba37aaa1e39303fef0a6c9f diff --combined lfs/linux index 3eab07107f,86755f46fa..c7a475553c --- a/lfs/linux +++ b/lfs/linux @@@ -24,8 -24,8 +24,8 @@@ include Config -VER = 4.14.113 -ARM_PATCHES = 4.14.113-ipfire0 +VER = 4.14.121 +ARM_PATCHES = 4.14.121-ipfire0 THISAPP = linux-$(VER) DL_FILE = linux-$(VER).tar.xz @@@ -34,7 -34,7 +34,7 @@@ DIR_APP = $(DIR_SRC)/$(THISAPP CFLAGS = CXXFLAGS = -PAK_VER = 82 +PAK_VER = 83 DEPS = "" HEADERS_ARCH = $(BUILD_PLATFORM) @@@ -82,8 -82,8 +82,8 @@@ objects =$(DL_FILE) $(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE) arm-multi-patches-$(ARM_PATCHES).patch.xz = $(URL_IPFIRE)/arm-multi-patches-$(ARM_PATCHES).patch.xz -$(DL_FILE)_MD5 = fd34a25839945f902f0c6d694d42ea7f -arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = 51eab5175bf8f0ad986006c74e60b472 +$(DL_FILE)_MD5 = 619cfc35e376eaa1f05d835624bbb432 +arm-multi-patches-$(ARM_PATCHES).patch.xz_MD5 = ac64bdb78fbecba032b92df61c928d3f install : $(TARGET) @@@ -199,6 -199,46 +199,46 @@@ ifeq "$(BUILD_PLATFORM)" "arm done endif + # Recreate source and build links + rm -rf /lib/modules/$(VER)-$(VERSUFIX)/{build,source} + mkdir -p /lib/modules/$(VER)-$(VERSUFIX)/build + ln -sf build /lib/modules/$(VER)-$(VERSUFIX)/source + + # Create dirs for extra modules + mkdir -p /lib/modules/$(VER)-$(VERSUFIX)/extra + + cd $(DIR_APP) && cp --parents $$(find -type f -name "Makefile*" -o -name "Kconfig*") \ + /lib/modules/$(VER)-$(VERSUFIX)/build + cd $(DIR_APP) && cp Module.symvers System.map /lib/modules/$(VER)-$(VERSUFIX)/build + rm -rf /lib/modules/$(VER)-$(VERSUFIX)/build/{Documentation,scripts,include} + + cd $(DIR_APP) && cp .config /lib/modules/$(VER)-$(VERSUFIX)/build + cd $(DIR_APP) && cp -a scripts /lib/modules/$(VER)-$(VERSUFIX)/build + find /lib/modules/$(VER)-$(VERSUFIX)/build/scripts -name "*.o" -exec rm -vf {} \; + + cd $(DIR_APP) && cp -a --parents arch/$(HEADERS_ARCH)/include /lib/modules/$(VER)-$(VERSUFIX)/build + cd $(DIR_APP) && cp -a include /lib/modules/$(VER)-$(VERSUFIX)/build/include + + # Install objtool + cd $(DIR_APP) && cp -a tools/objtool/objtool \ + /lib/modules/$(VER)-$(VERSUFIX)/build/tools/objtool/ || : + cd $(DIR_APP) && cp -a --parents tools/build/{Build,Build.include,fixdep.c} \ + tools/scripts/utilities.mak /lib/modules/$(VER)-$(VERSUFIX)/build + + # Make sure we can build external modules + touch -r /lib/modules/$(VER)-$(VERSUFIX)/build/Makefile \ + /lib/modules/$(VER)-$(VERSUFIX)/build/include/generated/uapi/linux/version.h + touch -r /lib/modules/$(VER)-$(VERSUFIX)/build/.config \ + /lib/modules/$(VER)-$(VERSUFIX)/build/autoconf.h + cp /lib/modules/$(VER)-$(VERSUFIX)/build/.config \ + /lib/modules/$(VER)-$(VERSUFIX)/build/include/config/auto.conf + + # Fix permissions + find /lib/modules/$(VER)-$(VERSUFIX) -name "modules.order" \ + -exec chmod 644 {} \; + + find /lib/modules/$(VER)-$(VERSUFIX) -name ".*.cmd" -exec rm -f {} \; + ifeq "$(LASTKERNEL)" "1" # Only do this once cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/ @@@ -225,5 -265,5 +265,5 @@@ endi -rm -f /usr/src/log/*-kmod-$(VER)-$(VERSUFIX) -rm -f /usr/src/log/linux-initrd-$(VER)-$(VERSUFIX) - @rm -rf $(DIR_SRC)/patch-o-matic* $(DIR_SRC)/iptables* $(DIR_SRC)/squashfs* $(DIR_SRC)/netfilter-layer7-* + @rm -rf $(DIR_APP) $(DIR_SRC)/linux @$(POSTBUILD) diff --combined make.sh index 15dcd10909,7eaa08490a..98e1276fc1 --- a/make.sh +++ b/make.sh @@@ -24,10 -24,9 +24,10 @@@ NAME="IPFire" # Software name SNAME="ipfire" # Short name +# If you update the version don't forget to update backupiso and add it to core update VERSION="2.23" # Version number -CORE="132" # Core Level (Filename) -PAKFIRE_CORE="131" # Core Level (PAKFIRE) +CORE="133" # Core Level (Filename) +PAKFIRE_CORE="132" # Core Level (PAKFIRE) GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir @@@ -282,6 -281,7 +282,7 @@@ stdumount() umount $BASEDIR/build/usr/src/lfs 2>/dev/null; umount $BASEDIR/build/usr/src/log 2>/dev/null; umount $BASEDIR/build/usr/src/src 2>/dev/null; + umount $BASEDIR/build/usr/src 2>/dev/null; } now() { @@@ -469,6 -469,12 +470,12 @@@ prepareenv() mkdir -p $BASEDIR/build/{etc,usr/src} 2>/dev/null mkdir -p $BASEDIR/build/{dev/{shm,pts},proc,sys} mkdir -p $BASEDIR/{cache,ccache} 2>/dev/null + + if [ "${ENABLE_RAMDISK}" = "on" ]; then + mkdir -p $BASEDIR/build/usr/src + mount -t tmpfs tmpfs -o size=4G,mode=1777 $BASEDIR/build/usr/src + fi + mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache} mknod -m 600 $BASEDIR/build/dev/console c 5 1 2>/dev/null @@@ -727,7 -733,7 +734,7 @@@ fake_environ() # Fake kernel version, because some of the packages do not compile # with kernel 3.0 and later. - env="${env} UTS_RELEASE=${KVER}" + env="${env} UTS_RELEASE=${KVER}-ipfire" # Fake machine version. env="${env} UTS_MACHINE=${BUILD_ARCH}" @@@ -892,6 -898,9 +899,9 @@@ update_contributors() return 0 } + # Default settings + ENABLE_RAMDISK="auto" + # Load configuration file if [ -f .config ]; then . .config @@@ -913,6 -922,14 +923,14 @@@ els configure_build "default" fi + # Automatically enable/disable ramdisk usage + if [ "${ENABLE_RAMDISK}" = "auto" ]; then + # Enable only when the host system has 4GB of RAM or more + if [ ${SYSTEM_MEMORY} -ge 3900 ]; then + ENABLE_RAMDISK="on" + fi + fi + buildtoolchain() { local error=false case "${BUILD_ARCH}:${HOST_ARCH}" in @@@ -1596,7 -1613,6 +1614,7 @@@ buildipfire() lfsmake2 zabbix_agentd lfsmake2 flashrom lfsmake2 firmware-update + lfsmake2 tshark } buildinstaller() {