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

491 Views Asked by At

I need to disable IO-APIC kernel option in a new custom-bsp-layer for a machine based on 'meta-intel' of the Yocto 'rocko' branch. To do that I need to add "noapic" option to the Linux kernel cmdline.

I have tested adding different options to mymachine.conf file:

Option a)
MACHINE_FEATURES += "noapic"

Option b)
APPEND += "noapic"

But none is working as expected. When I dump the core-image-minimal-mymachine.wic image generated to my USB-pendrive (using dd), grub.cfg file generated in the EFI partition doesn't include noapic option:

$ 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
}

How should be fixed this issue? Thank you in advance! :)

1

There are 1 best solutions below

0
On BEST ANSWER

Finally I fixed this issue.

To fix the issue, a file named mkefidisk.wks is created inside my custom-bsp-layer directory, replacing the version of this file in the poky layer. So, basically, you need to create exactly the same path into your custom bsp layer:

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

That file has customized contents:

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"

As you can see, 'noapic' option is added at the end of "bootloader" line. After generating my core-image-minimal-mymachine.wic image (again), everything is working as expected! Yeah! xD

More info on this can be found here:

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

Hope this helps somebody else! :)