Template:ArticleMainWriter Template:ArticleProposedVersion
1. Overview[edit source]
This stage will explain you how modify, rebuild and reload the Linux® kernel.
You will first be guide to install the Linux® kernel source code in the Developer Package directory. Then step by step you will execute procedures to modify, rebuild and reload the Linux® kernel.
2. Download the the Linux® kernel source code[edit source]
- Download the STM32MP15-Ecosystem-v1.0.0 Developer Package Sources in your $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package directory
- Uncompress the tarball file to get the Linux® kernel tarball, the ST patches and the ST configuration fragments
cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package tar xvf SOURCES-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz
3. Prepare the Linux® kernel source code[edit source]
- Extract the Linux® kernel source
cd stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0 tar xvf linux-4.19.9.tar.xz
- Apply the ST patches
cd linux-4.19.9/ for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
- Apply fragments
make multi_v7_defconfig fragment*.config for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done yes '' | make oldconfig
4. Build the Linux® kernel source code for the first time[edit source]
- Build kernel images (uImage and vmlinux) and device tree (dtbs)
make uImage vmlinux dtbs LOADADDR=0xC2000040
- Build kernel module
make modules
- Generate output build artifacts
mkdir -p $PWD/install_artifact/ make INSTALL_MOD_PATH="$PWD/install_artifact" modules_install