大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核 学习的问题,于是小编就整理了3个相关介绍linux内核 学习的解答,让我们一起看看吧。

  1. 学习linux内核,请推荐几本书及顺序,谢谢?
  2. Linux Kernel (Linux内核)怎么安装?
  3. linux内核加载rootfs流程?

学习linux内核,请推荐几本书及顺序,谢谢?

linux内核最经典的书是《深入理解Linux内核》,这本书内核编程看;如果你是搞UNIX/Linux环境下的应用程序编程,那么就看《UNIX环境高级编程》;如果做Linux下设备驱动程序开发,就看《Linux设备驱动》(第三版)。这几本都是老外写的,都是很经典的书。

linux内核 学习-《linux内核分析》
(图片来源网络,侵删)

Linux Kernel (Linux内核)怎么安装?

1、下载新内核源码:到******.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54MB。

2、#cd/usr/src/kernels

linux内核 学习-《linux内核分析》
(图片来源网络,侵删)

3、#tarjvxflinux-2.6.31.5.tar.bz2

4、进入系统原内核目录,把其中的隐藏文件.config***到新内核目录中。

linux内核 学习-《linux内核分析》
(图片来源网络,侵删)

5、cd进入新内核目录,然后执行#makeoldconfig 此时所有提示均按回车,选项提示都默认。

6、#makexconfig此时弹出一个内核配置窗口,里面全是英文,我看不懂,干脆就直接把这个窗口关掉,继续往下做。

7、#makebzImage&&makemodules&&makemodules_install&&makeinstall第七步编译时间比较长,要30到50分钟不等,要看机器情况了。

8、#uname-r查看内核版本,完成上面步骤后就可以重启系统了,启动时会在GRUB菜单里出现新内核选项了。 此方法安装新内核后同时也会保留旧内核,启动时,可以在新老内核间选择,相当的实用

linux内核加载rootfs流程?

加载rootfs的流程可以分为以下几个步骤:
1. 引导加载:当计算机启动时,硬件会引导启动程序(例如BIOS或UEFI),它会加载引导加载程序(例如GRUB或LILO)到内存中,这个引导加载程序在启动过程中负责加载内核。
2. 内核初始化:引导加载程序会加载内核映像到内存中,并将控制权交给内核。内核初始化的过程包括设置硬件设备、初始化内核数据结构等。
3. 加载虚拟文件系统:在内核初始化的过程中,内核会加载虚拟文件系统(Virtual File System,VFS),它是一个抽象的文件系统接口。通过VFS,内核能够对不同类型的文件系统进行统一的处理。
4. 挂载root文件系统:在加载VFS之后,内核会尝试挂载root文件系统,即将root文件系统与系统的根目录关联起来。在Linux系统中,root文件系统可以是各种类型的文件系统,如ext4、***rfs等。
5. 解压root文件系统镜像:通常情况下,root文件系统镜像是经过压缩的,内核在挂载root文件系统前需要先解压镜像。解压的过程通常是通过相应的解压算法进行操作。
6. 执行init进程:在挂载root文件系统后,内核会执行root文件系统中的init进程。init进程是用户空间的第一个进程,它负责初始化系统,启动其他系统进程,并提供用户登录的接口。
总的来说,加载rootfs的流程是在内核初始化后,先加载虚拟文件系统,然后挂载root文件系统,解压root文件系统镜像,最后执行init进程。具体的流程可能因为系统的不同而有所差异。

到此,以上就是小编对于linux内核 学习的问题就介绍到这了,希望介绍关于linux内核 学习的3点解答对大家有用。