大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核学习计划教程的问题,于是小编就整理了4个相关介绍Linux内核学习***教程的解答,让我们一起看看吧。
如何基于LINUX内核开发一套适合自己机器的系统?
Linux内核基本已经包含了常见的硬件驱动,所以只需要一个编译框架,比如buildroot或openwrt之类的。选中目标板的硬件驱动和功能包,去掉多余的,就可以编译出一个精致的系统。像openwrt,编译好的固件通常只有几M大小。
如果是通用桌面机,需要图形界面,那就找个发行版比如常用的debain改吧。
其实这样提问就不怎么对。基于xx内核的说法好像是windows世界说的。在GNU/Linux世界是不用这样的。你可以从零开始制作一个自己的Linux。最简单的是lfs,首先去lfs官方下载手册和源代码包,自己建立编译环境,然后自己编译一个适合自己的Linux。内核除了可选Linux内核外,hurd内核也可以选。如果想编译适合arm架构的Linux,就得先下载clfs的手册了,玩玩交叉编译。如果想带上图形界面,继续blfs。总之,自己编译一个适合自己电脑的Linux,只要电脑硬件跟得上,自己有时间折腾,这事不是很难。如果水平再高点,连那些发行版的包也可以拿来用用……
为什么要学习Linux内核?
1 学习一些操作系统的理论知识,一些概念。比如:进程,内存管理,文件系统等等。
关于这一方面的书籍太多了,自己找一本就行了2 学习x86汇编,虽然linux用的是AT&T汇编,但二者只是格式不同而已。
而且学习x86汇编有助于了解x86系统结构。书籍推荐王爽的《汇编语言》 ,我学的时候用的不是这个,后面看到这本书,才觉得自己做了“苦功了”。
学完大部分汇编指令时,找些汇编程序读读,熟悉这些指令的用法。
不需要有写汇编程序的能力,能读就行了,当然会写更好3 赵炯的《Linux内核0.11完全注释》。
这个linux内核版本低,作者也讲得很详细。不过关于x86体系的那一部分,作者讲得很繁琐,这一部分一定要大体看懂,那后面章节的内容就没有多大的问题了。
我先把书通看了一遍,用了1个月的时间。
后来,再返回来一个一个研究,用了2个月。
之所以看这本书,是让自己对内核有个实质的感受,不仅仅只是理论上的东西。
4 毛德操的《linux内核情景分析》。linux内核版本2.4.0,这本书很厚,上下两册。
如何自学linux驱动开发,做驱动开发需要哪些方面的知识?
做嵌入式应用的话一般的编程就可以了。那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要求给你交流一下:(一家之言啊,自己多年从事嵌入式开发的一点感悟)嵌入式驱动开发需要了解的知识大概有以下几类:
1 嵌入式操作系统驱动框架。
每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具***置与构建驱动程序的主要事项2 总线知识,比如PCI、USB总线。
3 芯片知识。
驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识5 [_a***_]基本用不上,主要是C和汇编。
6 做驱动最好要懂内核调试(比如说linux)
如何在嵌入式linux操作系统环境下进行程序的开发?
因为LINUX的先天优势导致嵌入式开发大多***用LINUX系统:
1.开源,代码开放,省去了自己编写的麻烦,节约成本而且不会涉及到专利和产权***。
2.功能齐全,对于很多硬件设备都有丰富的驱动程序,只需要移植一下,不需要改动太多。
3.稳定,linux确实比Windows要稳定。
4.对于大多数芯片,都有裁剪的配置文件,在Linux内核源代码下,arch/arm/configs中有许多芯片的配置文件。
5.Linux分而治之的思想,可以使得驱动和应用程序并行开发,加快开发速度。
到此,以上就是小编对于linux内核学习***教程的问题就介绍到这了,希望介绍关于linux内核学习***教程的4点解答对大家有用。