手把手教你移植linux内核---------OK6410(五)

搭建NFS网络文件系统

         NFS (Network File System)是由Sun开发的一种在不同机器之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。

        根文件系统是Linux启动时使用的第一个文件系统。没有根文件系统,Linux将无法正常启动。通过以上四讲我们已经把文件内核启动和一些简单的驱动做了实现,因为没有文件系统所以我们没法看到具体类似终端的操作。通过本讲就可以实现终端操作。


        1、创建根文件系统的目录

    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

        2、创建设备文件
    cd dev/
    mknod -m 666 console c 5 1
    mknod -m 666 null c 1 3
    cd ..

        3、安装/etc         可以将飞凌的etc目录直接拷贝过来

    tar etc.tar.gz –C /xxx/rootfs
       4、编译内核模块  进入Linux内核目录(linux 3.3.5)
    make modules ARCH=arm
    CROSS_COMPILE=arm-linux-
      5、安装内核模块
   make modules_install ARCH=arm
   INSTALL_MOD_PATH=/xxx/rootfs
      6、busybox的配置和安装

      下载最新的瑞士军刀busybox的官网http://www.busybox.net 的版本为busybox-1.20.0

      修改busybox的makefile:

   CROSS_COMPILE ?= arm-linux-
   ARCH ?= arm

      Make menuconfig配置busybox


       7、编译、安装busybox

   make
   make install

      到此整个基本的文件系统已经完成,下面将进行nfs的配置

######################################################################################################

        关于如何修改uboot的bootargs的内容请参考飞凌官方的文档里面讲的非常清楚了。

       下面进行内核配置

       [*] Networking support --->


File systems --->

    [*] Network File Systems --->

最后启动如下:

usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 15
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
gpio-keys gpio-keys: failed to request GPIO 149, error -16
gpio-keys: probe of gpio-keys failed with error -16
s3c-rtc s3c64xx-rtc: setting system clock to 2000-04-25 16:17:57 UTC (956679477)
dm9000 dm9000.0: eth0: link down
IP-Config: Complete:
     device=eth0, addr=192.168.0.232, mask=255.255.255.0, gw=255.255.255.255,
     host=192.168.0.232, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.0.231, rootpath=
dm9000 dm9000.0: eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
VFS: Mounted root (nfs filesystem) on device 0:10.
Freeing init memory: 152K
hwclock: can't open '/dev/rtc': No such file or directory
/etc/init.d/rcS: line 45: /bin/hotplug: not found
Try to bring eth0 interface up......NFS root ...Done

Laoyl
[root@Laoyl ~]#


到此内核移植到文件系统的启动已经结束,对于qt的移植和触摸屏的移植将在以后讲到。




你可能感兴趣的:(linux)