首页 > 其他 > 详细

根文件系统制作

时间:2015-12-03 21:14:05      阅读:244      评论:0      收藏:0      [点我收藏+]

一.建立根文件系统目录与文件

    1.创建目录
        *mkdir  /home/ARM11/kernel/rootfs
        *cd /home/ARM11/kernel/rootfs
        *mkdir bin dev etc lib proc sbin sys usr mnt tmp var 
        *mkdir usr/bin usr/lib usr/sbin lib/modules
    
    2.创建设备文件
       * cd rootfs/dev
       * mknod -m 666 console c 5 1
        *mknod -m 666 null c 1 3
 
   3.加入配置文件
       *tar xvzf  etc.tar.gz
       *mv etc/* ./etc (这里注意是rootfs目录下的etc目录,不是根目录下的etc目录)
 
     4.添加内核模块
        *cd  /home/ARM11/kernel/tin6410_linux/linux-tiny6410 (进入到我们要安装到开发板的内核源码文件下)
        *make modules ARCH=arm CROSS_COMPILE=arm-linux-
        *make modules ARCH=arm INSTALL_MOD_PATH=/home/ARM11/kernel/rootfs (INSTALL_MOD_PATH 制定我们要将收集的内核模块再放在哪里,这里我们制定存放在我们制作的根文件目录下,并且自动保存在/lib/modules下)
技术分享
    5.编译和安装Busybox --BusyBox 是一个集成了一百多个最常用linux命令和工具的软件
        * tar xvzf busybox-1.13.3.tar.gz
        * make menuconfig --配置busybox
               *   Busybox Settings -->Build Options 
                        *选中Build BusyBox as static binary (no shared lib)   -- 静态链接
                        *    ()Cross Compiler prefix  -- 括号里填入arm-linux-
                 *   Busybox Settings -->Build Options 
                        *选中Don‘t use /usr    --选中该项可以避免busybox被安装到宿主系统的/usr目录下,破坏宿主系统。
                        *()BusyBox installation prefix --填入制作跟文件系统所在的目录
          * make --编译
          * make install --安装到制作的跟文件系统下
二.挂载根文件系统到内核
    1.文件系统类型
技术分享
    2.使用Initramfs
        *cd /home/ARM11/kernel/rootfs/
        *ln -s ./bin/busybox init --创建软链接
        *配置linux内核以支持initramfs
             *make menuconfig ARCH=arm      
                *选中技术分享技术分享
                *技术分享--括号里填入制作的根文件系统所在的目录。
          *make uImage ARCH=arm CROSS_COMPILE=arm-linux-  --编译内核
          *启动uboot
               *setenv bootargs noinitrd console=ttySAC0,115200 --设置串口0
               *saveenv --保存环境变量
               *tftp --下载内核到内存
                *bootm  addr  启动内核
    3.使用NFS文件系统
        *配置linux内核以支持NFS
             *make menuconfig ARCH=arm      
                  *取消选中技术分享技术分享
                  *选中File systems -->Network File Systems -->Root file system on NFS
             *make uImage ARCH=arm CROSS_COMPILE=arm-linux-  --编译内核
             *启动uboot
                    *setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=dev/nfs rw nfsroot=192.168.0232:/home/ARM11/kernel/rootfs,proto=tcp,nfsvers=3 ip=192.168.0.137:192.168.0.232:192.168.0.1:255.255.255.0::eth0:off
                    *saveenv
                    *tftp --下载内核到内存
                    *bootm  addr  启动内核
    
  -----至此从移植uboot,到用uboot加载系统内核,再到往内核上挂载文件系统,完成了将linux系统移植到了我tiny6410开发板上。
 
                       --自己选择的路,在艰难,跪着也要走下去,fighting!

根文件系统制作

原文:http://www.cnblogs.com/czy478475977/p/5017379.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!