Skip to main content
La1
Associate III
August 21, 2019
Solved

How to properly compile linux kernel for stm32mp157c-dk2 ?

  • August 21, 2019
  • 2 replies
  • 1640 views

Hi,

I want to compile linux kernel for stm32mp157c-dk2, i followed guide in README.HOW_TO.txt and when i run command "make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config" in point 5. I get following errors:

/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/scripts/kconfig/Makefile:109: *** No configuration exists for this target on this architecture. Stop.

/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/Makefile:539: recipe for target 'fragment*.config' failed

make[2]: *** [fragment*.config] Error 2

/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/Makefile:286: recipe for target '__build_one_by_one' failed

make[1]: *** [__build_one_by_one] Error 2

make[1]: Opuszczenie katalogu '/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/build'

Makefile:146: recipe for target 'sub-make' failed

make: *** [sub-make] Error 2

I did everything before without point 4 (cuz i think it is optional) and without applying patches in point 3. because i don't know where to find this patches.

Besides this errors, some files are generated in ../build directory. Including .config and i am able to compile kernel, but when i deploy it on board, system crashes. And i think thats because of this previous errors.

Please tell me what I am doing wrong and how can i make it work

This topic has been closed for replies.
Best answer by Olivier GALLIEN

Hi @La​ 

README.HOW_TO.txt procedure has been carefully validated/tested and works.

If you have properly source the SDK environnement step 2, I guess problem come from the fact you drop step 3.

Patches are present in folder sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0

So command to apply from sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9 is :

for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

Hope it help

Olivier

2 replies

Olivier GALLIEN
Technical Moderator
August 21, 2019

Hi @La​ 

README.HOW_TO.txt procedure has been carefully validated/tested and works.

If you have properly source the SDK environnement step 2, I guess problem come from the fact you drop step 3.

Patches are present in folder sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0

So command to apply from sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9 is :

for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

Hope it help

Olivier

Olivier GALLIEN In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
SigmaPrime
Associate III
December 4, 2020

Hello I got the same issue but when I go to the patch directory and I do

for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

cannot access '../*.patch': No such file or directory

La1
La1Author
Associate III
December 7, 2020

You need to be in sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9 directory, not in patch directory.

La1
La1Author
Associate III
August 21, 2019

Thanks so much ! Everything now works :)