Ubuntu18.04编译 Linux 2.6.32总结及问题汇总

1. 生成配置文件

使用make defconfig来使用缺省的配置生成.config文件,然后使用make menuconfig进行特定的配置

使用make oldconfig来更新和验证配置

2. 编译

make -j32 > /dev/null

多核编译,同时过滤掉不必要的信息

3. Ubuntu18.04编译安装 Linux 2.6.32问题解决汇总

环境: X86,  Ubuntu18.04,  gcc7 (默认)

1. 找不到complier-gcc7.h

原因: Linux2.6属于老版本内核, 与新版gcc不适配, 直接原因是没有这个文件,只有gcc4和gcc3,于是另外再安装gcc4, 注意无需卸载gcc7, 切换即可

1. sudo apt-get install gcc-4.8 g++-4.8

2. ls /usr/bin/gcc*

3. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100

4. sudo update-alternatives --config gcc

最后使用查看是否操作成功

5. gcc --version

以上是gcc的操作方法,g++同理,

2. make[1]: *** [kernel/timeconst.h] Error 255

根据提示将相应文件中的相应行的 defined()删除即可

3. gcc: error: elf_x86_64: No such file or directory

-m elf-x86_64改成-m64, -m elf-x86改成-m32

4. error: code model kernel does not support PIC mode

这是由于不支持地址无关模式,在 Makefile这段的最后加上-fno-pie即可

 344 KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
 345                    -fno-strict-aliasing -fno-common \
 346                    -Werror-implicit-function-declaration \
 347                    -Wno-format-security \
 348                    -fno-delete-null-pointer-checks -fno-pie
posted @ 2021-09-05 16:06  我叫平沢唯  阅读(1377)  评论(0编辑  收藏  举报