2020-04-16 03:46:14 +00:00
### build-kernel
2019-02-26 03:48:16 +00:00
This playbook is used to automatically build a kernel with an ACS overrides patch applied. Useful to isolate PCI-e devices to their own IOMMU group for VFIO passthrough.
See this page for kernel configuration details: https://copr.fedorainfracloud.org/coprs/jlay/kernel-acspatch/
2020-04-16 03:46:14 +00:00
### Requirements
- Inventory with one host
- `hosts-local` provided as a sample inventory for localhost
- This host must be running Fedora (builds use mock)
2019-02-26 03:48:16 +00:00
### Example usage
2020-04-16 03:55:00 +00:00
#### Notes
Target Fedora version is controlled by the variable `fedora_version` in [./playbook.yml ](./playbook.yml )
Patch to apply is determined by the `patch_file` variable, stored in [./payload/ ](./payload )
#### Output:
2019-02-26 03:48:16 +00:00
```
2020-04-16 03:46:14 +00:00
$ ansible-playbook -i buildserver playbook.yml -b --ask-become-pass
BECOME password:
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
PLAY [buildservers] ** *****************************************************************************************************************************************
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Gathering Facts] ** **************************************************************************************************************************************
ok: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Ensure fedpkg is installed] ** ***************************************************************************************************************************
changed: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Find old mock chroots] ** ********************************************************************************************************************************
ok: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Clean old mock chroots] ** *******************************************************************************************************************************
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Clean old build dir] ** **********************************************************************************************************************************
ok: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Clone f32 kernel to /tmp/f32_kernel] ** ******************************************************************************************************************
changed: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Copy patch to build dir] ** ******************************************************************************************************************************
changed: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Copy newpatch.sh on master branch, for 5.6 on f31] ** ****************************************************************************************************
changed: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Apply patch and build kernel (logs in /tmp/f32_kernel/results_kernel/*)] ** ******************************************************************************
changed: [buildserver] => (item=./scripts/newpatch.sh acso-5.4.6.patch)
changed: [buildserver] => (item=/usr/bin/sed -i -e 's/%define buildid .*$/%define buildid .acspatch/' kernel.spec)
changed: [buildserver] => (item=/usr/bin/make release)
changed: [buildserver] => (item=fedpkg mockbuild)
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Find RPMs in /tmp/f32_kernel/results_kernel/*/*/*.rpm] ** ************************************************************************************************
ok: [buildserver]
2019-02-26 03:48:16 +00:00
2020-04-16 03:46:14 +00:00
TASK [Copy RPMs to /tmp/ (local)] ** ***************************************************************************************************************************
2019-02-26 03:48:16 +00:00
[...]
2020-04-16 03:46:14 +00:00
PLAY RECAP ** **************************************************************************************************************************************************
buildserver : ok=10 changed=6 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
2019-02-26 03:48:16 +00:00
```