Yocto:如何在 machine.conf 文件中禁用 IO-APIC?

Yocto: howto disable IO-APIC in a machine.conf file?

我需要在基于 Yocto 'rocko' 分支的 'meta-intel' 的机器的新自定义 bsp 层中禁用 IO-APIC 内核选项。为此,我需要将 "noapic" 选项添加到 Linux 内核命令行。

我测试过向 mymachine.conf 文件添加不同的选项:

Option a)
MACHINE_FEATURES += "noapic"

Option b)
APPEND += "noapic"

但是 none 正在按预期工作。当我将生成的 core-image-minimal-mymachine.wic 图像转储到我的 USB-pendrive(使用 dd)时,EFI 分区中生成的 grub.cfg 文件不包括 noapic 选项:

$ cat efi/EFI/BOOT/grub.cfg

default=boot
timeout=5
menuentry 'boot'{
    linux /bzImage root=PARTUUID=b38fcded-b1fa-45bb-a037-cf8648a25e99 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty0
}

应该如何解决这个问题?先感谢您! :)

我终于解决了这个问题。

为了解决这个问题,在我的 custom-bsp-layer 目录中创建了一个名为 mkefidisk.wks 的文件,替换了 poky 层中该文件的版本。所以,基本上,您需要在自定义 bsp 层中创建完全相同的路径:

custom-bsp-layer/scripts/lib/wic/canned-wks/mkefidisk.wks

该文件有自定义内容:

part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024

part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid

part swap --ondisk sda --size 44 --label swap1 --fstype=swap

bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=ttyS0,115200 console=tty0 noapic"

如您所见,'noapic' 选项添加在 "bootloader" 行的末尾。在生成我的 core-image-minimal-mymachine.wic 图像(再次)之后,一切都按预期工作!是的! xD

可在此处找到更多相关信息:

http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#wic-plug-ins-interface

希望这对其他人有帮助! :)