最小根文件系统

最小根文件系统

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
     
     
 

posted on   屁屁侠  阅读(571)  评论(0编辑  收藏  举报

编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
历史上的今天:
2012-10-24 #if、#ifdef、#if defined之间的区别

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示