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
-
Open a shell (Ctrl+Alt+T)
-
Source the environment
$ source ~/gcc-linaro/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/env.sh
-
Clone the git repo
$ cd /home/soceds/datastorm_daq $ git clone https://github.com/ArrowElectronics/linux.git
-
Change into the new repo
$ cd linux
-
Check out the Altera 4.19 branch
$ git checkout altera_4.19
-
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 &
-
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
-
Add the following line to add a driver to support the Analog Devices axi_hdmi controller
- CONFIG_DRM_ADI_AXI_HDMI=y
-
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
-
Save socfpga_tei0022_arrow_ghrd_defconfig
-
Set the defconfig
$ make socfpga_tei0022_arrow_ghrd_defconfig
-
Build the kernel
$ make zImage