Tags

, ,

201.1 Kernel Components

Weight 2
Description Candidates should be able to utilise kernel components that are necessary to specific hardware, hardware drivers, system resources and requirements. This objective includes implementing different types of kernel images, identifying stable and development kernels and patches, as well as using kernel modules.

Key Knowledge Areas

  • Kernel 2.6.x documentation

The following is a partial list of the used files, terms and utilities:

  • /usr/src/linux – Local de armazenamento do código fonte do kernel.
  • /usr/src/linux/Documentation – Local de armazenamento da documentação oficial.
  • zImage – Compilação que utiliza o método de compreensão zlib (possui um limite de tamanho porque é descompactado na memória básica).
  • bzImage – Compilação que utiliza o método de compreensão zlib, porém é descompactada na memória estendida e não possui as limitações da zImage.

201.2 Compiling a kernel

Weight 2
Description Candidates should be able to properly configure a kernel to include or disable specific features of the Linux kernel as necessary. This objective includes compiling and recompiling the Linux kernel as needed, updating and noting changes in a new kernel, creating an initrd image and installing new kernels.

Key Knowledge Areas

  • /usr/src/linux/
  • GRUB configuration files
  • Kernel 2.6.x make targets

The following is a partial list of the used files, terms and utilities:

  • mkinitrd/mkinitramfs – Cria um conjunto de arquivos que é carregado na memoria RAM durante o carregamento do kernel e montado como se fosse uma partição, porém sem que haja um sistema de arquivos (o sistema de arquivos é carregado como modulo pelo kernel).
  • mkinitrd – (mkinitrd -c -k 2.6.30 -m xfs -o /boot/initrd-2.6.30.gz)
  • mkinitramfs – (/etc/initramfs-tools/initramfs.conf) (mkinitramfs -o /boot/initramfs-2.6.30 2.6.30)
  • make – Utilitário que auxilia o processo de compilação.
  • make targets (config, xconfig, menuconfig, oldconfig, mrproper, zImage, bzImage, modules, modules_install)
    config – Atualiza a configuração do kernel através de uma interface de linha de comando.
    xconfig – Atualiza a configuração do kernel através de uma interface gráfica baseada em QT.
    gconfig – Atualiza a configuração do kernel através de uma interface gráfica baseada em GTK.
    menuconfig – Atualiza a configuração do kernel através de uma interface ncurses.
    oldconfig – Mantem a configuração do kernel antigo no novo a ser compilado.
    mrproper – Remove os arquivos gerados pela compilação anterior e também as configurações realizadas.
    zImage – Compilação que utiliza o método de compreensão zlib (possui um limite de tamanho porque é descompactado na memória básica).
    bzImage – Compilação que utiliza o método de compreensão zlib, porém é descompactada na memória estendida e não possui as limitações da zImage.
    modules – Compila os módulos do kernel.
    modules_install – Instala os módulos compilados com o comando make modules.

201.3 Patching a kernel

Weight 1
Description Candidates should be able to properly patch a kernel to add support for new hardware. This objective also includes being able to properly remove kernel patches from already patched kernels.

Key Knowledge Areas

  • Kernel Makefiles

The following is a partial list of the used files, terms and utilities:

  • patch – Aplica uma correção gerada através do comando diff.
  • gzip – (compactar = gzip file.tar, descompactar = gzip -d file.tar.gz)
  • bzip2 – (compactar = bzip2 file.tar, descompactar = bzip2 -d file.tar.bz2)

201.4 Customise, build and install a custom kernel and kernel modules

Weight 2
Description Candidates should be able to customise, build and install a 2.6 kernel for specific system requirements, by patching, compiling and editing configuration files as required. This objective includes being able to assess requirements for a kernel compile as well as build and configure kernel modules.

Key Knowledge Areas

  • Customize the current kernel configuration.
  • Build a new kernel and appropriate kernel modules.
  • Install a new kernel and any modules.
  • Ensure that the boot manager can locate the new kernel and associated files.
  • /usr/src/linux/
  • Module configuration files

The following is a partial list of the used files, terms and utilities:

  • patch – Aplica uma correção gerada através do comando diff.
  • make – Utilitário que auxilia o processo de compilação.
  • module tools
  • /usr/src/linux/* – Local de armazenamento do código fonte do kernel.
  • /usr/src/linux/.config – Armazena as configurações realizadas para compilação do kernel.
  • /lib/modules/kernel-version/* – Armazena os módulos compilados do kernel.
  • /boot/* – Contem os arquivos do kernel que são carregados durante o processo de inicialização.
  • make targets: all, config, menuconfig, xconfig, gconfig oldconfig, modules, install, modules_install, depmod, rpm-pkg, binrpm-pkg, deb-pkg
    rpm-pkg – Gera um pacote RPM compilado e com código fonte.
    binrpm-pkg – Gera um pacote compilado RPM.
    deb-pkg – Gera um pacote compilado Deb.

201.5 Manage/Query kernel and kernel modules at runtime

Weight 3
Description Candidates should be able to manage and/or query a 2.6.x kernel and its loadable modules.

Key Knowledge Areas

  • Use command-line utilities to get information about the currently running kernel and kernel modules.
  • Manually load and unload kernel modules.
  • Determine when modules can be unloaded.
  • Determine what parameters a module accepts.
  • Configure the system to load modules by names other than their file name.

The following is a partial list of the used files, terms and utilities:

  • /lib/modules/kernel-version/modules.dep – Arquivo gerado pelo comando depmod.
  • module configuration files in /etc (/etc/modules) – Módulos que serão carregados durante o boot do sistema.
  • /proc/sys/kernel/ – Contem arquivos de configuração que afetam operações do kernel diretamente.
  • depmod – Cria o arquivo modules.dep com uma lista de módulos e suas dependências.
  • insmod – Insere um modulo no kernel para uso.
  • lsmod – Lista os módulos atualmente carregados pelo kernel.
  • rmmod – Remove um modulo carregado pelo kernel.
  • modinfo – Exibe informações sobre um modulo do kernel.
  • modprobe – Carrega módulos do kernel com suas dependências.
  • uname – Exibe informações sobre o sistema (-r versão do kernel, -a todas informações).