[kernel][ltp][epic][grub] General solution for handling kernel parameters (debug_pagealloc=on)
We should decide which kernel params are needed and adapt our solution for it.
1) general parameters in grub (for all tests, added via add_grub_cmdline_settings() into GRUB_CMDLINE_LINUX_DEFAULT grub variable in /etc/default/grub)
2) and ima_policy=tcb added via GRUB_PARAM openqa test variable and add_custom_grub_entries() as separate boot option in grub.
Recently we added debug_pagealloc=on among general parameters
(as https://jira.suse.com/browse/SLE-9743; + some options are needed due https://jira.suse.com/browse/SLE-9505)
which found a problems with it in some QAM (ppc64le), QA (s390) and Tumbleweed tests (ppc64le)
While there is PR to temporarily revert debug_pagealloc=on
we should decide what params we need and how to achieve it.
If we need more parameters, we can achieve it via either
1) type some params (editing grub config before boot, solution we have never used for LTP)
2) or extend add_custom_grub_entries() to support more special entries than just one
3) or drop IMA parameter and reuse GRUB_PARAM for something else
4) or generate yet another LTP image with different parameters (waste of disc space)
#4 Updated by pvorel almost 2 years ago
- Assignee set to pvorel
- Target version changed from 454 to 445
+1 to this option. I'll implement it this sprint as it's quite urgent.
Next step would be to define desired setup we want. I suggest 1) default as it was, 2) debug_pagealloc=on for syscalls and CVE and 3) IMA.
IMHO booting non-default should be as a default set in boot_ltp (as it's already now for IMA), but I also add openqa variable LTP_GRUB_ITEM and LTP_GRUB_ITEM2 to optionally select different setup during runtime.
So the only thing which will not be supported is to add completely different parameter / delete parameter. Workaround for adding new parameter would be a custom build with GRUB_IMA (run test with INSTALL_LTP and GRUB_PARAM). Hope removing any parameter should never be needed.
#5 Updated by okurz almost 2 years ago
There are already multiple test variables available for help, e.g. EXTRABOOTPARAMS_BOOT_LOCAL to add variables, multiples if you like, to use during boot of an existing image, EXTRABOOTPARAMS_DELETE_CHARACTERS to delete characters at a certain position defined by EXTRABOOTPARAMS_DELETE_NEEDLE_TARGET . I used that to turn
VIDEO=1024x768-16 defined on older, created qcow images into
VIDEO=1024x768 to be compatible with non-cirrus graphics adapters.
#7 Updated by pvorel almost 2 years ago
PR for general solution select boot item: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/9217
#9 Updated by pvorel almost 2 years ago
PR implement mdoucha's suggestion turning GRUB_PARAMS into a semicolon-separated list of extra boot options
#11 Updated by pvorel over 1 year ago
GRUB_PARAM changed on both osd and o3 to GRUB_PARAM=debug_pagealloc=on;ima_policy=tcb
For tests using debug_pagealloc=on it's needed to add GRUB_BOOT_NONDEFAULT=1 (as there are more of them, for ltp_ima (single test) add GRUB_SELECT_FIRST_MENU=5
Added these test suites:
- ltp_syscalls_debug_pagealloc kotd_ltp_syscalls_debug_pagealloc
#13 Updated by pvorel over 1 year ago
- Status changed from Feedback to Resolved
Broken ppc64le builds on Tumbleweed were fixed, by removing debug_pagealloc=on (and these using it are still failing, see
https://openqa.opensuse.org/tests/overview?distri=opensuse&version=Tumbleweed&build=20200104&groupid=32). There haven't been any SLES build yet, but it'll be fixed as well. This should also fix problems on s390x on SLES.
Problems with boot error on intel on Tumbleweed (#51743) still persists (no surprise).
See for the reason of tracker change: http://mailman.suse.de/mailman/private/qa-sle/2020-October/002722.html