简体   繁体   中英

How to boot with memmap kernel option in Linux UEFI?

Using various Linux distributions with UEFI support none of them seem to work with the memmap kernel parameter(trying it on a MacBook Air A1370). I'm using the following parameter:

memmap=100M$200M

Same install media and parameter works well in non UEFI laptop(testing a Lenovo Thinkpad X220 works perfectly top reports the reduced memory size).

UEFI-booted system uses memory map provided by UEFI, not E820 memory map, which can be altered by memmap kernel parameter.

If Compatibility Support Module (ie legacy BIOS compatibility layer) is enabled, legacy E820 memory map is also provided, but since the OS is booted in UEFI mode, it just doesn't use that legacy memory map, that is why you can't see your changes.

To achieve the goal you need to develop a proxy driver that will be loaded before linux kernel and will alter UEFI memory map the way you wish. One particular example of such proxies is OsxAptioFix2Drv from Clover Project .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM