zoukankan      html  css  js  c++  java
  • OpenWrt

    此篇整理于2015.1.7号,遗失的笔记

    ================================================

    参考资料:F403基本教程、openwrt深入学习笔记

    串口默认波特率:57600 

    开发软件 eclipse 位于/home/f403tech/eclipse文件夹下。

    开发板上用户文件及ipk软件包放在/usr/work/文件夹下。

    ubuntu 截图命令  gnome-screenshot -a

    ubuntu中ctrl+alt+方向键可以切换工作空间、ctrl+alt+t可以打开终端

    RT5350基本操作:

    [源码下载]

    1、安装SVN工具

    sudo apt-get install subversion

    2、安装git工具

    sudo apt-get install git-core

    3、安装依赖库文件

    sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zliblg-dev libncurses5-dev gawk

    或者

    $sudo apt-get install gcc g++ binutils 

    $sudo patch bzip2 flex bison 

    $sudo make autoconf gettext texinfo 

    $sudo unzip sharutils ncurses-term zliblg-dev libncurses5-dev gawk

    4、下载openwrt源码

    mkdir openwrt

    cd openwrt/

    svn co svn://svn.openwrt.org/openwrt/trunk

         进入trunk目录

         cd /work/openwrt/trunk/

    -------------------------------------------------------------------------------

    0、编译openwrt

         /home/work/openwrt/barrier_breaker# make help 查看帮助

    执行svn info 查看当前下载的源码版本、svn update 更新下载的openwrt 源码、

    更新Feeds,执行/work/openwrt/branches/barrier_breaker#./scripts/feeds update -a  、

    然后执行/barrier_breaker#./scripts/feeds install -a 、

    使下载的软件包可以出现在make menuconfig 配置菜单中。

    openwrt 默认不允许使用root用户操作,需要修改include/prereq-build.mk文件:

    barrier_breaker#vi include/prereq-build.mk

    define Require/non-root

    # ["$$(shell whoami)"!="root"]

    endif

    如果需要配置内核选项,执行barrier_breaker#make kernel_menuconfig

    --------------------------------------------------------------------------------------------------

    #进入配置页面

    make menuconfig   

    RT5350开发板,采用32M SDRAM 、8M Flash,这配置和HAME的HAME-MPR-A2硬件配置一样。

    每个选项前面都有一个[]标签,我们可以选择y,m,n

    选择y设置为[*],表示将软件包编译进固件image文件

    选择m设置为[M],表示软件包编译后制作成ipk文件,然后再设备上通过opkg命令安装,并不编译进固件中

    选择n设置为[],表示不编译该软件包

    1)选择CPU型号

       Target System -> Ralink RT288x/RT3xxx

    2)选择CPU子型号

      Subtarget -> RT3x5x/RT5350 based boards

    3)选择路由器型号

      Target profile -> HAME-MPR-A2

    最后保存退出

    编译

    barrier_breaker#make -j 3 V=s

    -j:多进程编译,-j指定的参数为你的cpu核数加1,双核就指定为3

    V=s:输出编译信息

    $make V=99

    注:第一次编译大概需要4、5个小时,以后再次编译分分钟搞定。

    编译后的镜像位于 /work/openwrt/trunk/bin/ramips/下面  ls ./

    openwrt-ramips-rt305x-mpr-a2-squshfs-sysupgrade.bin就是需要的镜像

    清理工程

    barrier_breaker#make clean          删除barrier_breaker目录下的bin、build_dir

    barrier_breaker#make dirclean     删除barrier_breaker目录下的bin、build_dir、staging_dir、staging_dir/toolchain

    barrier_breaker#make distclean    删除所有编译的或者配置和下载的feeds内容以及下载的软件包源码,还有.config配置文件

    编译单个软件包以uci为例

    barrier_breaker#make package/system/uci/compile V=s 编译

    barrier_breaker#make package/system/uci/clean V=s  清理

    1、烧写OpenWRT固件

    在倒计时按4进入命令行界面 

    设置 tftpboot相关参数

    RT5350 # set ipaddr 192.168.10.100 

    RT5350 # set serverip 192.168.10.102     设置 tftptftp tftp服务器 IP 地址 ,即 与你的设备相连的电脑 的 IP 地址 

    RT5350 # set bootfile openwrt.bin            设置 要下载的固件名称 要下载的固件名称 

    RT5350 # save  将设置写入Flash

    执行 reset 重启设备,在 重启设备,在 倒计时按 2进入 tftptftp tftp烧写固件步骤 

    更改固件名,原固件名太长容易出错,同时记得带.bin后缀。设置好IP后用Tftpd32下载,tftp协议将监听端口69.

    系统调用是内核与应用程序之间的接口,设备驱动程序是内核与硬件之间的接口。

    2、开发板和windows互传文件,通过SSH[端口22]

         首先在配置页面make menuconfig 将openssh-sftp-server选项设置为<*>,编译进内核,烧写新的固件。或确保固件已含有ssh-server.

    然后使用passwd命令设置开发板密码

    3、编译设备驱动程序

     (1) 将f403tech_drv文件夹放到openwrt/trunk/package/kernel目录下,并进入源码顶层目录,cd /work/openwrt/trunk/,

    执行make menuconfig ,进入kernel modles选项,进入other modules,找到kmod-f403tech_drv将其配置为* ,保存退出。

     (2) #make package/kernel/f403tech_drv/compile V=99

    编译完成后就能在openwrt/trunk/bin/ramips/packages目录找到*.ipk文件

    (3) 将*.ipk软件包传到开发板上,使用opkg install命令安装

     #opkg install kmod-f403tech_drv_3.10.36-1_ramips_24kec.ipk

     #opkg remove 函数名 移除安装的程序

    使用opkg list查看安装了哪些软件包,进入lib/modules/3.10.36/目录就能看到驱动模块,cd lib/modules/3.10.36/

    接下来使用insmod命令装载驱动模块#insmod my74hc595_driver.ko

    卸载驱动模块使用 #rmmod my74hc595_driver.ko

    4、应用程序测试

    将应用程序作为模块编译为ipk文件后传到开发板上,使用opkg install *.ipk安装。

    然后输入应用程序的名字执行应用程序。

    5、使能开发板上的WIFI(AP模式)

    修改开发板上  /etc/config/wireless文件

    注释掉option disabled 1这句,保存后退出重启,就能收到wifi信号openwrt了。

    也可以通过web界面进行设置。

    也可以在源码中使能wifi,需要修改openwrt/trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh文件,

    同样注释掉option disabled 1这句。mac80211.sh文件还可以修改ap的ssid,将option ssid OpenWrt改为option ssid f403tech_ap,

    保存退出,重新编译烧写即可。

  • 相关阅读:
    Java 中节省 90% 时间的常用的工具类
    一文彻底弄懂cookie、session、token
    Java 中 this 和 super 的用法详解
    java对接c++发布的webservice接口,其中参数类型有base64Binary格式(无需将图片数据转化为c++中的结构体)
    mysql免安装版下载及安装教程
    selenium python 入门-元素定位
    软件测试白皮书-测试综合策略
    软件测试白皮书-正交试验设计方法
    软件测试白皮书-因果图
    软件测试白皮书-判定表法
  • 原文地址:https://www.cnblogs.com/time93/p/13246364.html
Copyright © 2011-2022 走看看