如何将一个应用程序添加到widora-openWRT源代码体系中



  • 我想把mplayer加入到Widora-openwrt代码体系中,不知道放到哪个目录下?另外还要添加什么配置文件?请大神指点。

    我现在只会独立交叉编译mplayer. 然后把编译好的文件复制到根目录下.



  • 百度下openwrt helloworld,网上有很多教程,不知道是不是你要的效果,那样子可以在menuconfig里面选择添加你的应用程序。



  • 0_1481014627938_wifikey.rar
    这个是我自己程序里面的一个应用程序,我放置的位置是在openwrt_widora/package/目录下面,/wifikey/Makefile这个是决定编译及在menuconfig里面的位置,我的文件里面是放在了Extra package目录里面。/wifikey/src/Makefile是编译wifikey.c产生相应的文件,wifikey.c放置你的应用程序。/wifikey/files/wifikey里面的内容会在/etc/rc.d/目录下产生S50wifikey和K10wifikey两个文件,初始化的时候会执行。



  • @Cola 非常感谢! 我来试一下。


  • administrators

    参考package下的reg包也行,就是一套源码+一个符合openwrt的makefile



  • @mango 好的,我在学习下。 网络上关于openwrt的介绍和教程都是零散的,没有一个完整的体系性的教程。



  • 模板式代码体系,非常方便!



  • 单独编译mplayer成功后,我想把它加入到openwrt_widora的源码体系。

    1. 我先把mplayer源文件全部复制到~/openwrt_widora/package/mplayer/src 目录下;
    2. 接着在mplayer文件夹下做个一个Makefile文件(参考了package/reg目录下的Makefile);
    3. 最后,我运行..../mplayer/src 目录下的脚本build-oss.sh配置configure自动在src目录下生成Makefile。
    4. 运行 make package/mplayer/compile V=99 时出现下面错误:
      0_1485048943828_upload-ca37438e-13f1-4600-8ace-a91928dffb18
      哪里出错了呢!!!
      ./configure已经在build-oss.sh里运行过了,为什么会再来一次呢!??
      build-oss.sh内容如下:

    #!/bin/sh
    ./configure --host-cc=gcc \
    --cc=mipsel-openwrt-linux-gcc \
    --target=mips-linux \
    --enable-static \
    --disable-win32waveout \
    --disable-dvdread \
    --enable-fbdev \
    --enable-libwma \
    --disable-mp3lib \
    --disable-mencoder \
    --disable-live \
    --enable-libavcodec_a \
    --disable-ivtv \
    --disable-tv \
    --disable-tga \
    --disable-pnm \
    --disable-md5sum \
    --disable-win32dll \
    --disable-qtx \
    --disable-xanim \
    --disable-libmpeg2

    两个Makefile文件在这里:1_1485049592624_mplayer-Makefile 0_1485049592624_src-Makefile



  • 好吧,诀窍就是在configure顶部加一句: return 0

    0_1485136509510_mplayer_ramips_24kec.ipk 应用wav输出格式,不然可能死机的。

    干脆把alsa的也编译出来 0_1485328773058_mplayer_ALSA_1.0-rc2_ramips_24kec.ipk 。 alsa似乎可以了 mplayer mms://111.75.206.136/yinyue 播放mp3的时候,如果有咔咔声,按几下左右箭头就要好了!! 奇诡。





  • 有人反映编译好的mplayer (ALSA)在widora上运行时会卡死或无声, 可能原因:

    1. /etc 目录下缺少了alsa配置文件asound.conf, 可以直接写一个,内容如下
    pcm.!default{
    type plug
    slave.pcm "dmix"
    }

    或者用下面这个,录放同时可用。

    pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
    pcm "hw:0,0"
    period_time 0
    period_size 1024
    buffer_size 8192
    rate 44100
    }
    bindings {
    0 0
    1 1
    }
    }
    pcm.asymed {
    type asym
    playback.pcm "dmixer"
    capture.pcm "hw:0,0"
    }

    pcm.dsp0 {
    type plug
    slave.pcm "asymed"
    }

    pcm.!default {
    type plug
    slave.pcm "asymed"
    }

    pcm.default {
    type plug
    slave.pcm "asymed"
    }

    ctl.mixer0 {
    type hw
    card 0
    }

    2 . /usr/lib 下缺少库文件 liblzo2.so

    (应用OSS 的mplayer好像还有问题 )