天天看点

嵌入式系统制作

内核制作:

        清除配置文件 make  distclean

        配置内核     make  menuconfig ARCH=arm

        编译内核     make  uImage ARCH=arm  CROSS_COMPILE=arm-linux-

根文件系统:

         文件系统的含义 按照固定格式组织的目录和文件

                                   在特定的存储介质上管理这些目录和文件所需要的数据

         制作根文件系统 创建文件和目录

                                   为创建好的文件和目录建立管理数据

         创建根文件系统的目录

                 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

         创建设备文件

                 cd dev/

                 mknod -m 666 console c 5 1

                 mknod -m 666 mull c 1 3

                 cd ..

        安装/etc

                 tar ect.tar.gz -C /XXX/rootfs

        编译内核模块,进入linux内核目录

                 make modules ARCH=arm CROSS_COMPILE=arm-linux-

        安装内核模块

                 make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX/rootfs

        配置busybox

                 进入busybox目录  make menuconfig 

                 进入busybox setting》build options》选择build busybox as a satic binary  //静态连

                  cross compiler prefix install options 选择dont use /usr   //避免破坏宿主机

                  busybox installation prefix      //编译后的busybox安装位置

       编译安装busybox

                   make ARCH=arm CROSS_COMPILE=arm-linux-

                   make install

文件系统:

      JFFS2用于NOR型flash,可读写支持数据压缩的日执型文件系统,提供断电保护。当文件系统快满时,因收集垃圾而使速度慢

      yaffs/yaffs2用于NAND型flash,功能较少,运行速度更快,挂载时间短

      cramfs  用于NOR或NAND,只读,以压缩方式存储

      ramdisk,基于ram的文件系统,将一小部分固定大小内存当多块设备使用,将实际的文件系统装入内存

      initramfs  也是基于内存的,但大小不定,动态的

      NFS 共享文件系统