内核组成、内核优化、内核编译步骤:开发环境、硬件信息、展开到源码树、内存特性设定、编译

屏幕:在一个终端上,为多个进程,开启多个使用接口。

何谓交叉编译:目标代码非当前平台


    有10天没有学习了,去做了LFS,当然得感谢我"瑞哥",学习Linux的导师,www.mykernel.cn , 要不是他告诉我说,选对发行版本LFS手册很关键,否则很难一次成功的。

前3天就是不懂,好不容易编译到gcc,呀!失败了,.....

    心得:体验就够了,没有必要花时间在LFS制作之上,完全浪费时间。

    1、选对内核

    2、选对LFS<LFS中对系统要求中Linux内核版本一定相同

    3、没有什么难度,复制->运行,重复即可

    4、CentOS 6.9 LFS Version 8.0-rc1

谢烟客---------Linux之内核编译及LFS制作_Linux


内核组成

.ko文件 /lib/modules/$(uname -r)/

bzImage格式 /boot/vmlinuz-VERSION-RELEASE


内核优化:只在内核中编译内核必须的功能,用不到的功能在内核中越少越好

    1)消耗更少的内存

    2)内核体积小

    3)运行速度快


编译内核目的

    1、添加新功能:发行商提供内核的功能不完善

    2、添加新驱动:为硬件添加新的驱动


编译内核的步骤


1、开发环境

谢烟客---------Linux之内核编译及LFS制作_Linux_02


2、硬件信息

谢烟客---------Linux之内核编译及LFS制作_Linux_03

    **可以试试, -v 或 -vv选项**


3、展开至源码目录

谢烟客---------Linux之内核编译及LFS制作_linux_04


4、配置内核选项

谢烟客---------Linux之内核编译及LFS制作_Linux_05


5、安装

谢烟客---------Linux之内核编译及LFS制作_linux_06


使用示例

1、新建SESSION

谢烟客---------Linux之内核编译及LFS制作_Linux_07

谢烟客---------Linux之内核编译及LFS制作_Linux_08


2、关闭SESSION

谢烟客---------Linux之内核编译及LFS制作_linux_09

谢烟客---------Linux之内核编译及LFS制作_Linux_10


3、剥离SESSION

谢烟客---------Linux之内核编译及LFS制作_Linux_11

谢烟客---------Linux之内核编译及LFS制作_linux_12

谢烟客---------Linux之内核编译及LFS制作_linux_13


4、显示SESSION

谢烟客---------Linux之内核编译及LFS制作_linux_14

谢烟客---------Linux之内核编译及LFS制作_Linux_15


5、连接SESSION

谢烟客---------Linux之内核编译及LFS制作_linux_16

谢烟客---------Linux之内核编译及LFS制作_Linux_17


谢烟客---------Linux之内核编译及LFS制作_linux_18


编译后生成的文件: .ko

    .c --> .o --> .ko

源码.c --> 编译 --> 目标代码 --> 汇编 --> 目标平台的代码(.o) --> 链接 --> .ko


普通编译: 目标平台的代码,为编译平台

交叉编译:目标平台的代码,非编译平台

谢烟客---------Linux之内核编译及LFS制作_linux_19