本文作者:ptiyny

linux内核开发技术学习 linux内核开发需要掌握哪些技术

ptiyny 21分钟前 2
linux内核开发技术学习 linux内核开发需要掌握哪些技术摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核开发技术学习的问题,于是小编就整理了2个相关介绍linux内核开发技术学习的解答,让我们一起看看吧。Linux K...

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

linux内核开发技术学习 linux内核开发需要掌握哪些技术
(图片来源网络,侵删)

Linux Kernel (Linux内核)怎么安装

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

2、#cd/usr/src/kernels

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内核开发技术学习 linux内核开发需要掌握哪些技术
(图片来源网络,侵删)

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 内核的 rootfs 的流程大致如下:
1. 去除压缩和添加校验的 bootloader(如 U-Boot)将内核加载到内存中。
2. 内核在内存中解压自身。
3. 内核通过启动参数 `root` 指定根文件系统的类型和位置。如果未指定,内核会使用默认的根文件系统。
4. 内核根据 `root` 的类型(例如,ext4、NFS、RAM disk 等)来加载根文件系统的驱动程序。
5. 内核启动 `init` 程序(用于初始化系统)。
6. `init` 程序继续加载其他必要的系统组件和服务,例如加载系统库、启动守护进程等。
总的来说,加载 rootfs 的流程就是内核启动后根据指定的根文件系统类型加载相应的驱动程序,并启动 init 程序来进一步初始化系统。

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

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享