当前位置:首页 » 操作系统 » efi源码

efi源码

发布时间: 2022-09-05 05:06:01

Ⅰ 求linux下命令的源代码,

1.ash
(1)简介
ash --a shell
这是由Kenneth Almquist在1989年编写的,ash是Linux下的许多命令解释器中的一个,它的许多特性接近于SYSTEM V的shell。
(2)部分参数说明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 参数 ]
-c 命令:若用-c参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
-s:若用-s参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
如果不跟-c -s参数则ash以所跟的第一个参数为文件名,从此文件中读入命令。如无参数则ash缺省设定-s参数,从标准输入中读入命令,直到输入exit。
如果参数0的第一个字母是"-"则ash确定为login shell,ash将从/etc/profile或用户的根目录中的.profile读入相应的设置和环境变量。
-e:若用-e参数,则ash执行命令后返回值为非零值时则退出ash。
-f:若用-f参数,则ash关闭自动产生文件名功能。
-j:打开伯克利UNIX风格的工作控制。
-n:读入命令但是并不执行。
(3)范例
ash -c ls
ash执行ls这个命令后退回原先的目录和shell。
ash -s
ash执行一个新的shell,现在可以在这个shell中工作,按(Ctrl-D)或输入exit后,则退回原先的目录和shell,所设定的环境变量返回原先的值。
2.at
(1)简介
at,batch,atq,atrm:安排、检查、删除队列中的工作。
由Thomas Koenig编写。
(2)部分参数说明
at [-V] [-q队列] [-f文件名] [-mldbv] 时间
at -c 作业 [作业…]
atq [-V] [-q队列] [-v]
atrm [-V] 作业 [作业…]
batch [-V] [-q队列] [-f文件名] [-mv] [时间]
at在设定的时间执行作业。
atq列出用户排在队列中的作业,如果是超级用户,则列出队列中的所有工作。
atrm删除队列中的作业。
batch用低优先级运行作业,只要系统的loadavg(系统平均负载)<1.5(或者在atrun中设定的值)它就开始执行作业。
-V:若用-V参数,则显示版本号到标准错误输出。
-q队列:若用-q参数,则指定可选队列名称,队列名称可以是a到z或A到Z之间的任意字母。at的缺省队列名是c,batch的缺省队列名是E,队列的字母顺序越高,则队列的优先级越低。如果是大写字母的话则提交给batch,如果atq使用-q参数,则只显示这个队列中的作业。
-m:执行完作业后即使此作业并没有输也给提交作业的用户发送提示mail。
-f文件名:从文件中读取作业。
-l:等于atq。
-d:等于atrm。
-b:等于batch。
时间:这是用户设定的作业开始执行的时间。时间的格式分成三个部分:时间、日期、偏移量。可接受的时间形式是HHMM或HH:MM,在一天中指定的时间运行,如果时间过去了就在第二天执行。可以在时间后加入AM或PM使其在上午或下午运行,也可以指定在哪一天执行,给出日期的格式应为MMDDYY或MM/DD/YY或MM.DD.YY,也可以给出偏移量:
时间+计数时间间隔
时间间隔可以是minutes,hours,days,weeks。
也可以指定today让作业在今天执行,指定tommorow让作业在明天执行。
(3)注意事项
如果没有指定-f选项,是at从标准输入读入所有的命令,所以可以通过管道、重定向或交互输入来输入命令。
超级用户可以在任何情况下使用at系列的命令。一般用户使用at系列命令的权利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,则只有列在这个文件中的用户才能使用at系列的命令。如果/etc/at.allow文件不存在,则检查/etc/at.deny这个文件。只要不列在这个文件中的用户都可以使用at系列的命令。缺省的配置是/etc/at.deny,是一个空文件,这表明所有的用户都可以使用at系列的命令。
(4)范例
at -f work 4pm + 3 days
在三天后下午4点执行文件work中的作业。
at -f work 10am Jul 31
在七月31日上午10点执行文件work中的作业。
3.banner
banner:打印大标题。
banner在标准输出上打印高质量的标题,如果没有输入要打印的文字,则其等待从标准输入输入一行文字。其标题由"*"组成。由Mark Horton编写。
(2)部分参数说明
/usr/bin/banner [ -wn ]信息
-w宽度 输出宽度从131到n,n缺省为80列。
(3)注意事项
不能打印字符:< ,>,[,],\,^,_,{,},|,-。信息长度为10个英文字符,如果用空格分开字符串,还是连续打印字符串,两个字符串可以被括在引号(")中。这命名banner把这些字任串置于同一行中。
4.bash
(1)简介
bash:GNU Bourne-Again Shell
自由软件基金会(Free Software Foundation Inc)拥有bash版权。
bash是Linux下的许多命令解释器中的一个,同sh兼容,并且包含了ksh和csh中一些有用的特性。遵从IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。

Ⅱ 华硕P8H61 Plus升级bios时,文件不是EFI BIOS

EFIBIOS都是由一个个FFS文件构成的。
根据FFS文件头部信息,就知道它的GUID了,结合源码就知道它属于哪个模块了。
华硕以持续不断的创新与精湛独到的美学语汇,来创造独一无二的数位生活体验。

Ⅲ windows7 32位于64位原版镜像的区别

有关Win7系统镜像文件32位和64位的区别,主要有以下几点:
一、处理数据的能力
32位计算机的CPU一次最多能处理32位数据,例如它的EAX寄存器就是32位的,当然32位计算机通常也可以处理16位和8位数据。64为计算机一次处理数据要比32位大得多,一次运行64位的数据。
二、支持的内存不同(寻址能力不同)
32位 的系统最多支持4G的内存,而64位则可以支持上百G的内存。
三、架构不同
从 32位到 64 位架构的改变是一个根本的改变,因为大多数操作系统必须进行全面性修改,以取得新架构的优点。其它软件也必须进行移植,以使用新的性能;较旧的软件一般可借由硬件兼容模式(新的处理器支持较旧的 32 位版本指令集)或软件模拟进行支持。或者直接在 64 位处理器里面实作 32 位处理器内核(如同 Intel 的 Itanium 处理器,其内含有 x86 处理器内核,用来执行 32 位 x86 应用程序)。支持 64 位架构的操作系统,一般同时支持 32 位和 64 位的应用程序。
四、对配置的要求不同
64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。

Ⅳ 内核源码中 有efi文件的是否代表内核支持efi启动

linux内核可以直接作为EFI启动。
原来Fedora就是直接EFI启动,设置GRUB2 的timeout=0,所以开机直接Fedora的LOGO,然后进入Xwindows登录。
有的是固态SSD,几乎4秒左右就开机了。

Ⅳ 扩展名是.efi的文件是什么文件

什么是 EFI?
如果回想一下 DOS 编程的时代,您可能还记得使用软件中断进行 BIOS 调用。PC BIOS 是 PC 硬件的低级别抽象,这种方式提供了从显示 ASCII 字符到 RS-232 I/O 等范围广泛的服务。在此后的十年或更长时间里,在 PC BIOS 的体系结构方面,或在提供给应用程序和 OS 开发人员的服务方面,基本上没有多少更改。由于 Intel 最近提供的“可扩展固件接口”(EFI),所有这些已经改变。

EFI 是 Intel 为全新类型的 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务。可以从 http://developer.intel.com/technology/efi 中“Specifications”超级链接下面下载 EFI 标准文档本身。EFI 的参考实现(包含用于 x86 处理器的源代码)也可以在相同 URL 的“Tools”超级链接下面得到。该参考实现运行在使用标准 BIOS 的现有旧式 PC 上,实际上可以构建为在重新启动 PC 时直接从软盘加载。这样,即使您的 PC 不支持 EFI,也可以开始目前的 EFI 实验。

Ⅵ 请教有关EFI BIOS模块的GUID 问题

楼主可以尝试分析一下这个区间内含有几个FFS文件。
因为EFI BIOS都是由一个个FFS文件构成的。

根据FFS文件头部信息,就知道它的GUID了,结合源码就知道它属于哪个模块了。

Ⅶ efi文件夹可以删除吗

可以直接删除的

EFI里的是启动文件。用于GPT分区,UEFI启动的机器。如果是UEFI安装的机器的话,EFI文件夹的内容在EFI分区里也会有一份的。如果出现需要管理员权限才能删除的话,可以先为右键菜单添加“管理员取得所有权”后才能删除哦。

其实EFI文件夹占用的空间也很小,没有什么必要删除,如果非要把EFI文件夹删除掉的话直接删除就可以了对电脑是没有任何影响的。

(7)efi源码扩展阅读

电脑文件的分类:

1、系统文件,这是指由系统软件构成的文件。大多数的系统文件只允许用户调用,但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。

2、用户文件,用户的源代码、目标文件、可执行文件或数据等所构成的文件。用户将这些文件委托给系统保管。

3、库文件,这是由标准子例程及常用的例程等所构成的文件。这类文件允许用户调用,但不允许修改。

Ⅷ 第五章 UEFI 的基础服务

[TOC]

系统表是重要的数据接口之一,是用户空间通往内核空间的通道。

(1)在应用程序和驱动中访问系统表

系统表是 UEFI 内核的一个全局结构体,其指针作为程序映像入口函数的参数传递到用户空间。程序映像(包括 UEFI 应用程序、DXE 驱动程序、UEFI 驱动程序)的入口函数有统一的格式,函数原型如下:

(2)系统表指针从内核传递到用户空间的过程

程序映像的入口函数通常是 _MoleEntryPoint。当应用程序或驱动加载到内存形成 Image 后,_MoleEntryPoint 函数地址被赋值给 Image 对象的 EntryPoint,然后 Image->EntryPoint 会被执行,最终会从 Image 的入口函数 _MoleEntryPoint 执行到模块的入口函数。

系统表可分为以下6个部分

系统表数据结构:

UEFI 中的表通常都以 EFI_TABLE_HEADER 开头,数据结构如下:

这三个控制台设备以及 ConIn、ConOut、StdErr 三个 Protocol 在驱动 ConSplitterDxe 中被初始化。

ConfigurationTable 是系统配置表,指向 EFI_CONFIGUTATION_TABLE 数组,数组中每一项是一个表,这个表的数据结构如下:

在 UEFI 中只有一个地址空间,所有程序都运行在 RING0 优先级,应用程序地址空间(用户空间)占用 UEFI 地址空间的一部分。

系统表的地址可以通过模块的入口函数的参数得到。示例:

上面示例中的模块入口函数 UefiMain 中使用传入的参数 SystemTable 访问系统表。EDK2 为了方便开发者,提供了 UefiBootServicesTableLib,在 UefiLib 定义了全局变量 gST
、gBS、gImageHandle。这三个全局变量在函数 中被初始化,该函数是库 UefiBootServicesTableLib 的构造函数,在 AutoGen.c 中的 ProcessLibraryConstructorList 被调用,而 ProcessLibraryConstructorList 是在 UefiMain 之前被调用的。

构造函数 源码:

gST 变量是定义在用户空间的变量,而它指向的系统表定义在 UEFI 内核中。在应用程序或驱动工程文件的 [LibraryClasses] 里引用 UefiBootServicesTableLib 后,就可以使用 gST 访问系统表了。示例:

其实就是使用 gST 和 gBS 替换掉 SystemTable 和 SystemTable->BootServices。

启动服务是 UEFI 的核心数据结构,可以分为以下几类:UEFI 事件服务、内存管理服务、Protocol 管理服务、Protocol 使用类服务、驱动管理服务、Image 管理服务、ExitBootServices、其他服务。

启动服务由 UEFI 表头和表项组成,表中每一项是一个函数指针,该函数用于提供一项服务。

事件是异步操作的基础,使得在 UEFI 系统内可以执行并发操作。UEFI 事件服务包含事件(Event)、定时器(Timer)、任务优先级(TPL)三类服务。

详见第六章。

内存管理服务主要提供内存的分配与释放服务、管理系统内存映射。主要包括:AllocatePages、FreePages、AllocatePool、FreePool、GetMemoryMap。

AllocatePool/FreePool 用法

AllocatePool 和 FreePool 服务函数原型:

枚举类型 EFI_MEMORY_TYPE:

调用 gBS->ExitBootServices 之后, EfiBootServicesCode 和 EfiBootServicesData 类型内存被回收;EfiLoaderCode 和 EfiLoaderData 由 OS Loader 和操作系统决定是否回收;EfiACPIReclaimMemory 类型内存在 APCI 启用后被回收;其他类型内存保留。

AllocatePages/FreePages 用法

内存和驱动开发中经常会要求分配到的内存不得跨页,或需要分配完整的内存页,为此提供了分配页的服务 AllocatePages。

AllocatePages 和 FreePages 服务函数原型:

枚举类型 EFI_AlLOCATE_TYPE

GetMemoryMap 用法

GetMemoryMap 用于取得系统中所有的内存映射。

GetMemoryMap 服务函数原型:

EFI_MEMORY_DESCRIPTOR 数据结构

Protocol 管理服务提供安装与卸载 Protocol 的服务,以及注册 Protocol 通知函书(安装时调用)的服务。

详见第八章、第九章。

Protocol 使用类服务包括 Protocol 的打开与关闭,查找支持 Protocol 的控制器,主要提供 Protocol 使用者使用。

详见第四章。

驱动管理服务包括将驱动安装到控制器的 connect 服务和将驱动从控制器上卸载的 disconnect 服务。

详见第九章。

Image 管理服务包括加载、卸载、启动、退出 UEFI 应用程序或驱动。

启动服务中的 Image 管理服务

ExitBootService 用于结束启动服务,该服务成功返回后,系统进入 RT 期。操作系统加载器从启动服务接过对计算机系统的控制权后必须调用该服务。

启动服务中的其他服务

从进入 DXE 阶段运行时服务被初始化,直到操作系统结束,运行时服务都一直存在并向上层提供服务。运行时服务主要包括:时间服务、读写系统变量、虚拟内存服务、其他服务。

时间服务包括:读取 / 设置硬件事件、读取 / 设置唤醒定时器。

GetTime/SetTime

计算机硬件时钟由单独的电池供电,操作系统启动时通过读取硬件时钟获得事件。

GetTime/SetTime 服务函数原型:

时钟性能用 EFI_TIME_CAPABILITIES 表示:

GetWakeupTime/SetWakeupTime

GetWakeupTime 用于读取唤醒定时器的状态,SetWakeupTime 用于启用或禁用唤醒定时器。

GetWakeupTime/SetWakeupTime 服务函数原型:

UEFI 系统变量服务包括:GetVariable、SetVariable、GetNextVariableName。

GetVariable 用法

GetVariable 用于根据变量名获取变量值和属性。

GetVariable 服务函数原型:

SetVariable 用法

SetVariable 有三项功能:新建、更新、删除变量。

SetVariable 服务函数原型:

GetNextVariableName 用法

GetNextVariableName 用于获取下一个系统变量,通过这个服务可以遍历系统中的变量。

GetNextVariableName 服务函数原型:

要启动搜索(获得第一个变量),需要 VariableName 指向空字符串。

虚拟内存服务包括:SetVirtualAddressMap 和 ConvertPointer。这两个服务只有在运行时期间被操作系统加载器调用。

调用流程:

SetVirtualAddressMap/ConvertPointer 服务函数原型:

*Address 作为输入参数时是物理地址,作为输出参数时返回对应的虚拟地址。ConvertPointer 通过查询系统的内存映射表计算出给定物理地址的虚拟地址。当 DebugDispositon 设置了 EFI_OPTION_PTR 标志时,输入参数 *Address 允许为空。

Ⅸ 下面哪个命令是用来定义shell的全局变量

定义shell的全局变量用export命令。

它可以用于导出全局变量 。在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

(9)efi源码扩展阅读:

用途

使用用户的缺省凭证和环境执行 shell。

在UEFI环境下,EFI的Shell环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的DOS界面将会被SHELL环境所取代,所有的.exe文件将不会在以后支持SHELL的环境中出现,取而代之的文件后缀是.efi。

在SHELL环境下,分为IA32和X64,32位的*.efi文件不能在X64的计算机中运行。

shell 命令

常用命令

cat 文件名 输出文件内容到基本输出(屏幕 or 加>fileName 到另一个文件)

cb 格式化源代码

chmod //change mode,改变文件的权限

cp

date 当前的时间和日期

echo $abc 在变量赋值之后,只需在变量前面加一个$去引用.

lint语法检查程序。

Ⅹ 技术问题

Code maturity level options
代码成熟度选项

Prompt for development and/or incomplete code/drivers
显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择

General setup
常规设置

Local version - append to kernel release
在内核版本后面加上自定义的版本字符串(小于64字符),可以用"uname -a"命令看到
Automatically append version information to the version string
自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持
Support for paging of anonymous memory (swap)
使用交换分区或者交换文件来做为虚拟内存
System V IPC
System V进程间通信(IPC)支持,许多程序需要这个功能.必选,除非你知道自己在做什么

IPC Namespaces
IPC命名空间支持,不确定可以不选

POSIX Message Queues
POSIX消息队列,这是POSIX IPC中的一部分
BSD Process Accounting
将进程的统计信息写入文件的用户级系统调用,主要包括进程的创建时间/创建者/内存占用等信息

BSD Process Accounting version 3 file format
使用新的第三版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式

Export task/process statistics through netlink
通过netlink接口向用户空间导出任务/进程的统计信息,与BSD Process Accounting的不同之处在于这些统计信息在整个任务/进程生存期都是可用的

Enable per-task delay accounting
在统计信息中包含进程等候系统资源(cpu,IO同步,内存交换等)所花费的时间

UTS Namespaces
UTS名字空间支持,不确定可以不选
Auditing support
审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计

Enable system-call auditing support
支持对系统调用的审计

Kernel .config support
把内核的配置信息编译进内核中,以后可以通过scripts/extract-ikconfig脚本来提取这些信息

Enable access to .config through /proc/config.gz
允许通过/proc/config.gz访问内核的配置信息

Cpuset support
只有含有大量CPU(大于16个)的SMP系统或NUMA(非一致内存访问)系统才需要它
Kernel->user space relay support (formerly relayfs)
在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口
Initramfs source file(s)
initrd已经被initramfs取代,如果你不明白这是什么意思,请保持空白
Optimize for size (Look out for broken compilers!)
编译时优化内核尺寸(使用"-Os"而不是"-O2"参数编译),有时会产生错误的二进制代码
Enable extended accounting over taskstats
收集额外的进程统计信息并通过taskstats接口发送到用户空间
Configure standard kernel features (for small systems)
配置标准的内核特性(为小型系统)

Enable 16-bit UID system calls
允许对UID系统调用进行过时的16-bit包装
Sysctl syscall support
不需要重启就能修改内核的某些参数和变量,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核行为的参数或变量
Load all symbols for debugging/kksymoops
装载所有的调试符号表信息,仅供调试时选择

Include all symbols in kallsyms
在kallsyms中包含内核知道的所有符号,内核将会增大300K
Do an extra kallsyms pass
除非你在kallsyms中发现了bug并需要报告这个bug才打开该选项

Support for hot-pluggable devices
支持热插拔设备,如usb与pc卡等,Udev也需要它
Enable support for printk
允许内核向终端打印字符信息,在需要诊断内核为什么不能运行时选择
BUG() support
显示故障和失败条件(BUG和WARN),禁用它将可能导致隐含的错误被忽略
Enable ELF core mps
内存转储支持,可以帮助调试ELF格式的程序
Enable full-sized data structures for core
在内核中使用全尺寸的数据结构.禁用它将使得某些内核的数据结构减小以节约内存,但是将会降低性能
Enable futex support
快速用户空间互斥体可以使线程串行化以避免竞态条件,也提高了响应速度.禁用它将导致内核不能正确的运行基于glibc的程序
Enable eventpoll support
支持事件轮循的系统调用
Use full shmem filesystem
启用shmem支持.shmem是基于共享内存的文件系统(可能用到swap),在启用TMPFS后可以挂载为tmpfs供用户空间使用,它比简单的ramfs先进许多
Use full SLAB allocator
使用SLAB完全取代SLOB进行内存分配,SLAB是一种优秀的内存分配管理器,推荐使用
Enable VM event counters for /proc/vmstat
允许在/proc/vmstat中包含虚拟内存事件记数器

Loadable mole support
可加载模块支持

Enable loadable mole support
打开可加载模块支持,如果打开它则必须通过"make moles_install"把内核模块安装在/lib/moles/中

Mole unloading
允许卸载已经加载的模块

Forced mole unloading
允许强制卸载正在使用中的模块(比较危险)

Mole versioning support
允许使用其他内核版本的模块(可能会出问题)
Source checksum for all moles
为所有的模块校验源码,如果你不是自己编写内核模块就不需要它
Automatic kernel mole loading
让内核通过运行modprobe来自动加载所需要的模块,比如可以自动解决模块的依赖关系

Block layer
块设备层

Enable the block layer
块设备支持,使用硬盘/USB/SCSI设备者必选

Support for Large Block Devices
仅在使用大于2TB的块设备时需要
Support for tracing block io actions
块队列IO跟踪支持,它允许用户查看在一个块设备队列上发生的所有事件,可以通过blktrace程序获得磁盘当前的详细统计数据
Support for Large Single Files
仅在可能使用大于2TB的文件时需要
IO Schelers
IO调度器

Anticipatory I/O scheler
适用于大多数环境,但不太合适数据库应用
Deadline I/O scheler
通常与Anticipatory相当,但更简洁小巧,更适合于数据库应用
CFQ I/O scheler
为所有进程分配等量的带宽,适合于桌面多任务及多媒体应用
Default I/O scheler
默认IO调度器

Processor type and features
中央处理器(CPU)类型及特性

Symmetric multi-processing support
对称多处理器支持,如果你有多个CPU或者使用的是多核CPU就选上.此时"Enhanced Real Time Clock Support"选项必须开启,"Advanced Power Management"选项必须关闭
Subarchitecture Type
处理器的子架构,大多数人都应当选择"PC-compatible"
Processor family
处理器系列,请按照你实际使用的CPU选择
Generic x86 support
通用x86支持,如果你的CPU能够在上述"Processor family"中找到就别选
HPET Timer Support
HPET是替代8254芯片的新一代定时器,i686及以上级别的主板都支持,可以安全的选上
Maximum number of CPUs
支持的最大CPU数,每增加一个内核将增加8K体积
SMT (Hyperthreading) scheler support
支持Intel的超线程(HT)技术
Multi-core scheler support
针对多核CPU进行调度策略优化
Preemption Model
内核抢占模式

No Forced Preemption (Server)
适合服务器环境的禁止内核抢占
Voluntary Kernel Preemption (Desktop)
适合普通桌面环境的自愿内核抢占
Preemptible Kernel (Low-Latency Desktop)
适合运行实时程序的主动内核抢占

Preempt The Big Kernel Lock
可以抢占大内核锁,应用于实时要求高的场合,不适合服务器环境
Machine Check Exception
让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)

Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
每5秒检测一次这些cpu的非致命错误并纠正它们,同时记入日志
check for P4 thermal throttling interrupt
当P4的cpu过热时显示一条警告消息

Enable VM86 support
虚拟X86支持,在DOSEMU下运行16-bit程序或XFree86通过BIOS初始化某些显卡的时候才需要
Toshiba Laptop support
Toshiba笔记本模块支持
Dell laptop support
Dell笔记本模块支持
Enable X86 board specific fixups for reboot
修正某些旧x86主板的重起bug,这种主板基本绝种了
/dev/cpu/microcode - Intel IA32 CPU microcode support
使用不随Linux内核发行的IA32微代码,你必需有IA32微代码二进制文件,仅对Intel的CPU有效
/dev/cpu/*/msr - Model-specific register support
在多cpu系统中让特权CPU访问x86的MSR寄存器
/dev/cpu/*/cpuid - CPU information support
能从/dev/cpu/x/cpuid获得CPU的唯一标识符(CPUID)
Firmware Drivers
固件驱动程序

BIOS Enhanced Disk Drive calls determine boot disk
有些BIOS支持从某块特定的硬盘启动(如果BIOS不支持则可能无法启动),目前大多数BIOS还不支持
BIOS update support for DELL systems via sysfs
仅适用于DELL机器
Dell Systems Management Base Driver
仅适用于DELL机器

High Memory Support
最高内存支持,总内存小于等于1G的选"off",大于4G的选"64G"
Memory split
如果你不是绝对清楚自己在做什么,不要改动这个选项
Memory model
一般选"Flat Memory",其他选项涉及内存热插拔
64 bit Memory and IO resources
使用64位的内存和IO资源
Allocate 3rd-level pagetables from highmem
在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存
Math emulation
数学协处理器仿真,486DX以上的cpu就不要选它了
MTRR (Memory Type Range Register) support
打开它可以提升PCI/AGP总线上的显卡2倍以上的速度,并且可以修正某些BIOS错误
Boot from EFI support
EFI是一种可代替传统BIOS的技术(目前的Grub/LILO尚不能识别它),但是现在远未普及
Enable kernel irq balancing
让内核将irq中断平均分配给多个CPU以进行负载均衡,但是要配合irqbanlance守护进程才行
Use register arguments
使用"-mregparm=3"参数编译内核,将前3个参数以寄存器方式进行参数调用,可以生成更紧凑和高效的代码
Enable seccomp to safely compute untrusted bytecode
只有嵌入式系统可以不选
Timer frequency
内核时钟频率,桌面推荐"1000 HZ",服务器推荐"100 HZ"或"250 HZ"
kexec system call
提供kexec系统调用,可以不必重启而切换到另一个内核
kernel crash mps
被kexec启动后产生内核崩溃转储
Physical address where the kernel is loaded
内核加载的物理地址,除非你知道自己在做什么,否则不要修改.在提供kexec系统调用的情况下可能要修改它
Support for hot-pluggable CPUs
对热插拔CPU提供支持
Compat VDSO support
如果Glibc版本大于等于2.3.3就不选,否则就选上

更多问题请点这里:http://www.chinaunix.net/jh/4/885597.html

热点内容
linux怎么将驱动编译进内核 发布:2024-05-19 10:23:47 浏览:767
c语言读程序题 发布:2024-05-19 10:13:52 浏览:674
新的安卓手机怎么样下载微信 发布:2024-05-19 10:05:06 浏览:878
加9的算法 发布:2024-05-19 10:04:15 浏览:263
新名图配置怎么样 发布:2024-05-19 09:31:30 浏览:94
php获取子节点 发布:2024-05-19 09:21:18 浏览:160
php生成html 发布:2024-05-19 09:20:24 浏览:795
keil编译步骤 发布:2024-05-19 08:58:12 浏览:702
ipad有哪些好用的c语言编译器 发布:2024-05-19 08:41:56 浏览:767
征途手游版脚本 发布:2024-05-19 08:38:11 浏览:165