zoukankan      html  css  js  c++  java
  • 环境搭建

    1.uboot

    1.解压官方源码,注意这里是u-boot-1.1.6
    2.使用补丁包
    3.配置并编译
        tar xjf u-boot-1.1.6.tar.bz2 
        cd u-boot-1.1.6/
        patch -p1 <../u-boot-1.1.6_jz2440.patch
        make 100ask24x0_config
        make
    制作好了uboot.bin文件
        a.烧录
        b.备份下补丁文件(压缩打包)
    注释:
        patch -pn <补丁文件
        -pn: 忽略补丁文件前的n个'/'
    

    2.Kernel

    1.解压
        tar xjf linux-2.6.22.6.tar.bz2
    2.打补丁
        patch -p1 < linux-2.6.22.6_jz2440.patch
    3.打包下生产的文件
        tar cjvf linux2.6.22_ok.tar.bz2 linux-2.6.22.6
    4.配置
        方法一:自己配置
            make menuconfig 
        方法二:使用厂家提供配置
            cp config_ok .config
            make menuconfig
    5.编译
        make uImage
    6.烧录内核
        在uboot下,输入k进入烧写,使用dnw烧写程序
    

    3.Root Filesystem

    1.在u-boot下输入y,下载文件系统fs_mini.yaffs2,然后启动.
    

    4.busybox

    1.解压,源码包在busybox-1.7.0.tar.bz2
        tar xjf  busybox-1.7.0.tar.bz2
        cd busybox-1.7.0/
    2.设置下交叉编译工具为arm-linux-,修改顶层Makefile
        CROSS_COMPILE   ?=arm-linux-
    3.修改配置项目,增加tab补全功能,busybox settings ---busybox libry tuning ----tab completion,输入y选择.其余模块的使能一般在Linux Module Utilities --->中
    4.make
    5.设置安装路径make CONFIG_PREFIX=~/stu/first_fs install
    查看说明文档INSTALL,注意不能直接使用make install,这样会安装到pc上,破坏pc.应该要使用make CONFIG_PREFIX=xxx目录 install
    6.可以看到文件链接到busybox,也就是说bin下面有个busybox的程序,其他ls等都链接到它
     ls -l
    

    5.NFS网络文件系统

    先挂载了FLASH的文件系统,然后挂载另一个文件系统

    设置主机

    1.启动NFS服务,使得主机上的文件夹允许被单板访问挂载.NFS服务在/etc/exports上配置,在该文件上增加新建的文件系统的路径sudo vi /etc/exports,添加内容,其中*表示允许所有文件
        /work          *(rw,sync,no_root_squash,no_subtree_check)
        /home/book/stu/fs/5th  *(rw,sync,no_root_squash,no_subtree_check)
    2.重启主机NFS, sudo /etc/init.d/nfs-kernel-server restart
    3.showmount -e 即可查看已经声明过的可被挂载的目录
    4.尝试使用主机自己挂载自己的NFS文件夹,主机自身ip为192.168.5.107,然后可以在mnt下看到文件
        book@100ask:~/stu/fs$ sudo mount -t nfs                    192.168.76.135:/home/book/stu/fs/5th  /mnt
        book@100ask:~/stu/fs$ ls /mnt
        bin  dev  etc  lib  linuxrc  proc  sbin  sys  usr
    

    设置单板

    1.查询设置ip
        ifconfig eth0 up
        ifconfig eth0 192.168.5.200
    2.新建mnt文件夹,尝试挂载
        mkdir /mnt
        mount -t nfs -o nolock 192.168.5.222:/home/book/stu/fs/5th /mnt
    
        mount :挂载命令 
        nfs :使用的协议 
        nolock :不阻塞  
        IP : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP) 
        /work/nfs: 要挂载的目录(Ubuntu的目录) 
        /mnt : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)
    3.注意看下etc/init.d/rcS 里面是否有ip配置,如果有,可以删除或者改成对的.光盘的文件有设置这个,如果复制过来需要修改
    

    使用NFS文件系统为根文件系统

    NFS启动

    1.查看之前的启动参数bootargs,修改省略hostname
        # 原来的
        # bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
        set bootargs noinitrd root=/dev/nfs         nfsroot=192.168.5.222:/home/book/stu/fs/5th ip=192.168.5.200:192.168.5.222:192.168.5.222:255.255.255.0::eth0:off  init=/linuxrc console=ttySAC0
    2.可以在主机直接使用arm-linux-gcc编译,产生的程序直接在单板运行
    
    eg:
        set bootargs noinitrd root=/dev/nfs nfsroot=10.255.16.10:/home/book/stu/first_fs ip=10.255.16.50:10.255.16.10:10.255.16.5:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
    

    使用:只需要把需要挂载的文件拷贝到目标文件夹中即可

    eg:
        cp firstdrvtest /work/nfs_root/first_fs
  • 相关阅读:
    Leetcode Substring with Concatenation of All Words
    Leetcode Divide Two Integers
    Leetcode Edit Distance
    Leetcode Longest Palindromic Substring
    Leetcode Longest Substring Without Repeating Characters
    Leetcode 4Sum
    Leetcode 3Sum Closest
    Leetcode 3Sum
    Leetcode Candy
    Leetcode jump Game II
  • 原文地址:https://www.cnblogs.com/huangdengtao/p/12275868.html
Copyright © 2011-2022 走看看