文档介绍:嵌入式开发简介
1、嵌入式Linux系统典型分区结构
Boot parameters
Bootloader
Linux kernel
Root filesystem
在系统上电后运行的第一段程序,用来进行初始化(关闭Watchdog、启动系统时钟、初始化存储器控制器、将kernel等代码复制到内存中)。
简单的说,Bootloader相当于PC机中的BIOS,初始化硬件设备、准备好软件环境,最后调用操作系统内核。
2、 Bootloader
2、 Bootloader之U-Boot
U-Boot是嵌入式中最常用的一种开源Bootloader,此外还有vivi 、Redboot、ARMboot、Blob、Bios-lt、Bootldr等。
上电自动运行,几秒内按任意键进入命令行,可以修改各种参数。
2、 Bootloader之U-Boot
bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART)
目录名
描述
arch
体系结构相关的代码
block
块设备的通用函数
crypto
常用加密和散列算法,还有一些压缩和CRC校验算法
drivers
所有的设备驱动程序,里面的每一个子目录对应一类驱动程序
fs
Linux支持的文件系统的代码,每个子目录对用一种文件系统
include
内核头文件(基本头文件、驱动或功能部件头文件等)
init
内核的初始化代码(不是系统的引导代码)
ipc
进程间通信的代码
kernel
内核管理的核心代码
lib
内核用到的一些库函数代码
mm
内存管理代码
net
网络支持代码,每个子目录对应于网络的一个方面
security
安全、密钥、相关代码
sound
音频设备的驱动程序
usr
用来制作initrd的镜像,他可以作为内核启动后挂接的第一个文件系统
documentation
内核文档
scripts
用于配置、编译内核的脚本文件
3、Linux Kernel
名称
描述
Makefile和Kbuild
编译系统的主体,控制着内核的编译、链接规则
.config
最终配置文件,在配置内核后生成。
Kconfig
生成配置菜单,控制配置规则
3、Linux内核中的编译文件
Make menuconfig;make xconfig等命令
3、Linux kernel的配置
4、根文件系统
目录名
描述
bin
基本的,常用的命令,所有用户都可使用
sbin
系统命令,用于启动系统,修改系统设置等
usr
用户添加的文件,包括命令、库、配置文件等
proc
proc文件系统的挂载点,用来显示和控制设备状态
dev
存放设备文件
etc
启动文件,系统配置文件等
lib
库和内核模块
tmp
所有用户可读写的临时目录
var
运行时可变数据,重启后清空
mnt
U盘,NFS等文件系统的挂载点
1、/etc/inittab
::sysinit:/etc/
::respawn:/sbin/getty ttyS0 115200
::shutdown:/bin/cfg wlan down
2、/etc/
Mounts everything in the fstab;
Insert the kernel driver modules;
Bring up work;
Enable USB;
Start d, httpd service.
4、根文件系统-启动脚本