BBBLACK 嵌入式linux学习

本文详细解析了嵌入式Linux系统的启动流程,包括bootloader的配置与初始化,kernel的加载与外设设置,以及从内核态到用户态的转换过程。深入探讨了Linux kernel的内核模块(LKM)机制,阐述了其优点与缺点,并介绍了初始化函数(如/sbin/init)的角色。此外,还概述了Linux系统运行中init进程的管理作用及其根据运行级别启动服务的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动流程:
1.启动bootloader,使用uEnv.txt进行系统配置,执行初始化,加载linux kernel,并移交控制权;
2.找到SD卡/eMMC,解压kernel到内存,设置外设、USB、I2C、HDMI等,挂载包括Linux应用程序在内的所有文件系统;
3.条用第一个用户态程序进行初始化,从内核态转到用户态;

kernel的内核模块(LKM)的作用是用那个驱动就加载那个驱动,内核空间可裁剪不会占用大量无用空间,同时不用每次添加新硬件,都必须重建内核;缺点是鼻血为每个设备维护驱动程序文件。

Kernel启动过程的最后一步是调用初始化函数(BeagleBone Black中的 /sbin/init),这是第一个被启动的用户态程序。

LINUX运行:
1.管理的父进程为init,init进程根据运行级别启动相应的服务,先读取/etc/initab,该文件定义了一些细节;
2.根据系统当前运行的级别x,可以查看rcx.d文件中的脚本,这些脚本就是启动时运行的一些脚本;当然我们也可以手动设置这些脚本的运行情况,配置方法如下;

输入ls -ail指令的时候会出一些信息,信息意义如下图:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值