您的位置:首页 > 运维架构 > Linux

嵌入式linux系统学习笔记

2013-03-06 21:39 579 查看
嵌入式linux内核制作

1 清除原有配置文件与中间文件

x86 make distclean

arm make distclean

2 配置内核

x86 make menuconfig

arm make menuconfig ARCH=arm

3 内核编译

x86 make bzImage

arm make uImage ARCH=arm CROSS_COMPILE=arm-linux-

根文件系统的制作

1 创建目录和文件

mkdir rootfs

cd rootfs

mkdir bin dev etc lib proc sbin sys usr mnt tmp var

mkdir usr/bin usr/lib usr/sbin lib/modules

2 创建设备文件

cd dev/

mknod -m 666 console c 5 1

mknod -m 666 null c 1 3

cd ..

3 安装/etc

tar etc.tar.gz -C /xxx/rootfs

4 编译内核模块

make modules ARCH=arm CROSS_COMPILE=arm-linux-

5 安装内核模块

make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX/rootfs、

6 配置busybox

进入busybox目录执行

make menuconfig

a 进入busybox settings-->

build options-->

选中build busybox as a static binary (no shared libs)

选中cross corpiler prefix(arm-linux-)

installation options-->

选中don't use/usr

busybox installation prefix(/xxx/rootfs)

注明编译后的busybox的安装位置

7 编译安装

make ARCH=arm CROSS_COMPILE=arm-linux-

make install

嵌入式文件系统

linux支持的文件系统类型:

ext2 ext3 vfat jffs romfs nfs

虚拟文件系统VFS(virtual file system) 为各类文件系统提供一个统一的应用编

程接口

文件系统架构

目录树 用户层

-----------------------------

虚拟文件系统(vfs) 内核层

jffs2 yaffs ramfs

------------------------------

mtd字符设备 mtd块设备 底层驱动

mtd 设备驱动

-------------------------------

nor flash nand flash ram 硬件层

基于flash的文件系统

nor

jffs日志闪存文件系统2(journalling flash file system v2)

可读写、支持数据压缩的日志型文件系统

nand

yaffs/yaffs2(yet another flash file system)不支持数据压缩

cramfs 只读的压缩文件系统

基于ram的文件系统

ramdisk 将一部分固定大小的内存当作块设备为使用

initramfs 类似于tmpfs(产品发布阶段)

nfs(network file system) 通过网络共享文件(开发阶段)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: