Executable file formats / Emulations 可执行文件格式/仿真

优质
小牛编辑
134浏览
2023-12-01

Executable file formats / Emulations
可执行文件格式/仿真

Kernel support for ELF binaries
CONFIG_BINFMT_ELF
ELF是最常用的跨平台二进制文件格式,支持动态连接,支持不同的硬件平台,支持不同的操作系统.必选,除非你知道自己在做什么.
Write ELF core dumps with partial segments
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS
如果你打算在此Linux上开发应用程序或者帮助别人调试bug,那么就选"Y",否则选"N".注意这里的调试和开发不是指内核调试和开发,是应用程序的调试和开发.
Kernel support for scripts starting with #!
CONFIG_BINFMT_SCRIPT
支持以"#!/path/to/interpreter"行开头的脚本.务必"Y",不要"M"或"N",除非你知道自己在做什么.
Kernel support for MISC binaries
CONFIG_BINFMT_MISC
允许插入二进制封装层到内核中,直接运行Java,.NET(Mono-based),Python,Emacs-Lisp等语言编译的二进制程序时需要它,DOSEMU也需要它.想要更方便的使用此特性(指定特定类型的文件用特定的程序打开),你还需要使用"mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc"挂载binfmt_misc伪文件系统.具体详情可以参考"Documentation/binfmt_misc.txt"文档.
Enable core dump support
CONFIG_COREDUMP
核心转储(core dump)支持.如果你打算在此Linux上开发应用程序或者帮助别人调试bug,那么就选"Y",否则选"N".注意这里的调试和开发不是指内核调试和开发,是应用程序的调试和开发.
IA32 Emulation
CONFIG_IA32_EMULATION
允许在64位内核中运行32位代码.除非你打算使用纯64位环境,否则请开启此项.提示:GRUB2支持引导纯64位内核,但是GRUB不支持.
IA32 a.out support
CONFIG_IA32_AOUT
早期UNIX系统的可执行文件格式(32位),目前已经被ELF格式取代.除非你需要使用古董级的二进制程序.否则请关闭.
x32 ABI for 64-bit mode
CONFIG_X86_X32
允许32位程序(32位指针)使用完整的64位寄存器,以减小内存占用(memory footprint).初衷是为了提高32位程序的运行性能,但实际在嵌入式X86环境中并无存在感,而对于非嵌入式X86环境又没有存在的意义,并且此特性未来会被删除.仅在你确实知道必须使用此特性时选"Y",否则就选"N".