一、制作根文件系统

1.下载最新版的 busybox 地址:http://www.busybox.net/downloads/

2、编译busybox。先make menuconfig ,修改以下:
Busybox Settings --->
    Build Options --->

Build BusyBox as a static binary 
         //我们使用动态链接的方式生成需要的命令,所以不选
    (arm-linux-) Cross Compiler prefix
        //这里和Makefile里保持一致,应该写一处就行了

Busybox Settings --->
    Installation Options--->

(./_install)Busybox Installation Prefix
       //安装路径前缀,可以保留默认路径(./_install)

Busybox Settings --->
    Installation Options--->

Fancy shell prompts
       //选中可以使我们在profile这个中设置的命令行提示符PS1中的转义字符生效。
   Tab completion也选上

Init Utilities--->
    Support reading an inittab file
      //选中可以使我们放在/etc下的inittab这个文件被busybox的init进程解析

保存退出,直接make,make install。
 
 3、用shell脚本创建根文件系统的目录结构,并在想要建立根文件系统的地方运行此脚本。我是用root用户登陆的,直接创建了设备节点。
root@li-ace:/# vim makedir.sh
#!/bin/sh
  echo "makeing rootdir"
  cd /home/li
  mkdir rootfs
  cd rootfs
  echo "makeing dir: bin dev etc lib proc sbin sys usr mnt tmp var home root ..."
  mkdir bin dev etc lib proc sbin sys usr mnt tmp var home root #13 dirs
  mkdir usr/bin usr/lib usr/sbin usr/share lib/modules
#Don't use mknod, unless you run this Script as
  mknod -m 777 dev/console c 5 1
  mknod -m 777 dev/null c 1 3
  echo "done"
执行这个sh:
root@li-ace:/# sh makedir.sh
创建出一个主文件夹rootfs,里面有一批文件:
root@li-ace:/home/li/rootfs:/# ls
bin  dev  etc  home  lib  mnt  proc  root  sbin  sys  tmp  usr  var

PS:
mknod -m 777 dev/console c 5 1
mknod -m 777 dev/null c 1 3
//这两个节点文件一定要全部解开,不然挂载时就会出现下面的错误
Freeing init memory: 1428K                                                                                                                    
mount: RPC: Remote system error - No route to host                                                                                            
/init: line 103: can't open /r/dev/console: no such file                                                                                      
Kernel panic - not syncing: Attempted to kill init!

4、 把busybox源码目录下的etc的内容拷贝到这里的etc下
root@li-ace:/# cd etc/
root@ etc:/# cp -a /home/li/busybox-1.17.2/examples/bootfloppy/etc
                 
TCP cubic registered                                                                                                                         
NET: Registered protocol family 17                                                                                                           
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5                                                                      
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)                                                                                      
dm9000 dm9000: eth0: link down                                                                                                               
IP-Config: Guessing netmask 255.255.255.0                                                                                                    
IP-Config: Complete:                                                                                                                         
     device=eth0, addr=192.168.1.230, mask=255.255.255.0, gw=255.255.255.255,                                                                
     host=192.168.1.230, domain=, nis-domain=(none)                                                                                          
dm9000 dm9000: eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1                                                                               
,                                                                                                                                            
     bootserver=255.255.255.255, rootserver=192.168.1.101, rootpath=                                                                         
Freeing init memory: 1428K                                                                                                                   
                                                                                                                                             
Please press Enter to activate this console.                                                                                                 
[root@Enjoylinux /]#

OK,这样就启动完成了,ls查看下可以看到文件系统里的目录

Please press Enter to activate this console.                                                                                                 
[root@Enjoylinux /]# ls                                                                                                                      
bin      etc      lib      mnt      root     sys      usr                                                                                    
dev      home     linuxrc  proc     sbin     tmp      var                                                                                    
[root@Enjoylinux /]#

tiny6410nfs挂载问题的更多相关文章

  1. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  2. U盘安装Kali 出现cd-rom无法挂载 已解决

    用U盘安装Kali Linux的过程中,出现cd-rom无法挂载的现象,百度坑比啊,醉了.下面亲测成功 出现无法挂载后,选择执行shell 第一步:df -m此时会看到挂载信息,最下面的是/dev/* ...

  3. linux mount/umount挂载命令解析。

    如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现. 2.      mount的基本用法是?格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: ...

  4. 《连载 | 物联网框架ServerSuperIO教程》- 14.配制工具介绍,以及设备驱动、视图驱动、服务实例的挂载

    注:ServerSuperIO二次开发套件授权码申请---截止到:2016-12-09 1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架Server ...

  5. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。

    3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...

  6. nfs挂载配置

    nfs挂载步骤 服务器端 1.安装nfs-utils rpcbind $sudo yum –y install nfs-utils rpcbind 2.文件开放出去配置/etc/exports 例子: ...

  7. mount常用挂载命令

    挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式: mount [-t vfstype] [-o optio ...

  8. Linux系统下面挂载u盘

    1.先插好u盘到Linux服务器,然后查看u盘挂载到哪个目录下面. [root@localhost ~]# /sbin/fdisk -l 2.挂载到u目录下面 [root@localhost ~]# ...

  9. autofs自动挂载

    autofs是根据需要自动挂载,默认5分钟不使用自动卸载挂载点!nfs,smb,iso,sd*的挂载 环境:RHEL6.5/Centos6.5    172.24.0.25 01.安装autofs y ...

随机推荐

  1. alsa project

    http://www.alsa-project.org/main/index.php/Main_Page

  2. jquery 替换原来的html内容

    1.replaceWith() 使用括号内的内容替换所选择的内容. $("#div").replaceWith("<div id="div2"& ...

  3. 【Java】Callable,Runnable比较及用法

    1.Runnable和Callable的区别 (1) Callable规定的方法是 call(), Runnable规定的方法是 run(). (2) Callable的任务执行后可返回值,而 Run ...

  4. DataTable 字段值为空的时候报错的解决

    在使用Datatable的时候,后台返回给前台的值会有空的时候,而这个时候,前台会报错,这里讲防治方法: $('#datatable1').DataTable( { ajax: { "url ...

  5. aspx小集合

    1.注意GroupName <asp:RadioButton ID="rdoF" runat="server" Text="男" Ch ...

  6. 【C#】时间日期格式转换:long和DateTime相互转换

    // DateTime --> long public static long ConvertDateTimeToLong(DateTime dt) { DateTime dtStart = T ...

  7. spring4.1.6配置quartz2.2.1(maven) <转>

    Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError ...

  8. 枚举类转成json

    import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * portlet类别枚举类 */ ...

  9. BusyBox inittab配置

    inittab第一行指定初始化脚本,开启所有应用程序,必须有. ::sysinit:/etc/init.d/rcS 在第一行执行完后,执行剩余行命令,此终端要接受命令交互需开启sh. ::askfir ...

  10. mysql 分库分表(水平切割和垂直切割)

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...