mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
Build the Heads/NERF firmware for the Dell R630 server.
This development branch builds a NERF firmware for the Dell R630 server. It does not use coreboot; instead it branches directly from the vendor's PEI core into Linux and the Heads runtime that is setup to be run as an EFI executable.
This commit is contained in:
parent
498105c979
commit
a4d7654b1e
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.26.2
|
||||
# Fri Mar 31 15:58:03 2017
|
||||
# Mon Jul 31 05:37:29 2017
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@ -283,7 +283,7 @@ CONFIG_FEATURE_SORT_BIG=y
|
||||
CONFIG_STAT=y
|
||||
CONFIG_FEATURE_STAT_FORMAT=y
|
||||
CONFIG_FEATURE_STAT_FILESYSTEM=y
|
||||
# CONFIG_STTY is not set
|
||||
CONFIG_STTY=y
|
||||
# CONFIG_SUM is not set
|
||||
# CONFIG_SYNC is not set
|
||||
# CONFIG_FEATURE_SYNC_FANCY is not set
|
||||
@ -455,9 +455,9 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
|
||||
# CONFIG_BOOTCHARTD is not set
|
||||
# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
|
||||
# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
|
||||
# CONFIG_HALT is not set
|
||||
# CONFIG_POWEROFF is not set
|
||||
# CONFIG_REBOOT is not set
|
||||
CONFIG_HALT=y
|
||||
CONFIG_POWEROFF=y
|
||||
CONFIG_REBOOT=y
|
||||
# CONFIG_FEATURE_CALL_TELINIT is not set
|
||||
CONFIG_TELINIT_PATH=""
|
||||
# CONFIG_INIT is not set
|
||||
|
@ -73,7 +73,7 @@ CONFIG_DEFAULT_HOSTNAME="(none)"
|
||||
# CONFIG_SYSVIPC is not set
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_CROSS_MEMORY_ATTACH is not set
|
||||
# CONFIG_FHANDLE is not set
|
||||
CONFIG_FHANDLE=y
|
||||
# CONFIG_USELIB is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
|
||||
@ -146,22 +146,24 @@ CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE="../../dev.cpio"
|
||||
CONFIG_INITRAMFS_SOURCE="initrd.cpio"
|
||||
CONFIG_INITRAMFS_ROOT_UID=0
|
||||
CONFIG_INITRAMFS_ROOT_GID=0
|
||||
# CONFIG_RD_GZIP is not set
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
CONFIG_RD_XZ=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||
CONFIG_HAVE_PCSPKR_PLATFORM=y
|
||||
CONFIG_BPF=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_MULTIUSER=y
|
||||
# CONFIG_SGETMASK_SYSCALL is not set
|
||||
# CONFIG_SYSFS_SYSCALL is not set
|
||||
@ -182,7 +184,7 @@ CONFIG_EPOLL=y
|
||||
# CONFIG_BPF_SYSCALL is not set
|
||||
CONFIG_SHMEM=y
|
||||
# CONFIG_AIO is not set
|
||||
# CONFIG_ADVISE_SYSCALLS is not set
|
||||
CONFIG_ADVISE_SYSCALLS=y
|
||||
# CONFIG_USERFAULTFD is not set
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
# CONFIG_MEMBARRIER is not set
|
||||
@ -237,6 +239,8 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
|
||||
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
||||
CONFIG_HAVE_CMPXCHG_LOCAL=y
|
||||
CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
||||
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
|
||||
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GCC_PLUGINS=y
|
||||
# CONFIG_GCC_PLUGINS is not set
|
||||
@ -258,10 +262,14 @@ CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||
CONFIG_HAVE_EXIT_THREAD=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS=28
|
||||
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
|
||||
CONFIG_HAVE_COPY_THREAD_TLS=y
|
||||
CONFIG_HAVE_STACK_VALIDATION=y
|
||||
# CONFIG_HAVE_ARCH_HASH is not set
|
||||
# CONFIG_ISA_BUS_API is not set
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
||||
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
|
||||
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
||||
CONFIG_VMAP_STACK=y
|
||||
@ -294,6 +302,7 @@ CONFIG_BLK_DEV_BSGLIB=y
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_BLOCK_COMPAT=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
|
||||
#
|
||||
@ -332,7 +341,8 @@ CONFIG_X86_MPPARSE=y
|
||||
# CONFIG_X86_EXTENDED_PLATFORM is not set
|
||||
# CONFIG_X86_INTEL_LPSS is not set
|
||||
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
|
||||
# CONFIG_IOSF_MBI is not set
|
||||
CONFIG_IOSF_MBI=y
|
||||
# CONFIG_IOSF_MBI_DEBUG is not set
|
||||
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
|
||||
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||
# CONFIG_HYPERVISOR_GUEST is not set
|
||||
@ -441,7 +451,8 @@ CONFIG_ARCH_RANDOM=y
|
||||
# CONFIG_X86_INTEL_MPX is not set
|
||||
# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
|
||||
CONFIG_EFI=y
|
||||
# CONFIG_EFI_STUB is not set
|
||||
CONFIG_EFI_STUB=y
|
||||
# CONFIG_EFI_MIXED is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
@ -454,13 +465,17 @@ CONFIG_KEXEC_FILE=y
|
||||
# CONFIG_KEXEC_VERIFY_SIG is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_PHYSICAL_START=0x1000000
|
||||
# CONFIG_RELOCATABLE is not set
|
||||
CONFIG_RELOCATABLE=y
|
||||
# CONFIG_RANDOMIZE_BASE is not set
|
||||
CONFIG_PHYSICAL_ALIGN=0x1000000
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
# CONFIG_COMPAT_VDSO is not set
|
||||
# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
|
||||
CONFIG_LEGACY_VSYSCALL_EMULATE=y
|
||||
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="earlyprintk=serial,ttyS0,115200 console=tty0 console=ttyS0,115200n8 nosmp quiet"
|
||||
# CONFIG_CMDLINE_OVERRIDE is not set
|
||||
# CONFIG_MODIFY_LDT_SYSCALL is not set
|
||||
CONFIG_HAVE_LIVEPATCH=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
@ -481,7 +496,6 @@ CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
|
||||
CONFIG_ACPI_AC=y
|
||||
CONFIG_ACPI_BATTERY=y
|
||||
CONFIG_ACPI_BUTTON=y
|
||||
CONFIG_ACPI_VIDEO=y
|
||||
CONFIG_ACPI_FAN=y
|
||||
# CONFIG_ACPI_DOCK is not set
|
||||
CONFIG_ACPI_CPU_FREQ_PSS=y
|
||||
@ -494,14 +508,14 @@ CONFIG_ACPI_CUSTOM_DSDT_FILE=""
|
||||
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
||||
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
|
||||
CONFIG_ACPI_TABLE_UPGRADE=y
|
||||
# CONFIG_ACPI_DEBUG is not set
|
||||
# CONFIG_ACPI_PCI_SLOT is not set
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
CONFIG_ACPI_PCI_SLOT=y
|
||||
CONFIG_X86_PM_TIMER=y
|
||||
# CONFIG_ACPI_CONTAINER is not set
|
||||
CONFIG_ACPI_HOTPLUG_IOAPIC=y
|
||||
# CONFIG_ACPI_SBS is not set
|
||||
# CONFIG_ACPI_HED is not set
|
||||
# CONFIG_ACPI_CUSTOM_METHOD is not set
|
||||
CONFIG_ACPI_CUSTOM_METHOD=y
|
||||
# CONFIG_ACPI_BGRT is not set
|
||||
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
|
||||
# CONFIG_ACPI_NFIT is not set
|
||||
@ -511,13 +525,42 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
|
||||
# CONFIG_DPTF_POWER is not set
|
||||
# CONFIG_ACPI_EXTLOG is not set
|
||||
# CONFIG_PMIC_OPREGION is not set
|
||||
# CONFIG_ACPI_CONFIGFS is not set
|
||||
CONFIG_ACPI_CONFIGFS=y
|
||||
# CONFIG_SFI is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
#
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
CONFIG_CPU_FREQ=y
|
||||
# CONFIG_CPU_FREQ_STAT is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
|
||||
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
|
||||
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
|
||||
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
|
||||
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
|
||||
|
||||
#
|
||||
# CPU frequency scaling drivers
|
||||
#
|
||||
# CONFIG_X86_INTEL_PSTATE is not set
|
||||
# CONFIG_X86_PCC_CPUFREQ is not set
|
||||
CONFIG_X86_ACPI_CPUFREQ=y
|
||||
CONFIG_X86_ACPI_CPUFREQ_CPB=y
|
||||
# CONFIG_X86_POWERNOW_K8 is not set
|
||||
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
|
||||
# CONFIG_X86_P4_CLOCKMOD is not set
|
||||
|
||||
#
|
||||
# shared options
|
||||
#
|
||||
# CONFIG_X86_SPEEDSTEP_LIB is not set
|
||||
|
||||
#
|
||||
# CPU Idle
|
||||
@ -526,7 +569,7 @@ CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
||||
# CONFIG_INTEL_IDLE is not set
|
||||
CONFIG_INTEL_IDLE=y
|
||||
|
||||
#
|
||||
# Memory power savings
|
||||
@ -572,13 +615,17 @@ CONFIG_AMD_NB=y
|
||||
# Executable file formats / Emulations
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_COMPAT_BINFMT_ELF=y
|
||||
CONFIG_ELFCORE=y
|
||||
CONFIG_BINFMT_SCRIPT=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
# CONFIG_COREDUMP is not set
|
||||
# CONFIG_IA32_EMULATION is not set
|
||||
CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_IA32_AOUT is not set
|
||||
# CONFIG_X86_X32 is not set
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
|
||||
CONFIG_X86_DEV_DMA_OPS=y
|
||||
CONFIG_PMC_ATOM=y
|
||||
CONFIG_NET=y
|
||||
@ -748,6 +795,7 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
|
||||
# CONFIG_BLK_DEV_RBD is not set
|
||||
# CONFIG_BLK_DEV_RSXX is not set
|
||||
# CONFIG_BLK_DEV_NVME is not set
|
||||
# CONFIG_NVME_TARGET is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
@ -1033,7 +1081,7 @@ CONFIG_NET_VENDOR_INTEL=y
|
||||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_E1000E_HWTS=y
|
||||
# CONFIG_IGB is not set
|
||||
CONFIG_IGB=m
|
||||
# CONFIG_IGBVF is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_IXGBE is not set
|
||||
@ -1162,7 +1210,7 @@ CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
# CONFIG_UNIX98_PTYS is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
# CONFIG_NOZOMI is not set
|
||||
@ -1174,15 +1222,21 @@ CONFIG_DEVMEM=y
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
CONFIG_SERIAL_EARLYCON=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
|
||||
# CONFIG_SERIAL_8250_PNP is not set
|
||||
# CONFIG_SERIAL_8250_FINTEK is not set
|
||||
# CONFIG_SERIAL_8250_CONSOLE is not set
|
||||
# CONFIG_SERIAL_8250_PCI is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_PCI=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
# CONFIG_SERIAL_8250_MANY_PORTS is not set
|
||||
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
# CONFIG_SERIAL_8250_RSA is not set
|
||||
# CONFIG_SERIAL_8250_FSL is not set
|
||||
# CONFIG_SERIAL_8250_DW is not set
|
||||
# CONFIG_SERIAL_8250_RT288X is not set
|
||||
# CONFIG_SERIAL_8250_LPSS is not set
|
||||
@ -1194,6 +1248,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
#
|
||||
# CONFIG_SERIAL_UARTLITE is not set
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_JSM is not set
|
||||
# CONFIG_SERIAL_SCCNXP is not set
|
||||
# CONFIG_SERIAL_SC16IS7XX is not set
|
||||
@ -1240,7 +1295,7 @@ CONFIG_I2C=y
|
||||
CONFIG_ACPI_I2C_OPREGION=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I2C_COMPAT is not set
|
||||
# CONFIG_I2C_CHARDEV is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MUX=m
|
||||
|
||||
#
|
||||
@ -1249,7 +1304,7 @@ CONFIG_I2C_MUX=m
|
||||
CONFIG_I2C_MUX_PCA9541=m
|
||||
CONFIG_I2C_MUX_REG=m
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
# CONFIG_I2C_SMBUS is not set
|
||||
CONFIG_I2C_SMBUS=y
|
||||
|
||||
#
|
||||
# I2C Algorithms
|
||||
@ -1270,7 +1325,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_I2C_ALI15X3 is not set
|
||||
# CONFIG_I2C_AMD756 is not set
|
||||
# CONFIG_I2C_AMD8111 is not set
|
||||
# CONFIG_I2C_I801 is not set
|
||||
CONFIG_I2C_I801=y
|
||||
# CONFIG_I2C_ISCH is not set
|
||||
# CONFIG_I2C_ISMT is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
@ -1284,7 +1339,7 @@ CONFIG_I2C_ALGOBIT=y
|
||||
#
|
||||
# ACPI drivers
|
||||
#
|
||||
# CONFIG_I2C_SCMI is not set
|
||||
CONFIG_I2C_SCMI=y
|
||||
|
||||
#
|
||||
# I2C system bus drivers (mostly embedded / system-on-chip)
|
||||
@ -1365,7 +1420,7 @@ CONFIG_POWER_SUPPLY=y
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_THERMAL=y
|
||||
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
|
||||
CONFIG_THERMAL_WRITABLE_TRIPS=y
|
||||
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
|
||||
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
|
||||
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
|
||||
@ -1373,18 +1428,20 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
|
||||
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
|
||||
CONFIG_THERMAL_GOV_STEP_WISE=y
|
||||
# CONFIG_THERMAL_GOV_BANG_BANG is not set
|
||||
# CONFIG_THERMAL_GOV_USER_SPACE is not set
|
||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
|
||||
# CONFIG_THERMAL_EMULATION is not set
|
||||
# CONFIG_INTEL_POWERCLAMP is not set
|
||||
# CONFIG_X86_PKG_TEMP_THERMAL is not set
|
||||
CONFIG_X86_PKG_TEMP_THERMAL=y
|
||||
CONFIG_INTEL_SOC_DTS_IOSF_CORE=y
|
||||
# CONFIG_INTEL_SOC_DTS_THERMAL is not set
|
||||
|
||||
#
|
||||
# ACPI INT340X thermal drivers
|
||||
#
|
||||
# CONFIG_INT340X_THERMAL is not set
|
||||
# CONFIG_INTEL_PCH_THERMAL is not set
|
||||
CONFIG_INT340X_THERMAL=y
|
||||
CONFIG_ACPI_THERMAL_REL=y
|
||||
CONFIG_INTEL_PCH_THERMAL=y
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
@ -1483,17 +1540,15 @@ CONFIG_MFD_SYSCON=y
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_AGP is not set
|
||||
CONFIG_INTEL_GTT=y
|
||||
CONFIG_VGA_ARB=y
|
||||
CONFIG_VGA_ARB_MAX_GPUS=16
|
||||
# CONFIG_VGA_ARB is not set
|
||||
# CONFIG_VGA_SWITCHEROO is not set
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_MIPI_DSI=y
|
||||
# CONFIG_DRM_DP_AUX_CHARDEV is not set
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
CONFIG_DRM_KMS_FB_HELPER=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
|
||||
CONFIG_DRM_TTM=y
|
||||
|
||||
#
|
||||
# I2C encoder or helper chips
|
||||
@ -1508,30 +1563,16 @@ CONFIG_DRM_FBDEV_EMULATION=y
|
||||
# ACP (Audio CoProcessor) Configuration
|
||||
#
|
||||
# CONFIG_DRM_NOUVEAU is not set
|
||||
CONFIG_DRM_I915=y
|
||||
CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=y
|
||||
CONFIG_DRM_I915_USERPTR=y
|
||||
# CONFIG_DRM_I915_GVT is not set
|
||||
|
||||
#
|
||||
# drm/i915 Debugging
|
||||
#
|
||||
# CONFIG_DRM_I915_WERROR is not set
|
||||
# CONFIG_DRM_I915_DEBUG is not set
|
||||
# CONFIG_DRM_I915 is not set
|
||||
# CONFIG_DRM_VGEM is not set
|
||||
# CONFIG_DRM_VMWGFX is not set
|
||||
# CONFIG_DRM_GMA500 is not set
|
||||
# CONFIG_DRM_UDL is not set
|
||||
# CONFIG_DRM_AST is not set
|
||||
# CONFIG_DRM_MGAG200 is not set
|
||||
CONFIG_DRM_MGAG200=y
|
||||
# CONFIG_DRM_CIRRUS_QEMU is not set
|
||||
# CONFIG_DRM_QXL is not set
|
||||
# CONFIG_DRM_BOCHS is not set
|
||||
CONFIG_DRM_PANEL=y
|
||||
|
||||
#
|
||||
# Display Panels
|
||||
#
|
||||
CONFIG_DRM_BRIDGE=y
|
||||
|
||||
#
|
||||
@ -1562,8 +1603,8 @@ CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
# CONFIG_FB_MODE_HELPERS is not set
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
|
||||
#
|
||||
# Frame buffer hardware drivers
|
||||
@ -1576,7 +1617,7 @@ CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_IMSTT is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
CONFIG_FB_VESA=y
|
||||
CONFIG_FB_EFI=y
|
||||
# CONFIG_FB_EFI is not set
|
||||
# CONFIG_FB_N411 is not set
|
||||
# CONFIG_FB_HGA is not set
|
||||
# CONFIG_FB_OPENCORES is not set
|
||||
@ -1585,7 +1626,11 @@ CONFIG_FB_EFI=y
|
||||
# CONFIG_FB_RIVA is not set
|
||||
# CONFIG_FB_I740 is not set
|
||||
# CONFIG_FB_LE80578 is not set
|
||||
# CONFIG_FB_MATROX is not set
|
||||
CONFIG_FB_MATROX=y
|
||||
# CONFIG_FB_MATROX_MILLENIUM is not set
|
||||
# CONFIG_FB_MATROX_MYSTIQUE is not set
|
||||
CONFIG_FB_MATROX_G=y
|
||||
# CONFIG_FB_MATROX_I2C is not set
|
||||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
@ -1611,18 +1656,7 @@ CONFIG_FB_EFI=y
|
||||
# CONFIG_FB_AUO_K190X is not set
|
||||
# CONFIG_FB_SIMPLE is not set
|
||||
# CONFIG_FB_SM712 is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
# CONFIG_BACKLIGHT_APPLE is not set
|
||||
# CONFIG_BACKLIGHT_PM8941_WLED is not set
|
||||
# CONFIG_BACKLIGHT_SAHARA is not set
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
# CONFIG_BACKLIGHT_ADP8870 is not set
|
||||
# CONFIG_BACKLIGHT_LM3639 is not set
|
||||
# CONFIG_BACKLIGHT_LV5207LP is not set
|
||||
# CONFIG_BACKLIGHT_BD6107 is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_HDMI=y
|
||||
|
||||
@ -1637,7 +1671,10 @@ CONFIG_DUMMY_CONSOLE_ROWS=25
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
|
||||
# CONFIG_LOGO is not set
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_LOGO_LINUX_MONO=y
|
||||
CONFIG_LOGO_LINUX_VGA16=y
|
||||
CONFIG_LOGO_LINUX_CLUT224=y
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
@ -2085,7 +2122,7 @@ CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
|
||||
#
|
||||
# CONFIG_EFI_VARS is not set
|
||||
CONFIG_EFI_ESRT=y
|
||||
CONFIG_EFI_RUNTIME_MAP=y
|
||||
# CONFIG_EFI_RUNTIME_MAP is not set
|
||||
# CONFIG_EFI_FAKE_MEMMAP is not set
|
||||
CONFIG_EFI_RUNTIME_WRAPPERS=y
|
||||
# CONFIG_EFI_CAPSULE_LOADER is not set
|
||||
@ -2110,11 +2147,13 @@ CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_BTRFS_FS is not set
|
||||
# CONFIG_NILFS2_FS is not set
|
||||
# CONFIG_F2FS_FS is not set
|
||||
# CONFIG_FS_DAX is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_EXPORTFS=y
|
||||
# CONFIG_EXPORTFS_BLOCK_OPS is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
CONFIG_MANDATORY_FILE_LOCKING=y
|
||||
@ -2169,17 +2208,10 @@ CONFIG_TMPFS=y
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
CONFIG_EFIVAR_FS=m
|
||||
CONFIG_CONFIGFS_FS=y
|
||||
# CONFIG_EFIVAR_FS is not set
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
# CONFIG_NFS_FS is not set
|
||||
# CONFIG_NFSD is not set
|
||||
# CONFIG_CEPH_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
# CONFIG_NETWORK_FILESYSTEMS is not set
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="utf8"
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
@ -2231,6 +2263,7 @@ CONFIG_NLS_ISO8859_1=y
|
||||
# CONFIG_NLS_MAC_ROMANIAN is not set
|
||||
# CONFIG_NLS_MAC_TURKISH is not set
|
||||
CONFIG_NLS_UTF8=y
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
@ -2241,7 +2274,7 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
# printk and dmesg options
|
||||
#
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
|
||||
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=6
|
||||
CONFIG_BOOT_PRINTK_DELAY=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
|
||||
@ -2669,14 +2702,13 @@ CONFIG_XZ_DEC_ARMTHUMB=y
|
||||
CONFIG_XZ_DEC_SPARC=y
|
||||
CONFIG_XZ_DEC_BCJ=y
|
||||
CONFIG_XZ_DEC_TEST=m
|
||||
CONFIG_DECOMPRESS_XZ=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_REED_SOLOMON=y
|
||||
CONFIG_REED_SOLOMON_DEC8=y
|
||||
CONFIG_INTERVAL_TREE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_CHECK_SIGNATURE=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
CONFIG_DQL=y
|
||||
CONFIG_GLOB=y
|
||||
|
29
config/r630.config
Normal file
29
config/r630.config
Normal file
@ -0,0 +1,29 @@
|
||||
# Configuration for a Dell R630
|
||||
# flashrom doesn't work on this mainboard
|
||||
# and it is NERF, not coreboot.
|
||||
BOARD=x230
|
||||
|
||||
#CONFIG_CRYPTSETUP=y
|
||||
#CONFIG_FLASHROM=y
|
||||
#CONFIG_GPG=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
#CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#CONFIG_XEN=y
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_IGB=y
|
||||
#CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_BOOTSCRIPT=/bin/generic-init
|
||||
|
||||
CONFIG_BOOT_REQ_HASH=n
|
||||
CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
CONFIG_BOOT_DEV="/dev/sda1"
|
||||
CONFIG_USB_BOOT_DEV="/dev/sdb1"
|
@ -1,3 +1,4 @@
|
||||
devtmpfs /dev devtmpfs defaults 0 0
|
||||
devpts /dev/pts devpts defaults 0 0
|
||||
sysfs /sys sysfs defaults 0 0
|
||||
proc /proc proc defaults 0 0
|
||||
|
1
initrd/etc/group
Normal file
1
initrd/etc/group
Normal file
@ -0,0 +1 @@
|
||||
root:x:0:
|
@ -1,5 +1,6 @@
|
||||
|
||||
[0;1;35;95m░░[0;1;31;91m░░[0;1;33;93m░░[0;1;32;92m░░[0;1;36;96m░░[0;1;34;94m░█[0;1;35;95m░█[0;1;31;91m░█[0;1;33;93m▀▀[0;1;32;92m░█[0;1;36;96m▀█[0;1;34;94m░█[0;1;35;95m▀▄[0;1;31;91m░█[0;1;33;93m▀▀[0;1;32;92m░░[0;1;36;96m░░[0;1;34;94m░░[0;1;35;95m░░[0;1;31;91m░█[0;1;33;93m▀▄[0;1;32;92m░█[0;1;36;96m▀█[0;1;34;94m░█[0;1;35;95m▀█[0;1;31;91m░▀[0;1;33;93m█▀[0;1;32;92m░░[0;1;36;96m░█[0;1;34;94m▀▄[0;1;35;95m░█[0;1;31;91m▀█[0;1;33;93m░█[0;1;32;92m▄█[0;1;36;96m░░[0;1;34;94m░░[0;1;35;95m░░[0;1;31;91m░░[0;1;33;93m░░[0m
|
||||
[0;1;31;91m░░[0;1;33;93m░░[0;1;32;92m░░[0;1;36;96m░░[0;1;34;94m░░[0;1;35;95m░█[0;1;31;91m▀█[0;1;33;93m░█[0;1;32;92m▀▀[0;1;36;96m░█[0;1;34;94m▀█[0;1;35;95m░█[0;1;31;91m░█[0;1;33;93m░▀[0;1;32;92m▀█[0;1;36;96m░░[0;1;34;94m░░[0;1;35;95m▀░[0;1;31;91m░░[0;1;33;93m░█[0;1;32;92m▀▄[0;1;36;96m░█[0;1;34;94m░█[0;1;35;95m░█[0;1;31;91m░█[0;1;33;93m░░[0;1;32;92m█░[0;1;36;96m░░[0;1;34;94m░█[0;1;35;95m▀▄[0;1;31;91m░█[0;1;33;93m░█[0;1;32;92m░█[0;1;36;96m░█[0;1;34;94m░░[0;1;35;95m░░[0;1;31;91m░░[0;1;33;93m░░[0;1;32;92m░░[0m
|
||||
[0;1;33;93m░░[0;1;32;92m░░[0;1;36;96m░░[0;1;34;94m░░[0;1;35;95m░░[0;1;31;91m░▀[0;1;33;93m░▀[0;1;32;92m░▀[0;1;36;96m▀▀[0;1;34;94m░▀[0;1;35;95m░▀[0;1;31;91m░▀[0;1;33;93m▀░[0;1;32;92m░▀[0;1;36;96m▀▀[0;1;34;94m░░[0;1;35;95m░░[0;1;31;91m▀░[0;1;33;93m░░[0;1;32;92m░▀[0;1;36;96m▀░[0;1;34;94m░▀[0;1;35;95m▀▀[0;1;31;91m░▀[0;1;33;93m▀▀[0;1;32;92m░░[0;1;36;96m▀░[0;1;34;94m░░[0;1;35;95m░▀[0;1;31;91m░▀[0;1;33;93m░▀[0;1;32;92m▀▀[0;1;36;96m░▀[0;1;34;94m░▀[0;1;35;95m░░[0;1;31;91m░░[0;1;33;93m░░[0;1;32;92m░░[0;1;36;96m░░[0m
|
||||
|
||||
_ _ _ __ _ _ _____ ____ _____
|
||||
| | | | ___ __ _ __| |___ / / | \ | | ____| _ \| ___|
|
||||
| |_| |/ _ \/ _` |/ _` / __| / / | \| | _| | |_) | |_
|
||||
| _ | __/ (_| | (_| \__ \ / / | |\ | |___| _ <| _|
|
||||
|_| |_|\___|\__,_|\__,_|___/ /_/ |_| \_|_____|_| \_\_|
|
||||
|
||||
|
1
initrd/etc/passwd
Normal file
1
initrd/etc/passwd
Normal file
@ -0,0 +1 @@
|
||||
root::0:0:root:/:/bin/ash
|
3
initrd/etc/shells
Normal file
3
initrd/etc/shells
Normal file
@ -0,0 +1,3 @@
|
||||
/bin/sh
|
||||
/bin/ash
|
||||
/bin/bash
|
40
initrd/init
40
initrd/init
@ -1,4 +1,10 @@
|
||||
#!/bin/ash
|
||||
mknod /dev/ttyprintk c 5 3
|
||||
echo "hello world" > /dev/ttyprintk
|
||||
|
||||
# Setup our path
|
||||
export PATH=/sbin:/bin
|
||||
|
||||
# This is the very first script invoked by the Linux kernel and is
|
||||
# running out of the ram disk. There are no fileysstems mounted.
|
||||
# It is important to have a way to invoke a recovery shell in case
|
||||
@ -7,21 +13,43 @@
|
||||
|
||||
# First thing it is vital to mount the /dev and other system directories
|
||||
mkdir /proc /sys /dev /tmp /boot /media 2>&- 1>&-
|
||||
mount /dev
|
||||
mount /proc
|
||||
mount /sys
|
||||
mount /dev 2>/dev/ttyprintk
|
||||
mount /proc 2>/dev/ttyprintk
|
||||
mount /sys 2>/dev/ttyprintk
|
||||
|
||||
# Setup the pty psudeo filesystem
|
||||
mkdir /dev/pts
|
||||
mount /dev/pts 2>/dev/ttyprintk
|
||||
|
||||
if [ ! -r /dev/ptmx ]; then
|
||||
ln -s /dev/pts/ptmx /dev/ptmx
|
||||
fi
|
||||
|
||||
# bring up the ethernet; maybe should do DHCP?
|
||||
insmod /lib/modules/igb.ko
|
||||
ifconfig eth0 192.168.1.99
|
||||
ifconfig eth0 > /dev/ttyprintk
|
||||
|
||||
# Setup 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
|
||||
|
||||
# Recovery shells will erase anything from here
|
||||
mkdir -p /tmp/secret
|
||||
|
||||
# Setup our path
|
||||
export PATH=/sbin:/bin
|
||||
|
||||
# Now it is safe to print a banner
|
||||
if [ -r /etc/motd ]; then
|
||||
cat /etc/motd
|
||||
cat /etc/motd > /dev/tty0
|
||||
fi
|
||||
|
||||
ifconfig eth0 | head -1 > /dev/tty0
|
||||
|
||||
# For now we just start a shell
|
||||
exec /bin/ash
|
||||
|
||||
# Load the date from the hardware clock, setting it in local time
|
||||
hwclock -l -s
|
||||
|
||||
|
@ -11,14 +11,20 @@ dropbear_configure := ./configure \
|
||||
$(CROSS_TOOLS) \
|
||||
--host i386-elf-linux \
|
||||
--prefix "/" \
|
||||
--disable-syslog \
|
||||
--disable-lastlog \
|
||||
--disable-utmp \
|
||||
--disable-utmpx \
|
||||
--disable-wtmp \
|
||||
--disable-wtmpx \
|
||||
|
||||
dropbear_config :=
|
||||
dropbear_output := ssh scp
|
||||
dropbear_output := ssh scp dropbear
|
||||
dropbear_target := \
|
||||
$(MAKE_JOBS) \
|
||||
$(CROSS_TOOLS) \
|
||||
DESTDIR="$(INSTALL)" \
|
||||
dbclient scp \
|
||||
dbclient scp dropbear \
|
||||
&& \
|
||||
cp $(build)/$(dropbear_dir)/dbclient $(build)/$(dropbear_dir)/ssh
|
||||
|
||||
|
@ -25,6 +25,9 @@ linux_modules-$(CONFIG_LINUX_E1000) += drivers/net/ethernet/intel/e1000/e1000.ko
|
||||
# x230
|
||||
linux_modules-$(CONFIG_LINUX_E1000E) += drivers/net/ethernet/intel/e1000e/e1000e.ko
|
||||
|
||||
# Dell R630
|
||||
linux_modules-$(CONFIG_LINUX_IGB) += drivers/net/ethernet/intel/igb/igb.ko
|
||||
|
||||
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/ehci-hcd.ko
|
||||
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/ehci-pci.ko
|
||||
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/xhci-hcd.ko
|
||||
|
16
patches/dropbear-2016.74.patch
Normal file
16
patches/dropbear-2016.74.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff --recursive -u ../clean/dropbear-2016.74/svr-chansession.c ./dropbear-2016.74/svr-chansession.c
|
||||
--- ../clean/dropbear-2016.74/svr-chansession.c 2016-07-21 11:17:09.000000000 -0400
|
||||
+++ ./dropbear-2016.74/svr-chansession.c 2017-09-19 11:01:34.889121503 -0400
|
||||
@@ -925,10 +925,10 @@
|
||||
if ((setgid(ses.authstate.pw_gid) < 0) ||
|
||||
(initgroups(ses.authstate.pw_name,
|
||||
ses.authstate.pw_gid) < 0)) {
|
||||
- dropbear_exit("Error changing user group");
|
||||
+ //dropbear_exit("Error changing user group");
|
||||
}
|
||||
if (setuid(ses.authstate.pw_uid) < 0) {
|
||||
- dropbear_exit("Error changing user");
|
||||
+ //dropbear_exit("Error changing user");
|
||||
}
|
||||
} else {
|
||||
/* ... but if the daemon is the same uid as the requested uid, we don't
|
396
patches/linux-4.9.38.patch
Normal file
396
patches/linux-4.9.38.patch
Normal file
@ -0,0 +1,396 @@
|
||||
diff --recursive -u ../clean/linux-4.9.38/arch/x86/boot/compressed/eboot.c ./linux-4.9.38/arch/x86/boot/compressed/eboot.c
|
||||
--- ../clean/linux-4.9.38/arch/x86/boot/compressed/eboot.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/arch/x86/boot/compressed/eboot.c 2017-09-19 14:55:16.395027896 -0400
|
||||
@@ -16,6 +16,73 @@
|
||||
#include "../string.h"
|
||||
#include "eboot.h"
|
||||
|
||||
+#if 0
|
||||
+#define PORT 0x3f8 /* COM1 */
|
||||
+
|
||||
+#define DLAB 0x80
|
||||
+
|
||||
+#define TXR 0 /* Transmit register (WRITE) */
|
||||
+#define RXR 0 /* Receive register (READ) */
|
||||
+#define IER 1 /* Interrupt Enable */
|
||||
+#define IIR 2 /* Interrupt ID */
|
||||
+#define FCR 2 /* FIFO control */
|
||||
+#define LCR 3 /* Line control */
|
||||
+#define MCR 4 /* Modem control */
|
||||
+#define LSR 5 /* Line Status */
|
||||
+#define MSR 6 /* Modem Status */
|
||||
+#define DLL 0 /* Divisor Latch Low */
|
||||
+#define DLH 1 /* Divisor latch High */
|
||||
+
|
||||
+static void early_serial_init(int port, int baud)
|
||||
+{
|
||||
+ unsigned char c;
|
||||
+ unsigned divisor;
|
||||
+
|
||||
+ outb(0x3, port + LCR); /* 8n1 */
|
||||
+ outb(0, port + IER); /* no interrupt */
|
||||
+ outb(0, port + FCR); /* no fifo */
|
||||
+ outb(0x3, port + MCR); /* DTR + RTS */
|
||||
+
|
||||
+ divisor = 115200 / baud;
|
||||
+ c = inb(port + LCR);
|
||||
+ outb(c | DLAB, port + LCR);
|
||||
+ outb(divisor & 0xff, port + DLL);
|
||||
+ outb((divisor >> 8) & 0xff, port + DLH);
|
||||
+ outb(c & ~DLAB, port + LCR);
|
||||
+}
|
||||
+
|
||||
+static int is_transmit_empty() {
|
||||
+ return inb(PORT + 5) & 0x20;
|
||||
+}
|
||||
+
|
||||
+static void write_serial(char a) {
|
||||
+ outb(a, PORT);
|
||||
+ while (is_transmit_empty() == 0);
|
||||
+}
|
||||
+
|
||||
+static void write_serial_string(const char * s)
|
||||
+{
|
||||
+ while(*s)
|
||||
+ write_serial(*s++);
|
||||
+}
|
||||
+
|
||||
+static void write_hex(unsigned long x, unsigned digits)
|
||||
+{
|
||||
+ while(digits-- > 0)
|
||||
+ {
|
||||
+ unsigned d = (x >> (digits * 4)) & 0xF;
|
||||
+ if (d >= 0xA)
|
||||
+ write_serial(d + 'A' - 0xA);
|
||||
+ else
|
||||
+ write_serial(d + '0');
|
||||
+ }
|
||||
+ write_serial('\r');
|
||||
+ write_serial('\n');
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+
|
||||
static efi_system_table_t *sys_table;
|
||||
|
||||
static struct efi_config *efi_early;
|
||||
@@ -249,6 +316,12 @@
|
||||
|
||||
void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str)
|
||||
{
|
||||
+#if 0
|
||||
+ while(*str)
|
||||
+ {
|
||||
+ write_serial((char) *str++);
|
||||
+ }
|
||||
+#else
|
||||
unsigned long output_string;
|
||||
size_t offset;
|
||||
|
||||
@@ -273,6 +346,7 @@
|
||||
|
||||
efi_early->call(*func, out, str);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
static efi_status_t
|
||||
@@ -739,8 +813,18 @@
|
||||
sys_table = (efi_system_table_t *)(unsigned long)efi_early->table;
|
||||
handle = (void *)(unsigned long)efi_early->image_handle;
|
||||
|
||||
+ if(!sys_table)
|
||||
+ {
|
||||
+ // We're NERFed and are the "DxeCore", so there is no system
|
||||
+ // table. The efi_config argument is actually the HobStart
|
||||
+ // pointer, but who cares about that stuff.
|
||||
+ // TODO: actually handle this case
|
||||
+ while(1)
|
||||
+ outb('!', 0x3f8);
|
||||
+ }
|
||||
+
|
||||
/* Check if we were booted by the EFI firmware */
|
||||
- if (sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE)
|
||||
+ if (!sys_table || sys_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE)
|
||||
return NULL;
|
||||
|
||||
if (efi_early->is64)
|
||||
@@ -751,7 +835,6 @@
|
||||
status = efi_call_early(handle_protocol, handle,
|
||||
&proto, (void *)&image);
|
||||
if (status != EFI_SUCCESS) {
|
||||
- efi_printk(sys_table, "Failed to get handle for LOADED_IMAGE_PROTOCOL\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1047,7 +1130,9 @@
|
||||
status = efi_exit_boot_services(sys_table, handle, &map, &priv,
|
||||
exit_boot_func);
|
||||
if (status != EFI_SUCCESS)
|
||||
+ {
|
||||
return status;
|
||||
+ }
|
||||
|
||||
e820ext = priv.e820ext;
|
||||
e820ext_size = priv.e820ext_size;
|
||||
@@ -1056,7 +1141,9 @@
|
||||
|
||||
status = setup_e820(boot_params, e820ext, e820ext_size);
|
||||
if (status != EFI_SUCCESS)
|
||||
+ {
|
||||
return status;
|
||||
+ }
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
diff --recursive -u ../clean/linux-4.9.38/arch/x86/boot/compressed/head_64.S ./linux-4.9.38/arch/x86/boot/compressed/head_64.S
|
||||
--- ../clean/linux-4.9.38/arch/x86/boot/compressed/head_64.S 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/arch/x86/boot/compressed/head_64.S 2017-09-19 13:41:47.715096617 -0400
|
||||
@@ -294,8 +294,12 @@
|
||||
jne 2f
|
||||
fail:
|
||||
/* EFI init failed, so hang. */
|
||||
+ mov $0x3f8, %dx /* ttyS0 */
|
||||
+ mov '@', %ax
|
||||
+fail_loop:
|
||||
+ outb %al, (%dx)
|
||||
hlt
|
||||
- jmp fail
|
||||
+ jmp fail_loop
|
||||
2:
|
||||
movl BP_code32_start(%esi), %eax
|
||||
leaq preferred_addr(%rax), %rax
|
||||
diff --recursive -u ../clean/linux-4.9.38/arch/x86/realmode/init.c ./linux-4.9.38/arch/x86/realmode/init.c
|
||||
--- ../clean/linux-4.9.38/arch/x86/realmode/init.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/arch/x86/realmode/init.c 2017-09-19 08:27:23.183585570 -0400
|
||||
@@ -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 --recursive -u ../clean/linux-4.9.38/drivers/acpi/acpica/evxfevnt.c ./linux-4.9.38/drivers/acpi/acpica/evxfevnt.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/acpica/evxfevnt.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/acpica/evxfevnt.c 2017-09-19 15:05:20.429486756 -0400
|
||||
@@ -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.38/drivers/acpi/acpica/hwacpi.c ./linux-4.9.38/drivers/acpi/acpica/hwacpi.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/acpica/hwacpi.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/acpica/hwacpi.c 2017-09-19 15:04:43.229254898 -0400
|
||||
@@ -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 --recursive -u ../clean/linux-4.9.38/drivers/acpi/acpica/tbfadt.c ./linux-4.9.38/drivers/acpi/acpica/tbfadt.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/acpica/tbfadt.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/acpica/tbfadt.c 2017-09-19 13:46:37.599809800 -0400
|
||||
@@ -344,6 +344,7 @@
|
||||
|
||||
/* Obtain the DSDT and FACS tables via their addresses within the FADT */
|
||||
|
||||
+#if 0 // NERF: the dsdt and facs tables will be updated later
|
||||
acpi_tb_install_standard_table((acpi_physical_address)acpi_gbl_FADT.
|
||||
Xdsdt,
|
||||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
@@ -367,6 +368,7 @@
|
||||
&acpi_gbl_xfacs_index);
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
diff --recursive -u ../clean/linux-4.9.38/drivers/acpi/acpica/tbxface.c ./linux-4.9.38/drivers/acpi/acpica/tbxface.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/acpica/tbxface.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/acpica/tbxface.c 2017-09-19 13:47:44.572900070 -0400
|
||||
@@ -136,7 +136,11 @@
|
||||
|
||||
rsdp_address = acpi_os_get_root_pointer();
|
||||
if (!rsdp_address) {
|
||||
- return_ACPI_STATUS(AE_NOT_FOUND);
|
||||
+// NERF: there is no root table since we came straight from DxeCore
|
||||
+printk("%s:%d No root table found, hoping for the best\n", __func__, __LINE__);
|
||||
+ return_ACPI_STATUS(0);
|
||||
+ //return_ACPI_STATUS(AE_NOT_FOUND);
|
||||
+ //rsdp_address = fake_rsdp;
|
||||
}
|
||||
|
||||
/*
|
||||
diff --recursive -u ../clean/linux-4.9.38/drivers/acpi/acpica/tbxfload.c ./linux-4.9.38/drivers/acpi/acpica/tbxfload.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/acpica/tbxfload.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/acpica/tbxfload.c 2017-09-19 13:49:14.358362302 -0400
|
||||
@@ -277,6 +277,7 @@
|
||||
acpi_status status;
|
||||
u8 flags;
|
||||
u32 table_index;
|
||||
+ union acpi_name_union * sig;
|
||||
|
||||
ACPI_FUNCTION_TRACE(acpi_install_table);
|
||||
|
||||
@@ -289,6 +290,30 @@
|
||||
status = acpi_tb_install_standard_table(address, flags,
|
||||
FALSE, FALSE, &table_index);
|
||||
|
||||
+ if (!ACPI_SUCCESS(status))
|
||||
+ return_ACPI_STATUS(status);
|
||||
+
|
||||
+ // NERF: the tables have been added *after* the root table
|
||||
+ // was looked for, so we have to update the global pointers
|
||||
+ // now that we have the actual tables.
|
||||
+ sig = &acpi_gbl_root_table_list.tables[table_index].signature;
|
||||
+
|
||||
+ if (ACPI_COMPARE_NAME(sig, ACPI_SIG_FADT)) {
|
||||
+ printk("%s: FADT index=%d\n", __func__, table_index);
|
||||
+ acpi_gbl_fadt_index = table_index;
|
||||
+ acpi_tb_parse_fadt();
|
||||
+ } else
|
||||
+ if (ACPI_COMPARE_NAME(sig, ACPI_SIG_FACS)) {
|
||||
+ printk("%s: FACS index=%d\n", __func__, table_index);
|
||||
+ acpi_gbl_facs_index = table_index;
|
||||
+ } else
|
||||
+ if (ACPI_COMPARE_NAME(sig, ACPI_SIG_DSDT)) {
|
||||
+ printk("%s: DSDT index=%d\n", __func__, table_index);
|
||||
+ acpi_gbl_dsdt_index = table_index;
|
||||
+ } else {
|
||||
+ // nothing special about this table
|
||||
+ }
|
||||
+
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
diff --recursive -u ../clean/linux-4.9.38/drivers/acpi/tables.c ./linux-4.9.38/drivers/acpi/tables.c
|
||||
--- ../clean/linux-4.9.38/drivers/acpi/tables.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/acpi/tables.c 2017-09-19 13:50:47.511879998 -0400
|
||||
@@ -475,7 +475,8 @@
|
||||
ACPI_SIG_SLIC, ACPI_SIG_SPCR, ACPI_SIG_SPMI, ACPI_SIG_TCPA,
|
||||
ACPI_SIG_UEFI, ACPI_SIG_WAET, ACPI_SIG_WDAT, ACPI_SIG_WDDT,
|
||||
ACPI_SIG_WDRT, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_PSDT,
|
||||
- ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, NULL };
|
||||
+ ACPI_SIG_RSDT, ACPI_SIG_XSDT, ACPI_SIG_SSDT, ACPI_SIG_FACS,
|
||||
+ NULL };
|
||||
|
||||
#define ACPI_HEADER_SIZE sizeof(struct acpi_table_header)
|
||||
|
||||
@@ -487,8 +488,18 @@
|
||||
|
||||
void __init acpi_table_upgrade(void)
|
||||
{
|
||||
+#if 0
|
||||
void *data = (void *)initrd_start;
|
||||
size_t size = initrd_end - initrd_start;
|
||||
+#else
|
||||
+ // NERF: The initramfs that is bundled with the kernel has
|
||||
+ // our tables in its cpio file. There is no boot loader to
|
||||
+ // set the initrd_start variable, so we have to use this one.
|
||||
+extern char __initramfs_start[];
|
||||
+extern unsigned long __initramfs_size;
|
||||
+ void *data = (void *)__initramfs_start;
|
||||
+ size_t size = __initramfs_size;
|
||||
+#endif
|
||||
int sig, no, table_nr = 0, total_offset = 0;
|
||||
long offset = 0;
|
||||
struct acpi_table_header *table;
|
||||
@@ -528,7 +539,11 @@
|
||||
cpio_path, file.name);
|
||||
continue;
|
||||
}
|
||||
- if (acpi_table_checksum(file.data, table->length)) {
|
||||
+
|
||||
+ // NERF: ignore checksum errors on FACS since it doesn't have one
|
||||
+ // but allow it to be added anyway.
|
||||
+ if (memcmp(table->signature, ACPI_SIG_FACS, 4) != 0
|
||||
+ && acpi_table_checksum(file.data, table->length)) {
|
||||
pr_err("ACPI OVERRIDE: Bad table checksum [%s%s]\n",
|
||||
cpio_path, file.name);
|
||||
continue;
|
||||
diff --recursive -u ../clean/linux-4.9.38/drivers/firmware/efi/vars.c ./linux-4.9.38/drivers/firmware/efi/vars.c
|
||||
--- ../clean/linux-4.9.38/drivers/firmware/efi/vars.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/drivers/firmware/efi/vars.c 2017-09-19 13:52:01.141079970 -0400
|
||||
@@ -429,6 +429,12 @@
|
||||
int efivar_init(int (*func)(efi_char16_t *, efi_guid_t, unsigned long, void *),
|
||||
void *data, bool duplicates, struct list_head *head)
|
||||
{
|
||||
+ // NERF: We do not have the EfiVars protocol, so none of these
|
||||
+ // routines will work. This avoids a possible kernel panic by
|
||||
+ // not calling the random pointers in the runtime services.
|
||||
+ printk("%s: not running\n", __func__);
|
||||
+ return 0;
|
||||
+
|
||||
const struct efivar_operations *ops = __efivars->ops;
|
||||
unsigned long variable_name_size = 1024;
|
||||
efi_char16_t *variable_name;
|
||||
diff --recursive -u ../clean/linux-4.9.38/init/initramfs.c ./linux-4.9.38/init/initramfs.c
|
||||
--- ../clean/linux-4.9.38/init/initramfs.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/init/initramfs.c 2017-09-19 13:53:34.002593777 -0400
|
||||
@@ -609,7 +609,7 @@
|
||||
{
|
||||
char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size);
|
||||
if (err)
|
||||
- panic("%s", err); /* Failed to decompress INTERNAL initramfs */
|
||||
+ panic("%s: %s", __func__, err); /* Failed to decompress INTERNAL initramfs */
|
||||
if (initrd_start) {
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
int fd;
|
||||
diff --recursive -u ../clean/linux-4.9.38/init/main.c ./linux-4.9.38/init/main.c
|
||||
--- ../clean/linux-4.9.38/init/main.c 2017-07-15 06:17:55.000000000 -0400
|
||||
+++ ./linux-4.9.38/init/main.c 2017-09-19 13:54:31.699534533 -0400
|
||||
@@ -954,7 +954,9 @@
|
||||
if (ramdisk_execute_command) {
|
||||
ret = run_init_process(ramdisk_execute_command);
|
||||
if (!ret)
|
||||
+ {
|
||||
return 0;
|
||||
+ }
|
||||
pr_err("Failed to execute %s (error %d)\n",
|
||||
ramdisk_execute_command, ret);
|
||||
}
|
||||
@@ -976,7 +978,9 @@
|
||||
!try_to_run_init_process("/etc/init") ||
|
||||
!try_to_run_init_process("/bin/init") ||
|
||||
!try_to_run_init_process("/bin/sh"))
|
||||
+ {
|
||||
return 0;
|
||||
+ }
|
||||
|
||||
panic("No working init found. Try passing init= option to kernel. "
|
||||
"See Linux Documentation/init.txt for guidance.");
|
Loading…
Reference in New Issue
Block a user