kernelyoctocmdline-args

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


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! :)


Solution

  • 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! :)