view main.yml @ 3:1a0de5121165

add comments
author kono
date Sun, 17 Dec 2017 12:17:53 +0900
parents 3d8479f80403
children 1ee02bb450bd
line wrap: on
line source

#  build Feora Linux kernel from sourcr
#      kono@ie.u-ryukyu.ac.jp
#


- hosts: all
  remote_user: one
  become: yes
  become_method: sudo
  tasks:

  - name: install kernel dev packages
    dnf: name={{ item }} state=present
    with_items: 
    - fedpkg
    - fedora-packager
    - rpmdevtools
    - ncurses-devel
    - pesign
    - libselinux-python

  - name: fedpkg clone
    command: fedpkg clone -a kernel
    args:
      chdir: /usr/src/
      creates: /usr/src/kernel

#     this should be   cd /usr/src/kernel ; git checkout     
  - name: git clone kernel
    git: >
      repo=git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/fedora.git
      dest=/usr/src/kernels/fedora

#   this does not work and unnecessary
#  - name: authorize user script
#    shell: /usr/libexec/pesign/pesign-authorize-users

#
#  this does not work, we have to chdir to /usr/src/kernel
#  - name: install kernel dev packages
#    dnf: name={{ item }} state=present
#    with_items:
#    - builddep
#    - kernel.spec
#
#    args:
#      chdir: /usr/src/kernels/fedora
#   use shell command instead
#
  - name: dnf builddep kernel.spec 
    command:  dnf -y builddep kernel.spec 
    args:
      chdir: /usr/src/kernel
      creates: /bin/gcc

  # olddefconfig requires old config file
  - name: copy old  .config
    copy:  
      src: old.config
      dest: /usr/src/kernels/fedora/.config

  - name: make olddefconfig
    shell: "{{ item }}"
    with_items:
    - make olddefconfig 
    args:
      chdir: /usr/src/kernels/fedora

  - name: make kernel
    shell: "{{ item }}"
    with_items:
    - make -j8
    args:
      chdir: /usr/src/kernels/fedora

  - name: make bzImage 
    shell: "{{ item }}"
    with_items:
    - make bzImage
    args:
      chdir: /usr/src/kernels/fedora

  - name: make modules
    shell: "{{ item }}"
    with_items:
    - make modules
    - make modules_install
    args:
      chdir: /usr/src/kernels/fedora

  - name: install kernel
    shell: "{{ item }}"
    with_items:
    - make install
    args:
      chdir: /usr/src/kernels/fedora