Linux Kernel - ArrowElectronics/data-storm-daq GitHub Wiki

The Linux® kernel is the main component of a Linux operating system (OS) and is the core interface between a computer's hardware and its processes. It communicates between the two, managing resources as efficiently as possible. This page will instruct the user how to configure the Kernel for the GSRD and how to compile it.

Useful reference material for the Linux Kernel can be found here

Build with Kernel

  1. Open a shell (Ctrl+Alt+T)

  2. Source the environment

     $ source ~/gcc-linaro/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/env.sh  
    
  3. Clone the git repo

     $ cd /home/soceds/datastorm_daq
    
     $ git clone https://github.com/ArrowElectronics/linux.git 
    
  4. Change into the new repo

     $ cd linux  
    
  5. Check out the Altera 4.19 branch

     $ git checkout altera_4.19 
    
  6. Edit /home/soceds/datastorm_daq/linux/arch/arm/configs/socfpga_tei0022_arrow_ghrd_defconfig

     $ gedit /home/soceds/datastorm_daq/linux/arch/arm/configs/socfpga_tei0022_arrow_ghrd_defconfig &
    
  7. Add the following lines to add driver support for the ADV7511 HDMI PHY and the DRM graphics infrastructure

    • CONFIG_HAS_IOMEM=y
    • CONFIG_DRM=y
    • CONFIG_DRM_BRIDGE=y
    • CONFIG_DRM_I2C_ADV7511=y
  8. Add the following line to add a driver to support the Analog Devices axi_hdmi controller

    • CONFIG_DRM_ADI_AXI_HDMI=y
  9. Add the following lines to add drivers for contiguous memory allocation for the video frame buffer

    • CONFIG_CMA=y
    • CONFIG_DMA_CMA=y
    • CONFIG_CMA_SIZE_MBYTES=128
  10. Save socfpga_tei0022_arrow_ghrd_defconfig

  11. Set the defconfig

     $ make socfpga_tei0022_arrow_ghrd_defconfig 
    
  12. Build the kernel

     $ make zImage  
    

Next - Build Linux Devicetree

Return - GSRD