• 最小根文件系统


    最小根文件系统

    1./dev/console /dev/null
    2.init
    3./etc/inittab
    4.配置文件中指定的程序
    5.c库

    1.mkdir dev
      cd dev
      sudo mknod console c 5 1
      sudo mknod null    c 1 3

    3.mkdir etc
      vim etc/inittab
      console::askfirst:-/bin/sh
     
      mkdir ~/workspace/linux/nfs_root/first_fs/lib
      cp *.so* ~/workspace/linux/nfs_root/first_fs/lib/ -d
     
    4.制作文件系统
      tar xjf yaffs_source_util_larger_small_page_nand.tar.bz2
      cd Development_util_ok/yaffs2/utils
      make
      sudo cp mkyaffs2image /usr/local/bin
      sudo chmod +x /usr/local/bin/mkyaffs2image
      cd ~/workspace/linux/nfs_root
      mkyaffs2image first_fs first_fs.yaffs2
     
    5.
      mkdir proc
      //手动挂载
      sudo mount -t proc none /proc
      //自动挂载
      vim etc/inittab
      ::sysinit:/etc/init.d/rcS
      mkdir /etc/init.d
      vim rcS
     
      1>
      添加:mount -t proc none /proc
      chmod +x /etc/init.d/rcS
     
     
      mount -a
      意思是:读取/etc/fstab文件,然后挂载文件系统
     
      /etc/fstab文件格式:
      device  mount-point  type   options   dum   fsck   order
      proc        /proc        proc    defaults 0      0
      tmpfs        /tmp        tmpfs    defaults 0      0
      2>
      rcS中添加:
      mount -a
      修改/etc/fstab文件
      添加
      #device  mount-point  type   options   dum   fsck   order
       proc        /proc        proc    defaults 0      0
      内容
     
      查看挂接了哪些根文件系统
      cat /proc/mounts
     
    6.udev机制:自动创建dev/设备节点
      mdev是udev的简化版本
        
      根目录:mkdir /sys
      vim /etc/fstab
      1>fstab文件内容:
      #device  mount-point  type   options   dum   fsck   order
      proc        /proc        proc    defaults 0      0
      sysfs        /sys        sysfs    defaults 0         0
      tmpfs        /dev        tmpfs    defaults 0        0
     
      2>/etc/init.d/rcS文件内容:
      mkdir /dev/pts
      mount -t devpts devpts /dev/pts
      echo /sbin/mdev > /proc/sys/kernel/hotplug
      mdev -s
     
     
     
      jffs2
     
      tar zxf zlib-1.2.3.tar.gz
      cd zlib-1.2.3
      ./configure --shared --prefix=/usr/
      make
      sudo make install
     
     
      mkfs.jffs2工具
      tar xjf mtd-utils-05.07.23.tar.bz2
      cd mtd-utils-05.07.23/util
      make
      //制作jffs2
      mkfs.jffs2 -n -s 2048 -e 128KiB -d first_fs -o first_fs.jffs2
     
      强制指定文件系统的类型
      set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0
      save
     
      网络文件系统
      nfs
      配置ip
      ifconfig eth0 192.168.1.115
      a.从flash上启动根文件系统,再用命令挂接NFS
     
      挂接NFS
      1.服务器允许那个目录可被挂接(NFS服务)
          //安装
        sudo apt-get install nfs-kernel-server
        sudo vim /etc/exports
        //添加
        /home/workspace/linux/nfs_root/first_fs  *(rw,sync,no_root_squash)
        //重启nfs-kernel-server
        sudo /etc/init.d/nfs-kernel-server restart
        //本地测试
        sudo mount -t nfs 192.168.1.94:/home/liulipeng/workspace/linux/nfs_root/first_fs /mnt
        
      2.单板去挂接
        mkdir /mnt
        mount -t nfs  -o nolock 192.168.1.94:/home/liulipeng/workspace/linux/nfs_root/first_fs   /mnt
     
       b.直接从NFS启动
         NFS启动参数:
         1.服务器ip,目录
         2.设置自己的IP
         set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.19:/home/workspace/nfs_root/first_fs ip=192.168.1.94:192.168.1.19:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
         
         
     

  • 相关阅读:
    NodeJs学习历程
    MongoDb学习历程
    递归函数为什么要防止栈溢出
    *args 是可变参数,args 接收的是一个 tuple; **kw 是关键字参数,kw 接收的是一个 dict。
    list和tuple的区别
    python源码阅读
    常用的线程池有哪些?
    备份
    假设你正在爬楼梯,需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢?
    最后一个单词的长度
  • 原文地址:https://www.cnblogs.com/liulipeng/p/3386323.html
Copyright © 2020-2023  润新知