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

发布时间:2023-01-11  

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

一个完整的嵌入式Linux系统组成:bootloader + boot parameters + kernel + root filesystem


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


嵌入式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_COMPILE=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 setTIngs->build option->

选中 “build busybox as a staTIc binary”,静态链接

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

进入installation option->

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

更改busybox installaTIon prefix位置为(/xxx/rootfs)

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

在busybox根目录下

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

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

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

由根文件系统制作ramdisk

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,romfs,nfs,这些不同的文件系统由虚拟文件系统VFS统一管理

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

jffs2,yaffs,cramfs,ramdisk,ramfs

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

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

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

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

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    永磁电机有哪些优缺点?;永磁电机中永磁材料是其磁路的组成部分,也是磁源。任何电机都有自身的优势与劣势,那么永磁电机有哪些优缺点?下面由电机磁铁厂家小编带大家了解。 钕铁硼圆环磁铁 永磁......
    个人来说,能把里面其中一个部分做好已经很不错了。 如果大家对学习单片机也有兴趣,下面给大家介绍下单片机都有哪些学习的渠道。 1.小破站 如果你没听过小破站可以自行度娘,这里不方便讲太明白,单片......
    备在便利生活的同时,也带来了被攻击的可能性,旺龙如何应对产品的联网安全问题,有哪些解决方案? 此次展出的两款系统并不接入到电梯的控制系统......
    构建微波和毫米波自动测试系统需要考虑哪些因素;自动测试系统是5G、下一代WiFi、卫星通信系统的高频测试的基础,而数字步进衰减器、移相器和信号发生器等可编程射频设备则是这些系统的重要组成部分。在测......
    汽车五大域控制器有哪些?汽车域控制器和ecu的区别;  汽车域控制器是一种集成化的控制器,用于管理和控制汽车电子系统中的多个嵌入式电子控制单元(ECU)。它作为整车电子系统的中枢,通过......
    管理、网络通信、文件系统等经典模块,哪些模块在内核,哪些系统服务在用户空间,不同的操作系统有些差异,但功能基本一致。内核空间的模块简单理解就是超级管理员,能访问全部硬件资源, 而Ring3上的......
    电路板都有哪些应用领域?; 电路板,作为现代电子设备中不可或缺的组成部分,其应......
    精度要足够高。因此,在选择伺服电机的时候,一定要把问题考虑周全 伺服电机选型要点有哪些: 有些系统如传送装置,升降装置等要求伺服电机能尽快停车,而在故障、急停、电源断电时伺服器没有再生制动,无法......
    用来访问文件和目录,包括open()、read()、write()、close()、mkdir()、rmdir()等。这些系统调用允许应用程序读写文件、创建和删除目录等,是Linux系统......
    ,有光点出现则进入第三步,检查X输出放大器和产生锯齿波的扫描发生器。 示波器的常见故障类型都有有哪些,有故障了该如何维修? ③Y位移不正常。方法:短路延迟线,观察光迹线或光点能否回到屏幕中心, 若能......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>