这已经是这个系列的第四篇博客了(上一篇是怎样用O0来(尽可能地)编译Linux Kernel_蛐蛐蛐的博客-CSDN博客),但是还是很多问题没有解决。
上一篇博客中说了用O0编译的方法,但是O0编译的很不全,还是有报错,我也没有精力挨个去解决error,想着O1似乎也可以用,就想试试,找了找,可以参考这篇博客里的方法:如何在编译linux内核时不优化内核以便于调试内核?_weixin_30662109的博客-CSDN博客
具体而言,还是先将Makefile中的O2,O3,Os等等都改成O1,其次,
make allmodconfig
按照上面博客中的介绍,可以在
make menuconfig
中,“使能选项CONFIG_DEBUG_SECTION_MISMATCH,以防止内联”。但是,我还是对这个图形界面的配置方法不熟,都不知道这个选项可以在哪enable呢,这时候可以用另外一种方法:运行了make allmodconfig,然后运行:
sudo make CONFIG_DEBUG_SECTION_MISMATCH=y -j 10
这样其实也可以达到相同的效果。就简单总结这么多,总得来说,编译Linux Kernel真是命运多舛啊……