学习解析嵌入式Linux开发(基于phytiumpi)(二)(内核,根文件系统)

嵌入式linux(基于飞腾派)

首先看一下phytiumpi OS 的目录结构

ren@phytiumpi:/$ ls
bin  boot  data  dev  etc  home  lib  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

linux体系结构:
在这里插入图片描述

linux内核结构:
在这里插入图片描述

注意区分:
在这里插入图片描述

四.内核

强烈推荐去看“土豆西瓜大芝麻”《深度:一文看懂Linux内核!Linux内核架构和工作原理详解》一文,去了解内核的大体内容

4.1 内核查看

ren@phytiumpi:/$ uname -a
Linux phytiumpi 6.6.63-phytium-embedded-v3.1 #1 SMP PREEMPT Sun Mar 30 19:58:00 CST 2025 aarch64 GNU/Linux

PhytiumPi使用Linux 6.6.63-phytium-embedded-v3.1​​ 内核(aarch64架构)

4.2 内核加载方式

ren@phytiumpi:/$ cat /proc/cmdline
console=ttyAMA1,115200 earlycon=pl011,0x2800d000 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait  rw cma=256m ;

说明没有独立/boot分区

4.3 内核主要目录:

arch:与cpu架构相关的文件,每个架构包含一个子目录
drivers:包含设备驱动程序
Documentation:包含内核说明文档
fs:文件系统相关程序
include:包含内核头文件,包括构建工具链所需文件
init:内核初始化代码
kernel:包含内核源代码,核心功能,包括调度,定时器,电源管理和调试/跟踪代码
mm:内存管理相关程序
net:包含网络协议
scripts:包含内核构建脚本
tools:包含工具

飞腾派linux内核源码clone

git clone https://gitee.com/phytium_embedded/phytium-linux-kernel.git

4.4 内核配置与编译

1.内核配置
Kconfig
2.内核编译
Kbuild

(现学习阶段不进一步深入,未来有时间会深入学习)



五.根文件系统

根文件系统:内核启动时加载的初始文件系统,用于引导用户空间程序

5.1 基本文件布局

/bin :包含一些基本的命令行工具
/dev:设备节点和其他特殊文件
/etc:系统配置文件
/lib:基本共享库
/proc:虚拟文件系统,提供内核和进程信息
/sbin:超级用户专用命令
/sys:虚拟文件系统,提供系统信息
/tmp:临时文件
/usr:用户级应用程序和文件
/var:可变数据,如日志和缓存

5.2 create根文件系统的必要要素

init:系统启动时执行的第一个进程,负责初始化系统
shell:用于交互式命令行操作
守护程序(daemon):为其他程序提供服务的后台程序,如系统日志守护进程(syslogd),安全shell守护进程(sshd)
共享库(shared library):用于支持程序
配置文件(configuration file):init和其他守护程序的配置文件
设备节点(device node):允许访问各种设备驱动程序的设备文件
proc,sys文件系统
kernel module:内核模块



后期会尝试制作根文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值