如何编译Linux内核

如何编译Linux内核,第1张

1、大概步骤:

1、安装开发包组

2、下载源码文件

3、.config:准备文本配置文件

4、make menuconfig:配置内核选项

5、make [-j #]

6、make modules_install:安装模块

7、make install :安装内核相关文件

安装bzImage为/boot/vmlinuz-VERSION-RELEASE (去boot目录下查看)

生成initramfs文件

8、编辑grub的配置文件

2、编译配置选项

配置内核选项

支持“更新”模式进行配置: make help

(a) make config:基于命令行以遍历的方式去配置内核中可配置的每个选项

(b) make menuconfig:基于curses的文本窗口界面

(c) make gconfig:基于GTK (GNOME)环境窗口界面

(d) make xconfig:基于QT(KDE)环境的窗口界面

支持“全新配置”模式进行配置

(a) make defconfig:基于内核为目标平台提供的“默认”配置进行配置

(b) make allyesconfig: 所有选项均回答为“yes“

(c) make allnoconfig: 所有选项均回答为"no“

3、编译

全编译:make [-j #]

编译内核的一部分功能:

a) 只编译某子目录中的相关代码:

# cd /usr/src/linux

# make dir/

(b) 只编译一个特定的模块:

# cd /usr/src/linux

# make dir/file.ko

例如:只为e1000编译驱动:

#make drivers/net/ethernet/intel/e1000/e1000.ko

4、编译内核

如何交叉编译内核:

编译的目标平台与当前平台不相同;

# make ARCH=arch_name

要获取特定目标平台的使用帮助

# make ARCH=arch_name help

# make ARCH=arm help

5、清理删除

在已经执行过编译 *** 作的内核源码树做重新编译:

需要事先清理 *** 作:

# make clean:清理大多数编译生成的文件,但会保留config文件等

# make mrproper: 清理所有编译生成的文件、 config及某些备份文件

# make distclean: mrproper、 patches以及编辑器备份文件

卸载内核

删除/lib/modules/目录下不需要的内核库文件

删除/usr/src/linux/目录下不需要的内核源码

删除/boot目录下启动的内核和内核映像文件

更改grub的配置文件,删除不需要的内核启动列表

需要解决更多linux问题,详情请看 http://www.linuxprobe.com/chapter-00.html

望采纳

linux内核配置与编译相关流程1、清除临时文件、中间文件和配置文件

make

clean

不删除配置文件。

make

mrproper

make

distclean

删除编辑的backup文件、补丁文件等2、确定目标系统的软硬件配置情况,比如CPU的类型,网卡的型号,所需要支持的网络协议。3、使用命令配置内核

make

config

基于文本模式的交互配置。

make

menuconfig

基于文本模式的菜单配置。

make

oldconfig

使用已有的配置文件(.config),但是会询问新增的配置选项。

make

xconfig

图形化的配置(需要安装图形化系统)。4、编译内核

make

zImage

make

bzImage

区别:在X86平台上,zImage只能用于小雨512k内核。如果需要获取详细编译信息,则在后面加上V=1.

编译好的内核位于arch/<cpu>/boot/目录下。

5、编译内核模块

make

modues

6、安装内核模块

make

modues_install

将编译好的内核模块从内核源代码目录copy到/lib/modues下。7、制作

init

ramdisk

mkinitrd

$initrd-$version

-$version内核安装(X86)1、cp

arch/X86/boot/bzImage

/boot/vmliuz

-$version2、cp

$initrd

/boot/3、修改etc/grub.conf

/etc/lilo.conf$version为所编译的内核版本号。

你好,楼主:

1、配置.config文件,将你要编译的配置XXX_config准备好,使用make XXX_config来进行配置;

2、这时你就可以在内核根目录下进行make menuconfig来使用图形界面配置内核选项,配置后保存即可;

3、最后只需要使用make或者make uImage生成相应的镜像即可。

注意问题多在config这里,如果配置时报错,可尝试make clobber来清除原来的依赖关系。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7345850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存