欢迎来到天天文库
浏览记录
ID:40711150
大小:18.57 KB
页数:7页
时间:2019-08-06
《linux、内核源码、内核编译与配置、内核模块开发、内核》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转)linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86可以有4种模式RING0~RING3 RING0特权模式给LINUX内核空间RING3给用户空间linux内核是如何组成的?答:linux内核由SCI(SystemCallInterface)系统调用接口、PM(ProcessMana
2、gement)进程管理、MM(MemoryManagement)内存管理、Arch、VFS(VirtualFileSysterm)虚拟文件系统、NS(NetworkStack)网络协议栈、DD(DeviceDrivers)设备驱动linux内核源代码linux内核源代码是如何组成或目录结构?答: arc目录 存放一些与CPU体系结构相关的代码 其中第个CPU子目录以分解boot,mm,kerner等子目录block目录 部分块设备驱动代码crypto目录 加密、压缩、CRC校验算法do
3、cumentation 内核文档drivers 设备驱动fs 存放各种文件系统的实现代码include 内核所需要的头文件。与平台无关的头文件入在include/linux子目录下,与平台相关的头文件则放在相应的子目录中init 内核初始化代码ipc 进程间通信的实现代码kernel Linux大多数关键的核心功能者是在这个目录实现(程序调度,进程控制,模块化)lib 库文件代码mm 与平台无关的内存管理,与平台相关
4、的放在相应的arch/CPU目录 net 各种网络协议的实现代码,注意而不是驱动samples 内核编程的范例scripts 配置内核的脚本security SElinux的模块sound 音频设备的驱动程序usr cpip命令实现程序virt 内核虚拟机内核配置与编译一、清除makeclean 删除编译文件但保留配置文件makemrproper 删除所有编译文件和配置文件makedistclean 删除编译文件、配置文件包括
5、backup备份和patch补丁 二、内核配置方式makeconfig 基于文本模式的交互式配置makemenuconfig 基于文本模式的菜单配置makeoldconfig 使用已有的配置文件(.config),但配置时会询问新增的配置选项makexconfig 图形化配置三、makemenuconfig一些说明或技巧在括号中按“y”表示编译进内核,按“m”编译为模块,按“n”不选择,也可以按空格键进行选择注意:内核编译时,编译进内核的“y”,和编译成模块的“m”是分步编译的四、快
6、速配置相应体系结构的内核配置我们可以 到arch/$cpu/configs目录下copy相应的处理器型号的配置文件到内核源目录下替换.config文件五、编译内核1.————————————————————————————makezImage 注:zImage只能编译小于512k的内核makebzImage同样我们也可以编译时获取编译信息,可使用makezImageV=1makebzImageV=1编译好的内核位于 arch/$cpu/boot/目录下———————————————————
7、—————————以上是编译内核makemenuconfig时先“m”选项的编译 接下来到编译“y”模块,也就是编译模块2.makemodules 编译内核模块makemodules_install 安装内核模块------>这个选项作用是将编译好的内核模块从内核源代码目录copy至/lib/modules下六、制作initramdiskmkinitrdinitrd-$version$version/**** mkinitrdinitrd-$(可改)version$version(不可改,因
8、为这version是寻找/lib/modules/下相应的目录来制作) ****/七、内核安装复制内核到相关目录下再作grub引导也就可以了1.cparch/$cpu/boot/bzImage/boot/vmlinux-$version2.cp$initrd/boot/3.修改引导器/etc/grub.conf(lio.conf)正确引导即可#incldue#includestaticinthello_ini
此文档下载收益归作者所有