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,

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

 

 

 

 

posted @ 2020-07-02 20:05  Hello+World!  阅读(2855)  评论(0编辑  收藏  举报