zoukankan      html  css  js  c++  java
  • iTOP-4412开发板使用

    使用环境:win7 旗舰64位,VMware11 使用使用板上提供的ubuntu12.04,用VMWARE直接打开虚拟机,因为之前开发epc9600开发板,所以虚拟机网络已经设置过,加载ubuntu12.04后发现可直接联网.

    交叉编译工具链已经存放在/usr/local/arm/arm-2009q3/bin,而且在/root/.bashrc里已经export PATH=$PATH:/usr/local/arm/arm-2009q3/bin,且export PATH=$PATH:/usr/local/ndk/android-ndk-r8b,但没起作用要source .bashrc,这样每次登陆root用户都要cd /root , source .bashrc

    改变方法,vi /home/topeet/.bahsrc

    添加export PATH=$PATH:/usr/local/arm/arm-2009q3/bin  export PATH=$PATH:/usr/local/ndk/android-ndk-r8b

    这样只要登录root用户,环境变量自动就好了。

    可以发现/root/.bashrc最后还有两行

    #export PATH=$PATH:/usr/local/arm/4.4.1/bin
    #export PATH=$PATH:/usr/local/arm/4.3.2/libexec/gcc,都被注释掉了。这两行都是添加环境变量的,但这两行添加的交叉编译器名称和/usr/local/arm/arm-2009q3/bin里的是一样的,不能同时生效,应该是切换工具链时使用

    参照ubuntu14.04.32 vmware11开发环境搭建 http://www.cnblogs.com/cenglinjinran/p/4583784.html 安装vmware tools

    sudo apt-get update

     sudo apt-get install nfs-kernel-server 

    升级linux内核到3.5????????????????升级不成功,内核不断自重启,返回3.0

    但原本的3.0镜像不支持nfs,需要重新编译内核使他支持nfs文件挂载,重新配置内核,开启nfs后成功。

    cat /proc/filesystems
    如果显示nodev nfs,表示内核有支持NFS。
    内核编译可参考讯为文档iTOP-4412实现NFS网络文件系统.pdf
     

    使用buildroot重新烧写根文件系统

    1、配置编译buildroot,生成 /opt/share/buildroot-2014.05/output/image/root.tar。

    开发板自带的根文件系统解压至/opt/share/root.b/,

    rm -rf /opt/share/root/*

    tar -xvf  /opt/share/buildroot-2014.05/output/images/rootfs.tar -C  /opt/share/root

    rm /opt/share/root/dev/console 

    cp -rf  /opt/share/root.b/etc/firmware/   /opt/share/root/etc/

    cp   /opt/share/root.b/etc/rc.d/init.d/netd   /opt/share/root/etc/

    cp    /opt/share/root.b/etc/eth0-setting   /opt/share/root/etc/

    cp   /opt/share/root.b/etc/init.d/ifconfig-eth0   /opt/share/root/etc/init.d/

    cp   /opt/share/root.b/etc/inetd.conf   /opt/share/root/etc/

    cp  /mnt/hgfs/soft/epc9600/wqy-microhei.ttf   /opt/share/root/usr/lib/fonts

    vi   /opt/share/root/etc/init.d/rcS

    将原根文件系统各文件/etc/init.d/rcS 文件中的下列部分添加到新生成的文件系统etc/init.d/rcS最后。

    umask 022

    trap ":" INT QUIT TSTP

    [ -e /proc/1 ] || /bin/mount -n -t proc none /proc
    [ -e /sys/class ] || /bin/mount -n -t sysfs none /sys
    [ -e /dev/tty ] || /bin/mount -t ramfs none /dev

    /sbin/mdev -s
    # mounting file system specified in /etc/fstab
    mkdir -p /dev/pts
    mkdir -p /dev/shm
    /bin/mount -n -t devpts none /dev/pts -o mode=0622
    /bin/mount -n -t tmpfs tmpfs /dev/shm
    /bin/mount -n -t ramfs none /tmp
    /bin/mount -n -t ramfs none /var

    mkdir -p /var/log
    mkdir -p /var/www
    mkdir -p /var/run
    mkdir -p /var/lib/lighttpd

    ln -sf /dev/ttyS2 /dev/tty2
    ln -sf /dev/ttyS2 /dev/tty3
    ln -sf /dev/ttyS2 /dev/tty4

    amixer cset numid=5 127
    amixer cset numid=6 1
    amixer cset numid=30 8,0
    amixer cset numid=40 1
    amixer cset numid=43 1
    amixer cset numid=47 1

    syslogd

    /etc/netd start

    echo "*************************************" > /dev/ttySAC2
    echo " http://www.gainuo.com " > /dev/ttySAC2
    echo "*************************************" > /dev/ttySAC2

    sleep 2

    /etc/firmware/load_firmware

    /sbin/ifconfig lo 127.0.0.1

    /etc/init.d/ifconfig-eth0

    echo 0 > /proc/sys/kernel/hung_task_timeout_secs

    echo "Starting Qt, please waiting..." > /dev/ttySAC2

    #configure tslib1.1

    export TSLIB_ROOT=/
    export TSLIB_TSDEVICE=/dev/input/event2
    export TSLIB_TSEVENTTYPE=input
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0

    export QT_QWS_FONTDIR=/usr/lib/fonts

    if [ -c /dev/input/event2 ]; then
    export QWS_MOUSE_PROTO='Tslib:/dev/input/event2'
    if [ -e /etc/pointercal ] ; then
    fsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)
    echo $fsize
    if [ $fsize -ge "1" ]; then
    echo "/etc/pointercal is exit"
    else
    echo "/etc/pointercal is empty"
    rm /etc/pointercal
    /usr/bin/ts_calibrate
    fi
    else
    echo "/etc/pointercal not found"
    /usr/bin/ts_calibrate
    fi
    else
    export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
    #>/etc/pointercal 
    fi

    export HOME=/root

    cd /usr/share/qt/demos/embedded/fluidlauncher
    ./fluidlauncher -qws &

    cd  ~/

    mount -t nfs  192.168.1.57:/opt/share /mnt/   -o nolock

    #must run this shell
    /bin/sh

     echo  > /opt/share/root/etc/init.d/ifconfig-eth0

    echo nameserver 192.168.1.1 > /opt/share/root/etc/resolv.conf

    2、cd /home/topeet/Linux+QT   make_ext4fs -s -l 314572800 -a root -L linux system.img root  生成根文件镜像

    3、烧录镜像到开发板,进入uboot命令行,sdfuse flash system system.img,reset。

  • 相关阅读:
    postman+newman+jenkins 接口自动化问题
    rabbitMQ Management http://localhost:15672/ 打不开
    转-轻松几步搭建SVN服务器
    Eclipse调优
    转- 关于时间,日期,星期,月份的算法(Java中Calendar的使用方法)
    calculate Leave Days
    验证只能输入中文
    js 只能限制只能输入数字和转大写方法
    拿来自勉
    JAVA的容器---List,Map,Set的区别
  • 原文地址:https://www.cnblogs.com/cenglinjinran/p/4613040.html
Copyright © 2011-2022 走看看