你知道嵌入式Linux内核?文件系统的制作也是有密切关联的

嵌入式     Linux   系统由 Linux内核 + 根文件系统 两部分组成

一个完整的嵌入式Linux系统组成:bootloader + boot pa     ram   e     te       rs   + kernel + root filesystem

嵌入式Linux系统使用的是Linux内核,制作方法基本和X86平台的Linux内核一致,下面介绍制作运行于     mi   cro2440开发板的内核和根文件系统。

 你知道嵌入式Linux内核?文件系统的制作也是有密切关联的_设计制作_电源/新能源

嵌入式Linux内核的制作:

1,到www.kernel.org下载源代码,解压,进入内核源代码目录。

2,清除原有的配置与中间文件

x86: make distclean

    arm   : make distclean

3,配置内核:

x86: make menuconfig ARCH=i386

arm: make menuconfig ARCH=arm //配置完毕在内核源代码目录生成.config文件,建议参考arch/arm/configs/s3c2410_defconfig .config、

4,编译内核:

x86: make bzImage

arm: make uImage ARCH=arm CROSS_COM     PI   LE=arm-linux- //编译成功在arch/arm/boot/目录下产生zImage内核映像

5,使用tftp下载到开发板运行即可

根文件系统的制作:

根文件系统是Linux启动时使用的第一个文件系统,就像PC机上的文件目录

6,创建根文件系统的目录(目录名随便取)

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

7,创建设备文件

cd dev/

mknod -m 666 console c 5 1

mknod -m 666 null c 1 3

8,安装/etc(随便拷贝点/etc/目录下的文件到该etc目录下)

9,编译内核模块

cd Linux 2.6.29 //进入Linux内核目录

make modules ARCH=arm CORSS_COMPILE=arm-linux-

10,安装内核模块(把编译好的内核模块拷贝到创建的这个文件系统)

make modules_install ARCH=arm INSTALL_MOD_PATH=/***/rootfs //生成rootfs/lib/modules/2.6.29.4-FriendlyARM

busybox的配置-编译-安装:

11,配置busybox(Linux下面是用的一整套的命令和工具的集合)

解压busybox,进入busybox根目录

make menuconfig

选择需要使用的工具

进入 busybox set     ti   ngs->build option->

选中 “build busybox as a sta  TI c binary”,静态链接

更改Cross Compiler prefix 为(arm-linux-)

进入installation option->

选中“do not use /usr”,可以避免busybox被安装到宿主系统的/usr目录下,破坏宿主系统

更改busybox installa  TI on prefix位置为(/xxx/rootfs)

12,编译,安装busybox(把相关的命令/文件拷贝到这个正在创建的文件系统)

在busybox根目录下

make ARCH=arm CROSS_COMPILE=arm-linux- /*等...........等*/

make install //执行的是busybox这个可执行文件/*rootfs/bin/目录下多了好多文件*/

13,至此根文件系统制作完成

由根文件系统制作r     amd   isk

14,需要一个软件genext2fs,为制作ramdisk的工具,

下载地址http://download.chinaunix.net/download.php?id=6874&ResourceID=3625

安装方法:

解压genext2fs

#cd genext2fs

#./configure

#make

#make install

15,利用genext2fs制作ramdisk

#genext2fs -b 8192 -d /***/rootfs ramdisk  //根文件系统的所有内容变成了ramdisk=8192=8MB

gzip -9 -f ramdisk //对ramdisk进行压缩,将此压缩文件放到开发板即 可作为根文件系统启动起来

开发板可运行的文件系统:

NFS文件系统:文件系统在PC机上,开放给开发板运行

ramdisk文件系统:下载到开发板的内存中运行

Linux支持的文件系统:

ext2,ext3,vfat,jffs,     rom   fs,nfs,这些不同的文件系统由虚拟文件系统VFS统一管理

嵌入式Linux支持的文件系统:

jffs2,yaffs,cramfs,ramdisk,ramfs

jffs2:用于NorFlash上,可读写,支持数据压缩

yaffs2:用于NandFlash上,不支持数据压缩,可读写

cramfs:既可以用于NorFlash上,又可以用于NandFlash上,只读,支持数据压缩

ramdisk:用一部分固定大小的内存作为分区来使用,并非是一个实际的文件系统,方便内核启动

NFS:文件系统在PC机上,通过网络共享



98
60
0
47

相关资讯

  1. 1、王景春现身两岸影展影帝钟情蔡明亮1051
  2. 2、《唐探3》破50亿却犯了3个低级错误,吴京:票房高不代表水平高1089
  3. 3、与成龙、梁朝伟因戏生情,被骂狐狸精,如今却让网友念念不忘2725
  4. 4、《涩女郎》改名《爱的理想生活》开播:少了《粉红女郎》的喜感1096
  5. 5、校园版《公寓3》将播演绎从告白开始的爱情274
  6. 6、钢铁侠和怀孕的小辣椒经历生离死别,网友:漫威,我求你善良398
  7. 7、《爱情公寓》男主合影引网友回忆,没想到生活轨迹变化最大的是他2731
  8. 8、《火山对对碰》发终极海报冤家大战刻不容缓3626
  9. 9、聊斋古装惊悚大电影《玄夜狐影》领跑2021下半年首场惊悚!1461
  10. 10、于冬呼吁“资本应对电影更宽容”,叶宁“电影工业化无捷径可走”3317
全部评论(0)
我也有话说
0
收藏
点赞
顶部