大家好,今天小编关注到一个比较有意思的话题,就是关于快速学习linux内核交流的问题,于是小编就整理了4个相关介绍快速学习Linux内核交流的解答,让我们一起看看吧。
怎样为linux内核打补丁?
1.进入你的工作文件夹(cd /usr/src/linux);
2.解压 linux-2.4.18.tar.gz包(tar -zxf linux-2.4.18.tar.gz),会在当前目录生成一个名为 linux-2.4.18或linux的文件夹;
3.进入此文件夹,执行zcat ../patch-2.4.18.gz | patch -p2
4.结束
本人想学Linux内核,望高手有经验的人士推荐点书?
《内核源代码情景分析》,毛德操,胡希明著,这本书讲的比较深,公认的经典。
我感觉比较浅些的 《linux内核源代码》陈莉君写的那本,当然还有别的。
看内核以前应该有些操作系统的知识,x86硬件也要有一定的了解,最好再有些Linux应用程序的了解,这样看起来更容易些,个人感觉。
j1900linux内核要编译多久?
至于说编译 Linux 内核需要多长时间,这个和电脑的整体性能(例如:CPU主频、内存大小等)有很大关系。我的亲身体会就是:计算机性能差的,编译 Linux 内核需要一个多小时的都有(以前在老旧的电脑上就需要这么长的时间)。
我想学习x86下的linux内核,该怎么起步?
1.不防从引导程序(bootloader)开始,可以选择u-boot,熟悉u-boot启动代码,比如初始化内存、启动的汇编代码是如何跳转至C程序的、bootloader引导Linux有哪些要求(基于CPU架构不同而不同,比如ARM引导Linux可参考《Booting ARM Linux》)、启动后是如何传递参数给Linux内核的、;
2.bootloader将内核映像载入物理内存后,压缩的内核映像是如何自解压、head.S文件中对MMU操作、单/多核是如何跑起来的、start_kernel;***w.内核引导启动这个过程建议结合一些操作系统的理论知识一起熟悉,比如MMU页表的建立,若不熟悉对应CPU架构下的MMU,即使懂汇编但代码看起来可能比较吃力。
熟悉内核的引导过程,个人觉得将大学时学的操作系统理论知识与实践相结合起来了,好多上学时模糊的概念一下清晰了许多。
接下来再来说下内核编程:
1.make menuconfig等配置内核,构建及更新内核;
2.熟悉内核Makefile文件;
3.从Hello World开始学习模块编程,熟悉file_operations尝试编程简单的驱动;
4.掌握(熟悉使用、区别)内核提供竞争方面的API,spinlock/semaphore/rw_semaphore/completion/rw_lock/mutex,以及RCU等;
5.内核态下动态内存API,get_free_pages/kmalloc/vmalloc等(关于内存管理这块可暂时先了解接口的使用,后续有精力再去熟悉Linux内存管理,里面太多东西太复杂了,呵呵,我也是略知皮毛);
到此,以上就是小编对于快速学习linux内核交流的问题就介绍到这了,希望介绍关于快速学习linux内核交流的4点解答对大家有用。