From 7c93680f3bf6b55c9e27af99e026672269ca056f Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Wed, 3 May 2023 11:43:37 -0400 Subject: [PATCH] Staging https://github.com/osresearch/heads/pull/1381 Moved boards to 5.10.5, staging for 5.10.178 (LTS) kernel configs to not cause regression on crypto backend, both with cryptsetup and current gpg toolstack modules/linux added 5.10.178 but nothing migrated at this stage. modules/linux includes Android tethering modules to be packed when needed per board configs (maximized only) Kernel configs for x230 good to go. - Removed unneedead crypto support for ivy and sandy bridge (no AVX2, and AVX support needed only for AES (ctypestup is XTS-AES on most deployments) - Added required crypto hash HMAC Note: those two commands are really useful to analyse in-kernel sizes. Summary, to dig down in directory reported as being biggest: user@heads-tests:~/heads/build/x86/linux-5.10.5/linux-x230-maximized$ for f in */built-in.a; do size -t $f | tail -1 | sed "s|(TOTALS)|$f|"; done | sort -nr Detailed view of biggest built-in components and objects linked: user@heads-tests:~/heads/build/x86/linux-5.10.5/linux-x230-maximized$ size -t $(find ./ -name built-in.a) | tail -n +2 | sort -n -r -k 4|less Then follow those amazing guides to axe/hammer kernel size: Axing: https://lwn.net/Articles/746780/ General: https://elinux.org/Kernel_Size_Tuning_Guide And analyse needs of each module/kernel config option: https://www.kernelconfig.io u-root module containing bases for using exp/tcz and wget (with only root ca module included) qemu kernel config includes changes needed to support CGROUPS and busybox upgraded and config changed to include adduser/addgroup/delgoup/deluser per determist/systems requirements, but still failing Makefile: adds packing of u-root under initrd if requested initrd/bin/tinycorePoC: requires manual activation of libraries under u-root module kexec patch still carries old multiboot patch. Not sure wasa good idea to remove since user could decide to use old default multiboot1 (default is now multiboot2 under kexec 2.0.26 under master) CircleCI changes revisioning to 4.19 (textual, not changing any behavior) --- Makefile | 2 + .../p8z77-m_pro-tpm1-maximized.config | 2 +- .../qemu-coreboot-fbwhiptail-tpm2-hotp.config | 2 +- .../qemu-coreboot-fbwhiptail-tpm2.config | 2 +- .../qemu-coreboot-whiptail-tpm1.config | 11 +- .../qemu-coreboot-whiptail-tpm2-hotp.config | 2 +- .../qemu-coreboot-whiptail-tpm2.config | 2 +- config/busybox.config | 114 ++++++---- config/linux-qemu.config | 213 ++++++++---------- config/linux-x230-flash.config | 6 +- config/linux-x230-legacy.config | 36 +-- config/linux-x230-maximized.config | 78 +++++-- initrd/bin/kexec-boot | 1 + initrd/bin/kexec-iso-init | 1 + initrd/bin/network-init-recovery | 55 +++-- initrd/bin/tinycorePoC | 4 + initrd/init | 3 +- modules/busybox | 4 +- modules/linux | 14 +- modules/u-root | 70 ++++-- patches/linux-5.10.178/0001-fake-acpi.patch | 32 +++ patches/linux-5.10.178/0002-nmi-squelch.patch | 20 ++ .../linux-5.10.178/0003-fake-trampoline.patch | 28 +++ .../linux-5.10.178/0010-winterfell-ahci.patch | 18 ++ 24 files changed, 469 insertions(+), 251 deletions(-) create mode 100755 initrd/bin/tinycorePoC create mode 100644 patches/linux-5.10.178/0001-fake-acpi.patch create mode 100644 patches/linux-5.10.178/0002-nmi-squelch.patch create mode 100644 patches/linux-5.10.178/0003-fake-trampoline.patch create mode 100644 patches/linux-5.10.178/0010-winterfell-ahci.patch diff --git a/Makefile b/Makefile index 41a800e60..4254d156d 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,7 @@ include $(CONFIG) # Unless otherwise specified, we are building for heads CONFIG_HEADS ?= y +CONFIG_UROOT ?= n # Unless otherwise specified, we are building bash to have non-interactive shell for scripts (arrays and bashisms) CONFIG_BASH ?= y @@ -529,6 +530,7 @@ initrd-y += $(pwd)/blobs/dev.cpio initrd-y += $(build)/$(initrd_dir)/modules.cpio initrd-y += $(build)/$(initrd_dir)/tools.cpio initrd-$(CONFIG_HEADS) += $(build)/$(initrd_dir)/heads.cpio +initrd-$(CONFIG_UROOT) += $(build)/$(initrd_dir)/u-root.cpio #$(build)/$(initrd_dir)/.build: $(build)/$(initrd_dir)/initrd.cpio.xz diff --git a/boards/p8z77-m_pro-tpm1-maximized/p8z77-m_pro-tpm1-maximized.config b/boards/p8z77-m_pro-tpm1-maximized/p8z77-m_pro-tpm1-maximized.config index a22b2deeb..0dde6a475 100644 --- a/boards/p8z77-m_pro-tpm1-maximized/p8z77-m_pro-tpm1-maximized.config +++ b/boards/p8z77-m_pro-tpm1-maximized/p8z77-m_pro-tpm1-maximized.config @@ -39,7 +39,7 @@ CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config CONFIG_COREBOOT_CONFIG=config/coreboot-p8z77-m_pro-tpm1.config export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=4.17 +export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 CONFIG_CRYPTSETUP2=y diff --git a/boards/qemu-coreboot-fbwhiptail-tpm2-hotp/qemu-coreboot-fbwhiptail-tpm2-hotp.config b/boards/qemu-coreboot-fbwhiptail-tpm2-hotp/qemu-coreboot-fbwhiptail-tpm2-hotp.config index 5242e7a0d..5a5aa8a43 100644 --- a/boards/qemu-coreboot-fbwhiptail-tpm2-hotp/qemu-coreboot-fbwhiptail-tpm2-hotp.config +++ b/boards/qemu-coreboot-fbwhiptail-tpm2-hotp/qemu-coreboot-fbwhiptail-tpm2-hotp.config @@ -4,7 +4,7 @@ # # TPM can be used with a qemu software TPM (TIS, 2.0). export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 #Enable DEBUG output diff --git a/boards/qemu-coreboot-fbwhiptail-tpm2/qemu-coreboot-fbwhiptail-tpm2.config b/boards/qemu-coreboot-fbwhiptail-tpm2/qemu-coreboot-fbwhiptail-tpm2.config index f21340b1e..d5921c7f5 100644 --- a/boards/qemu-coreboot-fbwhiptail-tpm2/qemu-coreboot-fbwhiptail-tpm2.config +++ b/boards/qemu-coreboot-fbwhiptail-tpm2/qemu-coreboot-fbwhiptail-tpm2.config @@ -3,7 +3,7 @@ # # TPM can be used with a qemu software TPM (TIS, 2.0). export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 #Enable DEBUG output diff --git a/boards/qemu-coreboot-whiptail-tpm1/qemu-coreboot-whiptail-tpm1.config b/boards/qemu-coreboot-whiptail-tpm1/qemu-coreboot-whiptail-tpm1.config index 37dbdb6c6..278fd1af0 100644 --- a/boards/qemu-coreboot-whiptail-tpm1/qemu-coreboot-whiptail-tpm1.config +++ b/boards/qemu-coreboot-whiptail-tpm1/qemu-coreboot-whiptail-tpm1.config @@ -6,6 +6,7 @@ export CONFIG_COREBOOT=y export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 + #Enable DEBUG output export CONFIG_DEBUG_OUTPUT=y export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y @@ -13,9 +14,11 @@ export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y CONFIG_COREBOOT_CONFIG=config/coreboot-qemu-tpm1.config CONFIG_LINUX_CONFIG=config/linux-qemu.config -ifeq "$(CONFIG_UROOT)" "y" -CONFIG_BUSYBOX=n -else +#Testing +CONFIG_UROOT=y +#CONFIG_TINYCORE_ROOTFS=y +export CONFIG_SYNC_TIME_ON_NETWORK_INIT=n + CONFIG_KEXEC=y CONFIG_QRENCODE=y CONFIG_TPMTOTP=y @@ -41,8 +44,6 @@ CONFIG_MSRTOOLS=y CONFIG_NEWT=y CONFIG_SLANG=y -endif - export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y CONFIG_LINUX_USB=y CONFIG_LINUX_E1000=y diff --git a/boards/qemu-coreboot-whiptail-tpm2-hotp/qemu-coreboot-whiptail-tpm2-hotp.config b/boards/qemu-coreboot-whiptail-tpm2-hotp/qemu-coreboot-whiptail-tpm2-hotp.config index 1cfe6a04b..2b595eaae 100644 --- a/boards/qemu-coreboot-whiptail-tpm2-hotp/qemu-coreboot-whiptail-tpm2-hotp.config +++ b/boards/qemu-coreboot-whiptail-tpm2-hotp/qemu-coreboot-whiptail-tpm2-hotp.config @@ -4,7 +4,7 @@ # # TPM can be used with a qemu software TPM (TIS, 2.0). export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 #Enable DEBUG output diff --git a/boards/qemu-coreboot-whiptail-tpm2/qemu-coreboot-whiptail-tpm2.config b/boards/qemu-coreboot-whiptail-tpm2/qemu-coreboot-whiptail-tpm2.config index 273d500ae..142cfb5ad 100644 --- a/boards/qemu-coreboot-whiptail-tpm2/qemu-coreboot-whiptail-tpm2.config +++ b/boards/qemu-coreboot-whiptail-tpm2/qemu-coreboot-whiptail-tpm2.config @@ -3,7 +3,7 @@ # # TPM can be used with a qemu software TPM (TIS, 2.0). export CONFIG_COREBOOT=y -export CONFIG_COREBOOT_VERSION=4.13 +export CONFIG_COREBOOT_VERSION=4.19 export CONFIG_LINUX_VERSION=5.10.5 #Enable DEBUG output diff --git a/config/busybox.config b/config/busybox.config index 23c8fd3fd..28ca8684d 100644 --- a/config/busybox.config +++ b/config/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.33.2 -# Fri Jan 7 12:33:00 2022 +# Busybox version: 1.36.0 +# Mon May 1 16:17:04 2023 # CONFIG_HAVE_DOT_CONFIG=y @@ -93,10 +93,16 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SMALL=1 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y CONFIG_SHA3_SMALL=1 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y CONFIG_FEATURE_EDITING=y CONFIG_FEATURE_EDITING_MAX_LEN=1024 # CONFIG_FEATURE_EDITING_VI is not set @@ -120,14 +126,9 @@ CONFIG_LAST_SUPPORTED_WCHAR=767 # CONFIG_UNICODE_BIDI_SUPPORT is not set # CONFIG_UNICODE_NEUTRAL_TABLE is not set # CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_FEATURE_NON_POSIX_CP=y -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set -CONFIG_FEATURE_USE_SENDFILE=y -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_FEATURE_SKIP_ROOTFS=y -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -CONFIG_FEATURE_HWIB=y +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y # # Applets @@ -162,6 +163,8 @@ CONFIG_FEATURE_BZIP2_DECOMPRESS=y CONFIG_CPIO=y CONFIG_FEATURE_CPIO_O=y CONFIG_FEATURE_CPIO_P=y +CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y +CONFIG_FEATURE_CPIO_RENUMBER_INODES=y # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set CONFIG_GZIP=y @@ -197,6 +200,22 @@ CONFIG_FEATURE_UNZIP_CDF=y # # Coreutils # +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +# CONFIG_FEATURE_TIMEZONE is not set + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_BASENAME=y CONFIG_CAT=y CONFIG_FEATURE_CATN=y @@ -207,11 +226,13 @@ CONFIG_CHMOD=y # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set CONFIG_CHROOT=y # CONFIG_CKSUM is not set +CONFIG_CRC32=y # CONFIG_COMM is not set CONFIG_CP=y CONFIG_FEATURE_CP_LONG_OPTIONS=y CONFIG_FEATURE_CP_REFLINK=y CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y CONFIG_DATE=y CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set @@ -223,6 +244,7 @@ CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y CONFIG_FEATURE_DF_FANCY=y +CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_DIRNAME=y # CONFIG_DOS2UNIX is not set # CONFIG_UNIX2DOS is not set @@ -316,13 +338,13 @@ CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y # CONFIG_TIMEOUT is not set CONFIG_TOUCH=y -CONFIG_FEATURE_TOUCH_NODEREF=y CONFIG_FEATURE_TOUCH_SUSV3=y CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y # CONFIG_TRUNCATE is not set +CONFIG_TSORT=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux" @@ -332,7 +354,7 @@ CONFIG_UNIQ=y CONFIG_USLEEP=y # CONFIG_UUDECODE is not set CONFIG_BASE32=y -CONFIG_BASE64=n +# CONFIG_BASE64 is not set # CONFIG_UUENCODE is not set CONFIG_WC=y CONFIG_FEATURE_WC_LARGE=y @@ -342,21 +364,6 @@ CONFIG_FEATURE_WC_LARGE=y # CONFIG_WHOAMI is not set # CONFIG_YES is not set -# -# Common options -# -CONFIG_FEATURE_VERBOSE=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - # # Console Utilities # @@ -420,6 +427,7 @@ CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=4096 # CONFIG_FEATURE_VI_8BIT is not set CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y CONFIG_FEATURE_VI_YANKMARK=y CONFIG_FEATURE_VI_SEARCH=y # CONFIG_FEATURE_VI_REGEX_SEARCH is not set @@ -433,6 +441,7 @@ CONFIG_FEATURE_VI_ASK_TERMINAL=y CONFIG_FEATURE_VI_UNDO=y CONFIG_FEATURE_VI_UNDO_QUEUE=y CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y CONFIG_FEATURE_ALLOW_EXEC=y # @@ -441,7 +450,11 @@ CONFIG_FEATURE_ALLOW_EXEC=y CONFIG_FIND=y CONFIG_FEATURE_FIND_PRINT0=y CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_ATIME=y +CONFIG_FEATURE_FIND_CTIME=y CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_AMIN=y +CONFIG_FEATURE_FIND_CMIN=y CONFIG_FEATURE_FIND_PERM=y CONFIG_FEATURE_FIND_TYPE=y CONFIG_FEATURE_FIND_EXECUTABLE=y @@ -449,6 +462,7 @@ CONFIG_FEATURE_FIND_XDEV=y CONFIG_FEATURE_FIND_MAXDEPTH=y CONFIG_FEATURE_FIND_NEWER=y CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_SAMEFILE=y CONFIG_FEATURE_FIND_EXEC=y CONFIG_FEATURE_FIND_EXEC_PLUS=y CONFIG_FEATURE_FIND_USER=y @@ -512,20 +526,20 @@ CONFIG_INIT_TERMINAL_TYPE="" # CONFIG_USE_BB_CRYPT_SHA is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set -# CONFIG_ADDUSER is not set +CONFIG_ADDGROUP=y +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +CONFIG_ADDUSER=y # CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_LAST_ID=0 -CONFIG_FIRST_SYSTEM_ID=0 -CONFIG_LAST_SYSTEM_ID=0 +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 # CONFIG_CHPASSWD is not set CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" # CONFIG_CRYPTPW is not set # CONFIG_MKPASSWD is not set -# CONFIG_DELUSER is not set -# CONFIG_DELGROUP is not set -# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y # CONFIG_GETTY is not set # CONFIG_LOGIN is not set # CONFIG_LOGIN_SESSION_AS_CHILD is not set @@ -739,6 +753,7 @@ CONFIG_FEATURE_VOLUMEID_XFS=y # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set # CONFIG_BC is not set @@ -819,10 +834,12 @@ CONFIG_PARTPROBE=y # CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set +CONFIG_SEEDRNG=y CONFIG_SETFATTR=y CONFIG_SETSERIAL=y CONFIG_STRINGS=y CONFIG_TIME=y +CONFIG_TREE=y # CONFIG_TS is not set # CONFIG_TTYSIZE is not set # CONFIG_UBIATTACH is not set @@ -834,6 +851,7 @@ CONFIG_TIME=y # CONFIG_UBIRENAME is not set # CONFIG_VOLNAME is not set # CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set # # Networking Utilities @@ -842,6 +860,9 @@ CONFIG_TIME=y # CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_HWIB=y # CONFIG_FEATURE_TLS_SHA1 is not set CONFIG_ARP=y # CONFIG_ARPING is not set @@ -860,6 +881,7 @@ CONFIG_ARP=y # CONFIG_HOSTNAME is not set # CONFIG_DNSDOMAINNAME is not set # CONFIG_HTTPD is not set +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_SETUID is not set # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set @@ -952,6 +974,7 @@ CONFIG_SSL_CLIENT=y # CONFIG_FEATURE_TELNET_WIDTH is not set # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set CONFIG_TFTP=y CONFIG_FEATURE_TFTP_PROGRESS_BAR=y @@ -972,6 +995,7 @@ CONFIG_VCONFIG=y CONFIG_WGET=y CONFIG_FEATURE_WGET_LONG_OPTIONS=y # CONFIG_FEATURE_WGET_STATUSBAR is not set +CONFIG_FEATURE_WGET_FTP=y # CONFIG_FEATURE_WGET_AUTHENTICATION is not set CONFIG_FEATURE_WGET_TIMEOUT=y CONFIG_FEATURE_WGET_HTTPS=y @@ -988,6 +1012,7 @@ CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y CONFIG_UDHCPC_DEFAULT_SCRIPT="/sbin/config-dhcp.sh" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="" # CONFIG_UDHCPC6 is not set # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set @@ -997,6 +1022,7 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/sbin/config-dhcp.sh" # # Common options for DHCP applets # +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=9 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 @@ -1014,17 +1040,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" # # Mail Utilities # +CONFIG_FEATURE_MIME_CHARSET="" # CONFIG_MAKEMIME is not set # CONFIG_POPMAILDIR is not set # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set # CONFIG_REFORMIME is not set # CONFIG_FEATURE_REFORMIME_COMPAT is not set # CONFIG_SENDMAIL is not set -CONFIG_FEATURE_MIME_CHARSET="" # # Process Utilities # +# CONFIG_FEATURE_FAST_TOP is not set +CONFIG_FEATURE_SHOW_THREADS=y # CONFIG_FREE is not set # CONFIG_FUSER is not set # CONFIG_IOSTAT is not set @@ -1063,7 +1091,6 @@ CONFIG_FEATURE_TOPMEM=y # CONFIG_UPTIME is not set # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set # CONFIG_WATCH is not set -CONFIG_FEATURE_SHOW_THREADS=y # # Runit Utilities @@ -1103,7 +1130,7 @@ CONFIG_SH_IS_ASH=y # CONFIG_SH_IS_NONE is not set # CONFIG_BASH_IS_ASH is not set # CONFIG_BASH_IS_HUSH is not set -# CONFIG_BASH_IS_NONE is not set +CONFIG_BASH_IS_NONE=y CONFIG_SHELL_ASH=y CONFIG_ASH=y CONFIG_ASH_OPTIMIZE_FOR_SIZE=y @@ -1120,6 +1147,7 @@ CONFIG_ASH_EXPAND_PRMT=y CONFIG_ASH_ECHO=y CONFIG_ASH_PRINTF=y CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y CONFIG_ASH_HELP=y CONFIG_ASH_GETOPTS=y CONFIG_ASH_CMDCMD=y @@ -1128,8 +1156,8 @@ CONFIG_ASH_CMDCMD=y # CONFIG_SHELL_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set diff --git a/config/linux-qemu.config b/config/linux-qemu.config index db48bd46d..cf5a42d7d 100644 --- a/config/linux-qemu.config +++ b/config/linux-qemu.config @@ -157,7 +157,12 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_DEBUG=y -# CONFIG_NAMESPACES is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_TIME_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y # CONFIG_CHECKPOINT_RESTORE is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set @@ -355,7 +360,7 @@ CONFIG_X86_IOPL_IOPERM=y CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y # CONFIG_MICROCODE_AMD is not set -CONFIG_MICROCODE_OLD_INTERFACE=y +# CONFIG_MICROCODE_OLD_INTERFACE is not set CONFIG_X86_MSR=y # CONFIG_X86_CPUID is not set # CONFIG_X86_5LEVEL is not set @@ -614,7 +619,8 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -# CONFIG_SECCOMP is not set +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y @@ -708,12 +714,11 @@ CONFIG_BLK_MQ_VIRTIO=y # # IO Schedulers # -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set # CONFIG_IOSCHED_BFQ is not set # end of IO Schedulers -CONFIG_ASN1=m CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y @@ -1896,10 +1901,6 @@ CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set # CONFIG_DRM_DP_CEC is not set -CONFIG_DRM_TTM=y -CONFIG_DRM_TTM_DMA_PAGE_POOL=y -CONFIG_DRM_VRAM_HELPER=y -CONFIG_DRM_TTM_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y # @@ -1928,7 +1929,7 @@ CONFIG_DRM_GEM_SHMEM_HELPER=y # CONFIG_DRM_AST is not set # CONFIG_DRM_MGAG200 is not set # CONFIG_DRM_QXL is not set -CONFIG_DRM_BOCHS=y +# CONFIG_DRM_BOCHS is not set CONFIG_DRM_VIRTIO_GPU=y CONFIG_DRM_PANEL=y @@ -2013,7 +2014,7 @@ CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set -CONFIG_FB_SIMPLE=y +# CONFIG_FB_SIMPLE is not set # CONFIG_FB_SM712 is not set # end of Frame buffer Devices @@ -2807,18 +2808,14 @@ CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m CONFIG_CRYPTO_AKCIPHER2=y -CONFIG_CRYPTO_AKCIPHER=m CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_PCRYPT is not set @@ -2831,7 +2828,7 @@ CONFIG_CRYPTO_GLUE_HELPER_X86=y # # Public-key cryptography # -CONFIG_CRYPTO_RSA=m +# CONFIG_CRYPTO_RSA is not set # CONFIG_CRYPTO_DH is not set # CONFIG_CRYPTO_ECDH is not set # CONFIG_CRYPTO_ECRDSA is not set @@ -2842,27 +2839,27 @@ CONFIG_CRYPTO_RSA=m # # Authenticated Encryption with Associated Data # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_CHACHA20POLY1305=m +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set # CONFIG_CRYPTO_AEGIS128 is not set # CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +# CONFIG_CRYPTO_SEQIV is not set +# CONFIG_CRYPTO_ECHAINIV is not set # # Block modes # CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set -CONFIG_CRYPTO_CTR=m -CONFIG_CRYPTO_CTS=m +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_LRW=y +# CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set -CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_PCBC is not set CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_KEYWRAP=m +# CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set # CONFIG_CRYPTO_ADIANTUM is not set @@ -2871,34 +2868,33 @@ CONFIG_CRYPTO_ESSIV=y # # Hash modes # -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_CMAC is not set +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=y -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRC32_PCLMUL=m +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRC32_PCLMUL is not set # CONFIG_CRYPTO_XXHASH is not set # CONFIG_CRYPTO_BLAKE2B is not set # CONFIG_CRYPTO_BLAKE2S is not set # CONFIG_CRYPTO_BLAKE2S_X86 is not set -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m -CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_POLY1305=m -CONFIG_CRYPTO_POLY1305_X86_64=m -CONFIG_CRYPTO_MD4=m +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_POLY1305_X86_64 is not set +# CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD128=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=y CONFIG_CRYPTO_SHA256_SSSE3=y @@ -2908,77 +2904,65 @@ CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_SHA3 is not set # CONFIG_CRYPTO_SM3 is not set # CONFIG_CRYPTO_STREEBOG is not set -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set # # Ciphers # CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set +CONFIG_CRYPTO_AES_TI=y CONFIG_CRYPTO_AES_NI_INTEL=y -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_BLOWFISH_COMMON=m -CONFIG_CRYPTO_BLOWFISH_X86_64=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAMELLIA_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m -CONFIG_CRYPTO_CAST_COMMON=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST5_AVX_X86_64=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_CAST6_AVX_X86_64=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_DES3_EDE_X86_64=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_CHACHA20_X86_64=m -CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_CHACHA20_X86_64 is not set +CONFIG_CRYPTO_SERPENT=y +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y +CONFIG_CRYPTO_SERPENT_AVX_X86_64=y +CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y # CONFIG_CRYPTO_SM4 is not set -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m -CONFIG_CRYPTO_TWOFISH_X86_64=m -CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m -CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m +# CONFIG_CRYPTO_TWOFISH is not set +CONFIG_CRYPTO_TWOFISH_COMMON=y +CONFIG_CRYPTO_TWOFISH_X86_64=y +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y +CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y # # Compression # -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_842=m -CONFIG_CRYPTO_LZ4=m -CONFIG_CRYPTO_LZ4HC=m +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set # CONFIG_CRYPTO_ZSTD is not set # # Random Number Generation # -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_DRBG_MENU=m -CONFIG_CRYPTO_DRBG_HMAC=y -CONFIG_CRYPTO_DRBG_HASH=y -CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_DRBG_MENU is not set +# CONFIG_CRYPTO_JITTERENTROPY is not set CONFIG_CRYPTO_USER_API=y CONFIG_CRYPTO_USER_API_HASH=y CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_USER_API_RNG=y -# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set +# CONFIG_CRYPTO_USER_API_RNG is not set CONFIG_CRYPTO_USER_API_AEAD=y -CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set # CONFIG_CRYPTO_STATS is not set CONFIG_CRYPTO_HASH_INFO=y @@ -2986,16 +2970,10 @@ CONFIG_CRYPTO_HASH_INFO=y # Crypto library routines # CONFIG_CRYPTO_LIB_AES=y -CONFIG_CRYPTO_LIB_ARC4=m # CONFIG_CRYPTO_LIB_BLAKE2S is not set -CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m -CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m # CONFIG_CRYPTO_LIB_CHACHA is not set # CONFIG_CRYPTO_LIB_CURVE25519 is not set -CONFIG_CRYPTO_LIB_DES=m CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 -CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m -CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m # CONFIG_CRYPTO_LIB_POLY1305 is not set # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set CONFIG_CRYPTO_LIB_SHA256=y @@ -3015,7 +2993,7 @@ CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_CORDIC=m +# CONFIG_CORDIC is not set # CONFIG_PRIME_NUMBERS is not set CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y @@ -3023,10 +3001,10 @@ CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y -CONFIG_CRC_CCITT=m +# CONFIG_CRC_CCITT is not set CONFIG_CRC16=y -CONFIG_CRC_T10DIF=y -CONFIG_CRC_ITU_T=m +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set CONFIG_CRC32_SLICEBY8=y @@ -3035,30 +3013,21 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC64 is not set # CONFIG_CRC4 is not set -CONFIG_CRC7=m +# CONFIG_CRC7 is not set CONFIG_LIBCRC32C=y -CONFIG_CRC8=m +# CONFIG_CRC8 is not set CONFIG_XXHASH=y # CONFIG_RANDOM32_SELFTEST is not set -CONFIG_842_COMPRESS=m -CONFIG_842_DECOMPRESS=m -CONFIG_ZLIB_INFLATE=m -CONFIG_ZLIB_DEFLATE=m -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_COMPRESS=m -CONFIG_LZ4HC_COMPRESS=m -CONFIG_LZ4_DECOMPRESS=m CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_SPARC=y +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set CONFIG_XZ_DEC_BCJ=y -CONFIG_XZ_DEC_TEST=m +# CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_ZSTD=y CONFIG_GENERIC_ALLOCATOR=y @@ -3081,9 +3050,7 @@ CONFIG_DQL=y CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y -CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y -CONFIG_MPILIB=m CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y CONFIG_GENERIC_VDSO_TIME_NS=y diff --git a/config/linux-x230-flash.config b/config/linux-x230-flash.config index 72151e3b0..24d611f66 100644 --- a/config/linux-x230-flash.config +++ b/config/linux-x230-flash.config @@ -347,8 +347,8 @@ CONFIG_HOTPLUG_CPU=y # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_DEBUG_HOTPLUG_CPU0 is not set # CONFIG_LEGACY_VSYSCALL_EMULATE is not set -CONFIG_LEGACY_VSYSCALL_XONLY=y -# CONFIG_LEGACY_VSYSCALL_NONE is not set +# CONFIG_LEGACY_VSYSCALL_XONLY is not set +CONFIG_LEGACY_VSYSCALL_NONE=y # CONFIG_CMDLINE_BOOL is not set # CONFIG_MODIFY_LDT_SYSCALL is not set CONFIG_HAVE_LIVEPATCH=y @@ -2375,7 +2375,7 @@ CONFIG_LIBCRC32C=y CONFIG_ZLIB_DEFLATE=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y +# CONFIG_XZ_DEC_POWERPC is not set # CONFIG_XZ_DEC_IA64 is not set # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set diff --git a/config/linux-x230-legacy.config b/config/linux-x230-legacy.config index 69ec555a4..09f9e3903 100644 --- a/config/linux-x230-legacy.config +++ b/config/linux-x230-legacy.config @@ -1178,7 +1178,7 @@ CONFIG_ETHERNET=y # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y # CONFIG_E100 is not set -# CONFIG_E1000 is not set +CONFIG_E1000=m CONFIG_E1000E=m CONFIG_E1000E_HWTS=y # CONFIG_IGB is not set @@ -1875,7 +1875,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set # end of Console display driver support # CONFIG_LOGO is not set @@ -2148,7 +2148,8 @@ CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -# CONFIG_RTC_SYSTOHC is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set CONFIG_RTC_NVMEM=y @@ -2624,20 +2625,23 @@ CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_USER=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_PCRYPT is not set -# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_SIMD=y +CONFIG_CRYPTO_GLUE_HELPER_X86=y # # Public-key cryptography @@ -2668,11 +2672,11 @@ CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set # CONFIG_CRYPTO_CTR is not set # CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_ECB is not set +CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set # CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set +CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set @@ -2683,7 +2687,7 @@ CONFIG_CRYPTO_ESSIV=y # Hash modes # # CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_HMAC is not set +CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set @@ -2727,7 +2731,7 @@ CONFIG_CRYPTO_SHA512=y # # CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_AES_NI_INTEL is not set +CONFIG_CRYPTO_AES_NI_INTEL=y # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -2770,15 +2774,19 @@ CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_DRBG_MENU is not set # CONFIG_CRYPTO_JITTERENTROPY is not set -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -# CONFIG_CRYPTO_USER_API_RNG is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_USER_API=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set +# CONFIG_CRYPTO_STATS is not set CONFIG_CRYPTO_HASH_INFO=y # # Crypto library routines # +CONFIG_CRYPTO_LIB_AES=y # CONFIG_CRYPTO_LIB_BLAKE2S is not set # CONFIG_CRYPTO_LIB_CHACHA is not set # CONFIG_CRYPTO_LIB_CURVE25519 is not set @@ -2829,7 +2837,7 @@ CONFIG_LIBCRC32C=y CONFIG_ZLIB_DEFLATE=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y +# CONFIG_XZ_DEC_POWERPC is not set # CONFIG_XZ_DEC_IA64 is not set # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set diff --git a/config/linux-x230-maximized.config b/config/linux-x230-maximized.config index 3b9ba7ec3..46d8594ba 100644 --- a/config/linux-x230-maximized.config +++ b/config/linux-x230-maximized.config @@ -1123,6 +1123,7 @@ CONFIG_DM_VERITY_FEC=y # CONFIG_MACINTOSH_DRIVERS is not set CONFIG_NETDEVICES=y +CONFIG_MII=m CONFIG_NET_CORE=y # CONFIG_BONDING is not set # CONFIG_DUMMY is not set @@ -1244,7 +1245,48 @@ CONFIG_E1000E_HWTS=y # CONFIG_PPP is not set # CONFIG_SLIP is not set -# CONFIG_USB_NET_DRIVERS is not set +CONFIG_USB_NET_DRIVERS=m +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=m +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_AX88179_178A is not set +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +# CONFIG_USB_NET_CDC_NCM is not set +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +# CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +# CONFIG_USB_BELKIN is not set +# CONFIG_USB_ARMLINUX is not set +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +# CONFIG_USB_NET_ZAURUS is not set +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_NET_AQC111 is not set # CONFIG_WLAN is not set # @@ -1901,7 +1943,7 @@ CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set # end of Console display driver support # CONFIG_LOGO is not set @@ -2198,7 +2240,8 @@ CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -# CONFIG_RTC_SYSTOHC is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set CONFIG_RTC_NVMEM=y @@ -2674,20 +2717,23 @@ CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_USER=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_PCRYPT is not set -# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_SIMD=y +CONFIG_CRYPTO_GLUE_HELPER_X86=y # # Public-key cryptography @@ -2718,11 +2764,11 @@ CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set # CONFIG_CRYPTO_CTR is not set # CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_ECB is not set +CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set # CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set +CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set @@ -2733,7 +2779,7 @@ CONFIG_CRYPTO_ESSIV=y # Hash modes # # CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_HMAC is not set +CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set @@ -2777,7 +2823,7 @@ CONFIG_CRYPTO_SHA512=y # # CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_AES_NI_INTEL is not set +CONFIG_CRYPTO_AES_NI_INTEL=y # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set # CONFIG_CRYPTO_CAMELLIA is not set @@ -2820,15 +2866,19 @@ CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_DRBG_MENU is not set # CONFIG_CRYPTO_JITTERENTROPY is not set -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -# CONFIG_CRYPTO_USER_API_RNG is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_USER_API=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set +# CONFIG_CRYPTO_STATS is not set CONFIG_CRYPTO_HASH_INFO=y # # Crypto library routines # +CONFIG_CRYPTO_LIB_AES=y # CONFIG_CRYPTO_LIB_BLAKE2S is not set # CONFIG_CRYPTO_LIB_CHACHA is not set # CONFIG_CRYPTO_LIB_CURVE25519 is not set @@ -2879,7 +2929,7 @@ CONFIG_LIBCRC32C=y CONFIG_ZLIB_DEFLATE=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y +# CONFIG_XZ_DEC_POWERPC is not set # CONFIG_XZ_DEC_IA64 is not set # CONFIG_XZ_DEC_ARM is not set # CONFIG_XZ_DEC_ARMTHUMB is not set diff --git a/initrd/bin/kexec-boot b/initrd/bin/kexec-boot index 189b1f800..9597154a1 100755 --- a/initrd/bin/kexec-boot +++ b/initrd/bin/kexec-boot @@ -62,6 +62,7 @@ adjust_cmd_line() { } if [ "$CONFIG_DEBUG_OUTPUT" = "y" ];then + #If expecting debug output, have kexec load (-l) output debug info kexeccmd="$kexeccmd -d" fi diff --git a/initrd/bin/kexec-iso-init b/initrd/bin/kexec-iso-init index ad283271a..c62eb9b59 100755 --- a/initrd/bin/kexec-iso-init +++ b/initrd/bin/kexec-iso-init @@ -27,6 +27,7 @@ mount -t iso9660 -o loop $MOUNTED_ISO_PATH /boot \ || die '$MOUNTED_ISO_PATH: Unable to mount /boot' DEV_UUID=`blkid $DEV | tail -1 | tr " " "\n" | grep UUID | cut -d\" -f2` +#ISO boot additional requirements to be passed to KERNEL_ADD can be seen at https://github.com/u-root/webboot/#currently-supported ADD="fromiso=/dev/disk/by-uuid/$DEV_UUID/$ISO_PATH img_dev=/dev/disk/by-uuid/$DEV_UUID iso-scan/filename=/${ISO_PATH} img_loop=$ISO_PATH iso=$DEV_UUID/$ISO_PATH" REMOVE="" diff --git a/initrd/bin/network-init-recovery b/initrd/bin/network-init-recovery index c7b93b84f..dc678ef26 100755 --- a/initrd/bin/network-init-recovery +++ b/initrd/bin/network-init-recovery @@ -14,7 +14,24 @@ for module in `echo $network_modules`; do fi done -if [ -e /sys/class/net/eth0 ]; then +#Tethering over Android 11+ PoC +if [ -e /lib/modules/rndis_host.ko ]; then + #first enable USB controllers + enable_usb + network_modules="mii usbnet cdc_eem cdc_ether rndis_host" + + for module in `echo $network_modules`; do + if [ -f /lib/modules/$module.ko ]; then + insmod /lib/modules/$module.ko + fi + done + #other prep needed +fi + +if [ -e /sys/class/net/usb0 ]; then + echo "Tethering on..." + dev=usb0 +elif [ -e /sys/class/net/eth0 ]; then #Randomize eth0 MAC address of maximized boards if echo "$CONFIG_BOARD" | grep -q maximized; then ifconfig eth0 down @@ -28,15 +45,21 @@ if [ -e /sys/class/net/eth0 ]; then # Set up static IP if [ ! -z "$CONFIG_BOOT_STATIC_IP" ]; then ifconfig eth0 $CONFIG_BOOT_STATIC_IP - #Get ip from DHCP - elif [ -e /sbin/udhcpc ];then - if udhcpc -T 1 -q; then - if [ -e /sbin/ntpd ]; then + fi + dev=eth0 +fi + +#Get ip from DHCP +if [ -e /sbin/udhcpc ];then + if udhcpc -T 1 -i $dev -q; then + if [ -e /sbin/ntpd ]; then + if [ ! "$CONFIG_SYNC_TIME_ON_NETWORK_INIT" == "n" ]; then DNS_SERVER=$(grep nameserver /etc/resolv.conf|awk -F " " {'print $2'}) killall ntpd 2&>1 > /dev/null if ! ntpd -d -N -n -q -p $DNS_SERVER > /dev/ttyprintk; then if ! ntpd -d -d -N -n -q -p ntp.pool.org> /dev/ttyprintk; then echo "NTP sync unsuccessful." > /dev/tty0 + #TODO: clean time sync. Not always successful fi fi hwclock -w @@ -44,18 +67,16 @@ if [ -e /sys/class/net/eth0 ]; then date=`date "+%Y-%m-%d %H:%M:%S %Z"` echo "Time: $date" > /dev/tty0 fi - fi - fi - - ifconfig eth0 > /dev/ttyprintk - - if [ -e /bin/dropbear ]; then - # Set up the ssh server, allow root logins and log to stderr - if [ ! -d /etc/dropbear ]; then - mkdir /etc/dropbear fi - dropbear -B -R 2>/dev/ttyprintk + fi +fi + +if [ -e /bin/dropbear ]; then + # Set up the ssh server, allow root logins and log to stderr + if [ ! -d /etc/dropbear ]; then + mkdir /etc/dropbear fi - echo "" > /dev/tty0 - ifconfig eth0 | head -2 > /dev/tty0 + dropbear -B -R 2>/dev/ttyprintk fi +echo "" > /dev/tty0 +ifconfig > /dev/tty0 diff --git a/initrd/bin/tinycorePoC b/initrd/bin/tinycorePoC new file mode 100755 index 000000000..cc98e637e --- /dev/null +++ b/initrd/bin/tinycorePoC @@ -0,0 +1,4 @@ +network-init-recovery +mount -o remount,rw /boot +tcz -r /boot/tcz -v 14.x -d bash +mount -o remount,ro /boot diff --git a/initrd/init b/initrd/init index a92557450..8d1ba5c7c 100755 --- a/initrd/init +++ b/initrd/init @@ -6,7 +6,8 @@ mknod /dev/ttyprintk c 5 3 echo "hello world" > /dev/ttyprintk # Setup our path -export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin +export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/bbin:/usr/local/sbin +export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib # This is the very first script invoked by the Linux kernel and is # running out of the ram disk. There are no fileysstems mounted. diff --git a/modules/busybox b/modules/busybox index 03ec0a41d..2429f057c 100644 --- a/modules/busybox +++ b/modules/busybox @@ -2,11 +2,11 @@ CONFIG_BUSYBOX ?= y modules-$(CONFIG_BUSYBOX) += busybox -busybox_version := 1.33.2 +busybox_version := 1.36.0 busybox_dir := busybox-$(busybox_version) busybox_tar := busybox-$(busybox_version).tar.bz2 busybox_url := https://busybox.net/downloads/$(busybox_tar) -busybox_hash := 6843ba7977081e735fa0fdb05893e3c002c8c5ad7c9c80da206e603cc0ac47e7 +busybox_hash := 542750c8af7cb2630e201780b4f99f3dcceeb06f505b479ec68241c1e6af61a5 busybox_configure := $(MAKE) CC="$(heads_cc)" oldconfig busybox_config := config/busybox.config diff --git a/modules/linux b/modules/linux index 2de1fdd61..185445bd0 100644 --- a/modules/linux +++ b/modules/linux @@ -31,6 +31,9 @@ linux_hash := a6fbd4ee903c128367892c2393ee0d9657b6ed3ea90016d4dc6f1f6da20b2330 else ifeq "$(CONFIG_LINUX_VERSION)" "5.10.5" linux_version := 5.10.5 linux_hash := 3991a9e16a187d78d5f414d89236ae5d7f404a69e60c4c42a9d262ee19612ef4 +else ifeq "$(CONFIG_LINUX_VERSION)" "5.10.178" +linux_version := 5.10.178 +linux_hash := 1acfade3715e560f00fb30615d5471e24b3940b549381558787aee9734e7a8af else $(error "$(BOARD): does not specify linux kernel version under CONFIG_LINUX_VERSION") endif @@ -71,6 +74,7 @@ $(INSTALL)/include/linux/limits.h: $(build)/$(linux_base_dir)/.canary -C "$(build)/$(linux_base_dir)" \ ARCH="$(LINUX_ARCH)" \ INSTALL_HDR_PATH="$(INSTALL)" \ + CROSS_COMPILE="$(CROSS)" \ O="$(linux_dir)" \ KCONFIG_CONFIG="$(pwd)/$(linux_kconfig)" \ headers_install @@ -121,6 +125,13 @@ linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/storage/usb-storage.ko #USB modules when a USB keyboard is defined in board config linux_modules-$(CONFIG_USB_KEYBOARD) += drivers/hid/usbhid/usbhid.ko +#USB modules for Android USB Internet Tethering +linux_modules-$(CONFIG_ANDROID_TETHERING) += drivers/net/usb/cdc_eem.ko +linux_modules-$(CONFIG_ANDROID_TETHERING) += drivers/net/usb/rndis_host.ko +linux_modules-$(CONFIG_ANDROID_TETHERING) += drivers/net/usb/cdc_ether.ko +linux_modules-$(CONFIG_ANDROID_TETHERING) += drivers/net/usb/usbnet.ko +linux_modules-$(CONFIG_ANDROID_TETHERING) += drivers/net/mii.ko + # NVMe driver for winterfell and other servers linux_modules-$(CONFIG_LINUX_NVME) += drivers/nvme/host/nvme.ko linux_modules-$(CONFIG_LINUX_NVME) += drivers/nvme/host/nvme-core.ko @@ -263,6 +274,7 @@ linux.save_in_versioned_defconfig_format: && $(MAKE) -C "$(build)/$(linux_base_dir)" \ O="$(build)/$(linux_dir)" \ ARCH="$(LINUX_ARCH)" \ + CROSS_COMPILE="$(CROSS)" \ savedefconfig \ && mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)" @@ -273,7 +285,7 @@ linux.save_in_oldconfig_format_in_place: O="$(build)/$(linux_dir)" \ ARCH="$(LINUX_ARCH)" \ CROSS_COMPILE="$(CROSS)" \ - oldefconfig \ + oldconfig \ && mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)" linux.save_in_versioned_oldconfig: diff --git a/modules/u-root b/modules/u-root index c943bef43..943a0befc 100644 --- a/modules/u-root +++ b/modules/u-root @@ -1,50 +1,74 @@ -# # u-root go runtime # # This is not a normal Heads module, since it builds all of its # own dependencies. # -u-root_url := github.com/u-root/u-root +ifeq "$(CONFIG_UROOT)" "y" +u-root_url := https://github.com/u-root/u-root u-root_output := $(build)/$(BOARD)/u-root.cpio -UROOT_CMDS ?= +tinycore_lib_path=$(build)/tinycorelibs +tinycore_core_gz=$(tinycore_lib_path)/rootfs64.gz +tinycore_rootfs_files=lib/ld-linux-x86-64.so.2 lib/libanl.so.1 lib/libc.so.6 lib/libdl.so.2 lib/libm.so.6 lib/libpthread.so.0 lib/librt.so.1 usr/lib/libgcc_s.so.1 lib/libcrypt.so.1 lib/libutil.so.1 +# +# + + +#UROOT_CMDS ?= exp/tcz +UROOT_CMDS ?= core/wget + +export GOPATH=$(build)/u-root +UROOT_PATH=$(GOPATH)/src/github.com/u-root +UROOT_BUILT_PATH=$(GOPATH)/src/github.com/u-root/u-root -export GOPATH=$(build)/go +#Substitutions +#translate paths so that user can only specify what is found under u-root/cmds/ directory under UROOT_CMDS from board config to overwrite default above u-root_src_cmds := $(foreach cmd,$(UROOT_CMDS),github.com/u-root/u-root/cmds/$(cmd)) +#translate tinycore extracted rootfs real path into initramfs desired path. tinycore embeds lib/xyz already +#tinycore_libs_to_path := $(foreach libfile,$(tinycore_rootfs_files),$(tinycore_lib_path)/$(libfile):$(libfile)) +#translate each libs from tinycore_lib_path to usable u-root -files tuple (/real/local/path:desired/initramfs/path) +#u-root_files_statement:= $(foreach libfile,$(tinycore_rootfs_files),-files $(tinycore_lib_path)/$(libfile):$(libfile)) +u-root_files_statement:= -files /etc/ssl/certs/ca-certificates.crt -u-root_build := $(GOPATH)/bin/u-root -$(GOPATH)/bin/u-root: - go get github.com/u-root/u-root/... -# +u-root_build := $(UROOT_BUILT_PATH) + +$(UROOT_BUILT_PATH): + mkdir -p $(GOPATH)/src/github.com/u-root/ + git clone https://github.com/u-root/u-root.git $(UROOT_PATH) + cd $(UROOT_PATH) && go build + # If the board directory has its own go commands, copy them # into the u-root tree so that they will be bundled into the go initrd # TODO: generalize this to support more commands # TODO: fix this sort that it doesn't leave commands lying around -# +# ifeq "y" "$(shell [ -r 'boards/$(BOARD)/uinit.go' ] && echo y)" u-root_uinit := $(GOPATH)/src/github.com/u-root/u-root/cmds/uinit/uinit.go $(u-root_uinit): $(u-root_build) boards/$(BOARD)/uinit.go $(call install,boards/$(BOARD)/uinit.go,$@) endif -$(u-root_output): $(u-root_build) $(u-root_uinit) - $(call do,U-ROOT,$@,\ - $(GOPATH)/bin/u-root \ - -build=bb \ - -format=cpio \ - -o $@ \ - $(u-root_src_cmds)\ - ) +#TODO: put anchor here for rootfs download path to download if not present +$(tinycore_core_gz): + mkdir -p $(tinycore_lib_path) + cd $(tinycore_lib_path) \ + && wget http://tinycorelinux.net/14.x/x86_64/release/distribution_files/rootfs64.gz \ + && zcat rootfs64.gz | cpio -i > /dev/null 2>&1 || true + +$(u-root_output): $(u-root_build) $(u-root_uinit) $(tinycore_core_gz) + $(UROOT_BUILT_PATH) \ + -uroot-source $(UROOT_PATH) \ + -initcmd="" \ + -build=gbb \ + -defaultsh="" \ + $(u-root_files_statement) \ + -format=cpio \ + -o $@ \ + $(u-root_src_cmds) # Override the initrd inputs and add in the kernel modules initrd-$(CONFIG_UROOT) += $(u-root_output) - -ifeq "$(CONFIG_UROOT)" "y" -# If we are building for u-root, disable the default CONFIG_HEADS -# so that the heads/initrd/etc directories will not be included -CONFIG_HEADS=n - # Since we do not include u-root in modules-y, we have to define our # own intermediate and clean targets here $(build)/$(u-root_dir)/.build: $(u-root_output) diff --git a/patches/linux-5.10.178/0001-fake-acpi.patch b/patches/linux-5.10.178/0001-fake-acpi.patch new file mode 100644 index 000000000..0c8b3b546 --- /dev/null +++ b/patches/linux-5.10.178/0001-fake-acpi.patch @@ -0,0 +1,32 @@ +diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c linux-4.9.80/drivers/acpi/acpica/evxfevnt.c +--- ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-03 11:05:43.000000000 -0500 ++++ linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-07 15:51:28.786502597 -0500 +@@ -111,6 +111,8 @@ + } + + ACPI_ERROR((AE_INFO, "Hardware did not enter ACPI mode")); ++printk("%s:%d faking ACPI mode\n", __func__, __LINE__); ++ return_ACPI_STATUS(AE_OK); + return_ACPI_STATUS(AE_NO_HARDWARE_RESPONSE); + } + +diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c linux-4.9.80/drivers/acpi/acpica/hwacpi.c +--- ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-03 11:05:43.000000000 -0500 ++++ linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-07 15:51:35.126557868 -0500 +@@ -168,12 +168,16 @@ + + status = acpi_read_bit_register(ACPI_BITREG_SCI_ENABLE, &value); + if (ACPI_FAILURE(status)) { ++printk("%s:%d faking ACPI mode\n", __func__, __LINE__); ++ return_UINT32(ACPI_SYS_MODE_ACPI); + return_UINT32(ACPI_SYS_MODE_LEGACY); + } + + if (value) { + return_UINT32(ACPI_SYS_MODE_ACPI); + } else { ++//printk("%s:%d faking ACPI mode\n", __func__, __LINE__); ++// return_UINT32(ACPI_SYS_MODE_ACPI); + return_UINT32(ACPI_SYS_MODE_LEGACY); + } + } diff --git a/patches/linux-5.10.178/0002-nmi-squelch.patch b/patches/linux-5.10.178/0002-nmi-squelch.patch new file mode 100644 index 000000000..bce1cd2f0 --- /dev/null +++ b/patches/linux-5.10.178/0002-nmi-squelch.patch @@ -0,0 +1,20 @@ +diff --recursive -u ./clean/linux-4.9.80/arch/x86/kernel/nmi.c linux-4.9.80/arch/x86/kernel/nmi.c +--- ./clean/linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-03 11:05:43.000000000 -0500 ++++ linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-07 18:56:10.475613884 -0500 +@@ -303,6 +303,8 @@ + + __this_cpu_add(nmi_stats.unknown, 1); + ++#if 0 ++// qemu generates these for some reason + pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n", + reason, smp_processor_id()); + +@@ -311,6 +313,7 @@ + nmi_panic(regs, "NMI: Not continuing"); + + pr_emerg("Dazed and confused, but trying to continue\n"); ++#endif + } + NOKPROBE_SYMBOL(unknown_nmi_error); + diff --git a/patches/linux-5.10.178/0003-fake-trampoline.patch b/patches/linux-5.10.178/0003-fake-trampoline.patch new file mode 100644 index 000000000..e6ec15c9b --- /dev/null +++ b/patches/linux-5.10.178/0003-fake-trampoline.patch @@ -0,0 +1,28 @@ +diff --recursive -u ./clean/linux-4.9.80/arch/x86/realmode/init.c linux-4.9.80/arch/x86/realmode/init.c +--- ./clean/linux-4.9.80/arch/x86/realmode/init.c 2018-02-03 11:05:43.000000000 -0500 ++++ linux-4.9.80/arch/x86/realmode/init.c 2018-02-07 15:51:28.538500435 -0500 +@@ -35,8 +35,8 @@ + /* Has to be under 1M so we can execute real-mode AP code. */ + mem = memblock_find_in_range(0, 1<<20, size, PAGE_SIZE); + if (!mem) { +- pr_info("No sub-1M memory is available for the trampoline\n"); +- return; ++ mem = 0x4000; ++ pr_info("No sub-1M memory is available for the trampoline, guessing %p\n", mem); + } + + memblock_reserve(mem, size); +@@ -138,7 +138,12 @@ + static int __init init_real_mode(void) + { + if (!real_mode_header) +- panic("Real mode trampoline was not allocated"); ++ { ++ // ignore for now ++ //panic("Real mode trampoline was not allocated"); ++ pr_warn("Real mode trampoline was not allocated"); ++ return 0; ++ } + + setup_real_mode(); + set_real_mode_permissions(); diff --git a/patches/linux-5.10.178/0010-winterfell-ahci.patch b/patches/linux-5.10.178/0010-winterfell-ahci.patch new file mode 100644 index 000000000..9c4df7e28 --- /dev/null +++ b/patches/linux-5.10.178/0010-winterfell-ahci.patch @@ -0,0 +1,18 @@ +diff --recursive -u ./clean/linux-4.9.80/drivers/ata/libahci.c linux-4.9.80/drivers/ata/libahci.c +--- ./clean/linux-4.9.80/drivers/ata/libahci.c 2018-02-03 11:05:43.000000000 -0500 ++++ linux-4.9.80/drivers/ata/libahci.c 2018-02-07 18:02:32.526535910 -0500 +@@ -537,8 +537,12 @@ + } + + /* fabricate port_map from cap.nr_ports for < AHCI 1.3 */ +- if (!port_map && vers < 0x10300) { +- port_map = (1 << ahci_nr_ports(cap)) - 1; ++ if (!port_map) { // && vers < 0x10300) { ++ printk("%s: saved_port=%02x\n", __func__, hpriv->saved_port_map); ++ writel(0x1, mmio + HOST_PORTS_IMPL); ++ port_map = readl(mmio + HOST_PORTS_IMPL); ++ ++ //port_map = (1 << ahci_nr_ports(cap)) - 1; + dev_warn(dev, "forcing PORTS_IMPL to 0x%x\n", port_map); + + /* write the fixed up value to the PI register */