linux——编译内核时出现过的问题总结

本文记录了初次尝试编译操作系统内核时遇到的三个主要问题及其解决方法:缺少ncurses-devel导致安装失败,通过更新Ubuntu系统后成功安装;在make过程中遇到elf_x86_64错误,调整gcc配置解决了架构不兼容问题;出现“重复成员page”错误,修改代码避免冲突。这些问题的解决过程为初学者提供了宝贵的实践经验和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        今天是玩操作系统的第一天。内容是,编译内核!不编不知道一编吓一跳!各种问题出现了!

    问题一:Install ncurses(ncurses-devel) and try again。

    就是缺少ncurses-devel,输入apt-get install libncurses5-dev后,又无法找到libncurses5-dev。此时需要运行sudo apt-get update 来更新Ubuntu。然后再apt-get install libncurses5-dev即可。

    问题二:在make的时候,会出现错误elf_x86_64:No such file or directory。

    这是由于gcc 4.6 不再支持linker-style 架构。进入到arch/x86/vdso/Makefile,将以 VDSO_LDFLAGS_vdso.lds 开头所在行的 "-m elf_x86_64 " 替换为 "-m64"。将以 VDSO_LDFLAGS_vdso32.lds 开头所在行的 "-m elf_x86" 替换为 "-m32"。

    问题三:出现”重复成员page”的错误。

    是由于gcc版本与内核版本冲突,在:/drivers/net/igbvf/igbvf.h中,129行的代码为:“struct page*page”,这和124行中有相同的定义,将129行中的定义改为”struct page *pagep”。

     这些是今天总结的,本人又是初学者,这些总结希望让自己更上一层楼!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值