Linux内核编译:
编译内核的步骤:
1.配置内核选项
支持"更新"模式的配置方式:
a.make config :基于命令放以命令的方式去配置内核中可配置的每个选项;
b.make menuconfig :基于curses的文本窗口界面来选择编译;
c.make gconfig:基于GTk开发环境的窗口界面来选择编译;
d.make kconfig:基于Qt开发环境的窗口界面来选择编译;
支持"全新配置"模式的配置方式:
a.make defconfig:基于内核为目标平台提供的"默认"配置进行配置;
b.make allnoconfig:所有选项均回答为"no";
2.编译
make [-j #]
只编译内核中的一部分内容:
a.只编译某子目录中的相关代码
cd /usr/src/linux/
make DIR/
Note:编译任何功能都只能在内核源码目录中,填写相对路径实现编译特定功能;
b.只编译一个特定的模块的相关代码
只编译一个模块是没必要对它做编译安装的,只需把它复制到/lib/modules/目录中对应的路径即可,然后使用modprobe进行模块安装即可;
cd /usr/src/linux/
make DIR/FILE.ko
交叉编译内核:
通常一个程序经过编译以后,只适用于某一特定平台运行;
所谓交叉编译就是所编译的目标平台,与当前平台不相同,比如通过Linux编译之后放在安卓上使用的软件;
make ARCH=arch_name
获取特定目标平台的使用帮助
make ARCH=arch_name help
对已经执行过编译操作的内核原码树做重新编译:
事先清理操作:
make clean:清理大多数编译生成的文件,但会保留config文件等;
make mrproper:清理所有编译生成的文件、config以及某些备份文件;
make distclean:mrproper+patches以及编辑器备份文件;
Note:除非确定之前的设置不需要了,否则使用后两种方法时需慎重!!!
screen命令:creen manager with VT100/ANSI terminal emulation
打开新的screen:
screen
退出并关闭screen:
exit
剥离当前的screen:
Ctrl+a→d
显示所有已打开的screen:
screen -ls
恢复某screen:
screen -r scr_number
注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删