#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 6.6.45-ipfire Kernel Configuration
+# Linux/arm64 6.6.56 Kernel Configuration
#
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.3.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 14.2.0"
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130300
+CONFIG_GCC_VERSION=140200
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=24200
+CONFIG_AS_VERSION=24300
CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=24200
+CONFIG_LD_VERSION=24300
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y
CONFIG_ARM64_ERRATUM_2966298=y
CONFIG_ARM64_ERRATUM_3117295=y
+CONFIG_ARM64_ERRATUM_3194386=y
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23154=y
CONFIG_CAVIUM_ERRATUM_27456=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_ARCH_HAS_RELR=y
+CONFIG_RELR=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
# CONFIG_ENCRYPTED_KEYS is not set
# CONFIG_KEY_DH_OPERATIONS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_PROC_MEM_ALWAYS_FORCE=y
+# CONFIG_PROC_MEM_FORCE_PTRACE is not set
+# CONFIG_PROC_MEM_NO_FORCE is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
# CONFIG_SECURITY_NETWORK is not set
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 6.6.47-ipfire Kernel Configuration
+# Linux/x86 6.6.56 Kernel Configuration
#
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.3.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 14.2.0"
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=130300
+CONFIG_GCC_VERSION=140200
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=24200
+CONFIG_AS_VERSION=24300
CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=24200
+CONFIG_LD_VERSION=24300
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
# CONFIG_ENCRYPTED_KEYS is not set
# CONFIG_KEY_DH_OPERATIONS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_PROC_MEM_ALWAYS_FORCE=y
+# CONFIG_PROC_MEM_FORCE_PTRACE is not set
+# CONFIG_PROC_MEM_NO_FORCE is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_HAVE_ARCH_KFENCE=y
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_2658417
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_2966298
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_3117295
+#lib/modules/KVER/build/include/config/ARM64_ERRATUM_3194386
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_819472
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_824069
#lib/modules/KVER/build/include/config/ARM64_ERRATUM_826319
#lib/modules/KVER/build/include/config/CRYPTO_SHA512
#lib/modules/KVER/build/include/config/CRYPTO_SHA512_ARM64
#lib/modules/KVER/build/include/config/CRYPTO_SHA512_ARM64_CE
+#lib/modules/KVER/build/include/config/CRYPTO_SIG
#lib/modules/KVER/build/include/config/CRYPTO_SIG2
#lib/modules/KVER/build/include/config/CRYPTO_SKCIPHER
#lib/modules/KVER/build/include/config/CRYPTO_SKCIPHER2
#lib/modules/KVER/build/include/config/FB_DMAMEM_HELPERS
#lib/modules/KVER/build/include/config/FB_EFI
#lib/modules/KVER/build/include/config/FB_IMX
+#lib/modules/KVER/build/include/config/FB_IOMEM_FOPS
#lib/modules/KVER/build/include/config/FB_IOMEM_HELPERS
#lib/modules/KVER/build/include/config/FB_MODE_HELPERS
#lib/modules/KVER/build/include/config/FB_NOTIFY
#lib/modules/KVER/build/include/config/FSL_ERRATUM_A008585
#lib/modules/KVER/build/include/config/FSL_FMAN
#lib/modules/KVER/build/include/config/FSL_GUTS
+#lib/modules/KVER/build/include/config/FSL_IFC
#lib/modules/KVER/build/include/config/FSL_IMX8_DDR_PMU
#lib/modules/KVER/build/include/config/FSL_IMX9_DDR_PMU
#lib/modules/KVER/build/include/config/FSL_MC_BUS
#lib/modules/KVER/build/include/config/GACT_PROB
#lib/modules/KVER/build/include/config/GARP
#lib/modules/KVER/build/include/config/GCC10_NO_ARRAY_BOUNDS
-#lib/modules/KVER/build/include/config/GCC_ASM_GOTO_OUTPUT_WORKAROUND
#lib/modules/KVER/build/include/config/GCC_PLUGINS
#lib/modules/KVER/build/include/config/GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS
#lib/modules/KVER/build/include/config/GCC_VERSION
#lib/modules/KVER/build/include/config/PCI_SYSCALL
#lib/modules/KVER/build/include/config/PCNET32
#lib/modules/KVER/build/include/config/PCPU_DEV_REFCNT
+#lib/modules/KVER/build/include/config/PCP_BATCH_SCALE_MAX
#lib/modules/KVER/build/include/config/PCS_LYNX
#lib/modules/KVER/build/include/config/PCS_MTK_LYNXI
#lib/modules/KVER/build/include/config/PCS_XPCS
#lib/modules/KVER/build/include/config/PRINTK
#lib/modules/KVER/build/include/config/PROC_EVENTS
#lib/modules/KVER/build/include/config/PROC_FS
+#lib/modules/KVER/build/include/config/PROC_MEM_ALWAYS_FORCE
#lib/modules/KVER/build/include/config/PROC_PAGE_MONITOR
#lib/modules/KVER/build/include/config/PROC_PID_CPUSET
#lib/modules/KVER/build/include/config/PROC_SYSCTL
#lib/modules/KVER/build/include/config/REISERFS_PROC_INFO
#lib/modules/KVER/build/include/config/RELAY
#lib/modules/KVER/build/include/config/RELOCATABLE
+#lib/modules/KVER/build/include/config/RELR
#lib/modules/KVER/build/include/config/RENESAS_PHY
#lib/modules/KVER/build/include/config/RESET_ATTACK_MITIGATION
#lib/modules/KVER/build/include/config/RESET_BERLIN
#lib/modules/KVER/build/include/config/SCHED_STACK_END_CHECK
#lib/modules/KVER/build/include/config/SCHED_THERMAL_PRESSURE
#lib/modules/KVER/build/include/config/SCHED_TRACER
+#lib/modules/KVER/build/include/config/SCREEN_INFO
#lib/modules/KVER/build/include/config/SCSI
#lib/modules/KVER/build/include/config/SCSI_BUSLOGIC
#lib/modules/KVER/build/include/config/SCSI_COMMON
#lib/modules/KVER/build/include/config/TMPFS
#lib/modules/KVER/build/include/config/TMPFS_POSIX_ACL
#lib/modules/KVER/build/include/config/TMPFS_XATTR
+#lib/modules/KVER/build/include/config/TOOLS_SUPPORT_RELR
#lib/modules/KVER/build/include/config/TRACEPOINTS
#lib/modules/KVER/build/include/config/TRACER_MAX_TRACE
#lib/modules/KVER/build/include/config/TRACER_SNAPSHOT
#lib/modules/KVER/build/include/linux/iio/accel/kxcjk_1013.h
#lib/modules/KVER/build/include/linux/iio/adc
#lib/modules/KVER/build/include/linux/iio/adc/ad_sigma_delta.h
-#lib/modules/KVER/build/include/linux/iio/adc/adi-axi-adc.h
#lib/modules/KVER/build/include/linux/iio/adc/qcom-vadc-common.h
#lib/modules/KVER/build/include/linux/iio/adc/stm32-dfsdm-adc.h
#lib/modules/KVER/build/include/linux/iio/afe
#lib/modules/KVER/build/include/linux/iio/afe/rescale.h
+#lib/modules/KVER/build/include/linux/iio/backend.h
#lib/modules/KVER/build/include/linux/iio/buffer-dma.h
#lib/modules/KVER/build/include/linux/iio/buffer-dmaengine.h
#lib/modules/KVER/build/include/linux/iio/buffer.h
#lib/modules/KVER/build/include/linux/soc/actions/owl-sps.h
#lib/modules/KVER/build/include/linux/soc/amlogic
#lib/modules/KVER/build/include/linux/soc/amlogic/meson-canvas.h
+#lib/modules/KVER/build/include/linux/soc/andes
+#lib/modules/KVER/build/include/linux/soc/andes/irq.h
#lib/modules/KVER/build/include/linux/soc/apple
#lib/modules/KVER/build/include/linux/soc/apple/rtkit.h
#lib/modules/KVER/build/include/linux/soc/apple/sart.h
#lib/modules/KVER/build/scripts/Makefile.randstruct
#lib/modules/KVER/build/scripts/Makefile.ubsan
#lib/modules/KVER/build/scripts/Makefile.userprogs
+#lib/modules/KVER/build/scripts/Makefile.vdsoinst
#lib/modules/KVER/build/scripts/Makefile.vmlinux
#lib/modules/KVER/build/scripts/Makefile.vmlinux_o
#lib/modules/KVER/build/scripts/as-version.sh
#lib/modules/KVER/build/scripts/kconfig/images.h
#lib/modules/KVER/build/scripts/kconfig/internal.h
#lib/modules/KVER/build/scripts/kconfig/lexer.l
-#lib/modules/KVER/build/scripts/kconfig/lexer.lex.c
#lib/modules/KVER/build/scripts/kconfig/list.h
#lib/modules/KVER/build/scripts/kconfig/lkc.h
#lib/modules/KVER/build/scripts/kconfig/lkc_proto.h
#lib/modules/KVER/build/scripts/kconfig/nconf.c
#lib/modules/KVER/build/scripts/kconfig/nconf.gui.c
#lib/modules/KVER/build/scripts/kconfig/nconf.h
-#lib/modules/KVER/build/scripts/kconfig/parser.tab.c
-#lib/modules/KVER/build/scripts/kconfig/parser.tab.h
#lib/modules/KVER/build/scripts/kconfig/parser.y
#lib/modules/KVER/build/scripts/kconfig/preprocess.c
#lib/modules/KVER/build/scripts/kconfig/qconf-cfg.sh
#lib/modules/KVER/build/arch/x86/include/asm/platform_sst_audio.h
#lib/modules/KVER/build/arch/x86/include/asm/pm-trace.h
#lib/modules/KVER/build/arch/x86/include/asm/posix_types.h
+#lib/modules/KVER/build/arch/x86/include/asm/posted_intr.h
#lib/modules/KVER/build/arch/x86/include/asm/preempt.h
#lib/modules/KVER/build/arch/x86/include/asm/probe_roms.h
#lib/modules/KVER/build/arch/x86/include/asm/processor-cyrix.h
#lib/modules/KVER/build/include/config/CC_HAS_IBT
#lib/modules/KVER/build/include/config/CC_HAS_INT128
#lib/modules/KVER/build/include/config/CC_HAS_KASAN_GENERIC
+#lib/modules/KVER/build/include/config/CC_HAS_KASAN_SW_TAGS
#lib/modules/KVER/build/include/config/CC_HAS_NO_PROFILE_FN_ATTR
#lib/modules/KVER/build/include/config/CC_HAS_RETURN_THUNK
#lib/modules/KVER/build/include/config/CC_HAS_SANCOV_TRACE_PC
#lib/modules/KVER/build/include/config/CRYPTO_SHA3
#lib/modules/KVER/build/include/config/CRYPTO_SHA512
#lib/modules/KVER/build/include/config/CRYPTO_SHA512_SSSE3
+#lib/modules/KVER/build/include/config/CRYPTO_SIG
#lib/modules/KVER/build/include/config/CRYPTO_SIG2
#lib/modules/KVER/build/include/config/CRYPTO_SIMD
#lib/modules/KVER/build/include/config/CRYPTO_SKCIPHER
#lib/modules/KVER/build/include/config/FB_HYPERV
#lib/modules/KVER/build/include/config/FB_I740
#lib/modules/KVER/build/include/config/FB_IBM_GXT4500
+#lib/modules/KVER/build/include/config/FB_IOMEM_FOPS
#lib/modules/KVER/build/include/config/FB_IOMEM_HELPERS
#lib/modules/KVER/build/include/config/FB_KYRO
#lib/modules/KVER/build/include/config/FB_LE80578
#lib/modules/KVER/build/include/config/GACT_PROB
#lib/modules/KVER/build/include/config/GARP
#lib/modules/KVER/build/include/config/GCC10_NO_ARRAY_BOUNDS
-#lib/modules/KVER/build/include/config/GCC_ASM_GOTO_OUTPUT_WORKAROUND
#lib/modules/KVER/build/include/config/GCC_PLUGINS
#lib/modules/KVER/build/include/config/GCC_VERSION
#lib/modules/KVER/build/include/config/GENERIC_ALLOCATOR
#lib/modules/KVER/build/include/config/PCI_XEN
#lib/modules/KVER/build/include/config/PCNET32
#lib/modules/KVER/build/include/config/PCPU_DEV_REFCNT
+#lib/modules/KVER/build/include/config/PCP_BATCH_SCALE_MAX
#lib/modules/KVER/build/include/config/PCSPKR_PLATFORM
#lib/modules/KVER/build/include/config/PCS_LYNX
#lib/modules/KVER/build/include/config/PCS_MTK_LYNXI
#lib/modules/KVER/build/include/config/PRINTK
#lib/modules/KVER/build/include/config/PROC_EVENTS
#lib/modules/KVER/build/include/config/PROC_FS
+#lib/modules/KVER/build/include/config/PROC_MEM_ALWAYS_FORCE
#lib/modules/KVER/build/include/config/PROC_PAGE_MONITOR
#lib/modules/KVER/build/include/config/PROC_PID_ARCH_STATUS
#lib/modules/KVER/build/include/config/PROC_PID_CPUSET
#lib/modules/KVER/build/include/config/SCHED_SMT
#lib/modules/KVER/build/include/config/SCHED_STACK_END_CHECK
#lib/modules/KVER/build/include/config/SCHED_TRACER
+#lib/modules/KVER/build/include/config/SCREEN_INFO
#lib/modules/KVER/build/include/config/SCSI
#lib/modules/KVER/build/include/config/SCSI_3W_9XXX
#lib/modules/KVER/build/include/config/SCSI_3W_SAS
#lib/modules/KVER/build/include/linux/iio/accel/kxcjk_1013.h
#lib/modules/KVER/build/include/linux/iio/adc
#lib/modules/KVER/build/include/linux/iio/adc/ad_sigma_delta.h
-#lib/modules/KVER/build/include/linux/iio/adc/adi-axi-adc.h
#lib/modules/KVER/build/include/linux/iio/adc/qcom-vadc-common.h
#lib/modules/KVER/build/include/linux/iio/adc/stm32-dfsdm-adc.h
#lib/modules/KVER/build/include/linux/iio/afe
#lib/modules/KVER/build/include/linux/iio/afe/rescale.h
+#lib/modules/KVER/build/include/linux/iio/backend.h
#lib/modules/KVER/build/include/linux/iio/buffer-dma.h
#lib/modules/KVER/build/include/linux/iio/buffer-dmaengine.h
#lib/modules/KVER/build/include/linux/iio/buffer.h
#lib/modules/KVER/build/include/linux/soc/actions/owl-sps.h
#lib/modules/KVER/build/include/linux/soc/amlogic
#lib/modules/KVER/build/include/linux/soc/amlogic/meson-canvas.h
+#lib/modules/KVER/build/include/linux/soc/andes
+#lib/modules/KVER/build/include/linux/soc/andes/irq.h
#lib/modules/KVER/build/include/linux/soc/apple
#lib/modules/KVER/build/include/linux/soc/apple/rtkit.h
#lib/modules/KVER/build/include/linux/soc/apple/sart.h
#lib/modules/KVER/build/scripts/Makefile.randstruct
#lib/modules/KVER/build/scripts/Makefile.ubsan
#lib/modules/KVER/build/scripts/Makefile.userprogs
+#lib/modules/KVER/build/scripts/Makefile.vdsoinst
#lib/modules/KVER/build/scripts/Makefile.vmlinux
#lib/modules/KVER/build/scripts/Makefile.vmlinux_o
#lib/modules/KVER/build/scripts/as-version.sh
#lib/modules/KVER/build/scripts/kconfig/images.h
#lib/modules/KVER/build/scripts/kconfig/internal.h
#lib/modules/KVER/build/scripts/kconfig/lexer.l
-#lib/modules/KVER/build/scripts/kconfig/lexer.lex.c
#lib/modules/KVER/build/scripts/kconfig/list.h
#lib/modules/KVER/build/scripts/kconfig/lkc.h
#lib/modules/KVER/build/scripts/kconfig/lkc_proto.h
#lib/modules/KVER/build/scripts/kconfig/nconf.c
#lib/modules/KVER/build/scripts/kconfig/nconf.gui.c
#lib/modules/KVER/build/scripts/kconfig/nconf.h
-#lib/modules/KVER/build/scripts/kconfig/parser.tab.c
-#lib/modules/KVER/build/scripts/kconfig/parser.tab.h
#lib/modules/KVER/build/scripts/kconfig/parser.y
#lib/modules/KVER/build/scripts/kconfig/preprocess.c
#lib/modules/KVER/build/scripts/kconfig/qconf-cfg.sh
#lib/modules/KVER/kernel/drivers/edac/pnd2_edac.ko.xz
#lib/modules/KVER/kernel/drivers/edac/sb_edac.ko.xz
#lib/modules/KVER/kernel/drivers/edac/skx_edac.ko.xz
+#lib/modules/KVER/kernel/drivers/edac/skx_edac_common.ko.xz
#lib/modules/KVER/kernel/drivers/edac/x38_edac.ko.xz
#lib/modules/KVER/kernel/drivers/extcon
#lib/modules/KVER/kernel/drivers/extcon/extcon-usbc-tusb320.ko.xz
--- /dev/null
+../../../../common/aarch64/linux
\ No newline at end of file
--- /dev/null
+../../../../common/riscv64/linux
\ No newline at end of file
--- /dev/null
+../../../../common/x86_64/linux
\ No newline at end of file
core=190
+exit_with_error() {
+ # Set last succesfull installed core.
+ echo $(($core-1)) > /opt/pakfire/db/core/mine
+ # force fsck at next boot, this may fix free space on xfs
+ touch /forcefsck
+ # don't start pakfire again at error
+ killall -KILL pak_update
+ /usr/bin/logger -p syslog.emerg -t ipfire \
+ "core-update-${core}: $1"
+ exit $2
+}
+
# Remove old core updates from pakfire cache to save space...
for (( i=1; i<=$core; i++ )); do
rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
# Stop services
/etc/init.d/suricata stop
+KVER="xxxKVERxxx"
+
+# Backup uEnv.txt if exist
+if [ -e /boot/uEnv.txt ]; then
+ cp -vf /boot/uEnv.txt /boot/uEnv.txt.org
+fi
+
+# Do some sanity checks prior to the kernel update
+case $(uname -r) in
+ *-ipfire*)
+ # Ok.
+ ;;
+ *)
+ exit_with_error "ERROR cannot update. No IPFire Kernel." 1
+ ;;
+esac
+
+# Check diskspace on root and size of boot
+ROOTSPACE=$( df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1 )
+if [ $ROOTSPACE -lt 200000 ]; then
+ exit_with_error "ERROR cannot update because not enough free space on root." 2
+fi
+BOOTSIZE=$( df /boot -Pk | sed "s| * | |g" | cut -d" " -f2 | tail -n 1 )
+if [ $BOOTSIZE -lt 100000 ]; then
+ exit_with_error "ERROR cannot update. BOOT partition is to small." 3
+fi
+
+# Remove the old kernel
+rm -rvf \
+ /boot/System.map-* \
+ /boot/config-* \
+ /boot/ipfirerd-* \
+ /boot/initramfs-* \
+ /boot/vmlinuz-* \
+ /boot/uImage-* \
+ /boot/zImage-* \
+ /boot/uInit-* \
+ /boot/dtb-* \
+ /lib/modules
+
+
# Remove the metadata for ncat (if installed) as this is now part of the core system
rm -f "/opt/pakfire/db/installed/meta-ncat"
rm -f "/opt/pakfire/db/meta/meta-ncat"
# Extract files
extract_files
-# Remove files
-
# update linker config
ldconfig
/etc/init.d/suricata start
/etc/init.d/unbound restart
+
+# Regenerate Suricata rule files
+perl -e "require '/var/ipfire/ids-functions.pl'; &IDS::write_used_rulefiles_file(&IDS::get_enabled_providers());"
+/etc/init.d/suricata reload
+
+# Build initial ramdisks
+dracut --regenerate-all --force
+KVER="xxxKVERxxx"
+case "$(uname -m)" in
+ aarch64)
+ mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}.img /boot/uInit-${KVER}
+ # dont remove initramfs because grub need this to boot.
+ ;;
+esac
+
+# Upadate Kernel version in uEnv.txt
+if [ -e /boot/uEnv.txt ]; then
+ sed -i -e "s/KVER=.*/KVER=${KVER}/g" /boot/uEnv.txt
+fi
+
+# Call user update script (needed for some ARM boards)
+if [ -e /boot/pakfire-kernel-update ]; then
+ /boot/pakfire-kernel-update ${KVER}
+fi
+
# This update needs a reboot...
touch /var/run/need_reboot
include Config
-VER = 6.6.47
+VER = 6.6.56
THISAPP = linux-$(VER)
DL_FILE = linux-$(VER).tar.xz
$(DL_FILE) = $(URL_IPFIRE)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = ece3be3257b205c3d56c71525b95798347ab40b00d9ca54f0812a5407725512613075e85b3a6a0f3bfc4a59c714438efc4c08ed171a3f92e62cc3e4046f87a1f
+$(DL_FILE)_BLAKE2 = c33477493337b759023dcff084360edcb3b0b53cc9543bd64537a9fdc736cc4d6c17d0b357e7a60141021bd9d1f46caaa997d8be8e75261fad657f4d9f058e12
install : $(TARGET)