首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 60212|回復(fù): 4
上一主題 下一主題
[小米路由]

一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2017-1-8 15:45 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自山西

小米路由器3到手一段時間了,狠狠心買了一塊1T移動硬盤掛上,下載了幾部電影后,覺得資源浪費比較嚴重。平時寫代碼都是保存到淘寶code,一直覺得不夠私密,于是萌生了在路由器上架設(shè)SVN服務(wù)器的想法。

  1、開root

  

  折騰幾次也不見效果,才注意到紅色標注的“注意:穩(wěn)定版不支持。”

  下載“ROM for R3 開發(fā)版”,通過路由器WEB管理頁面升級為開發(fā)版。再次開ROOT成功。

  2、搭交叉編譯環(huán)境

  

一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

  這個地方太坑了,我的是小米路由器3,想當然地覺得應(yīng)該是第一項,里面的toolchain是一個ARM的GCC交叉編譯器,還好本人對嵌入式linux開發(fā)有所了解,也編譯過一些程序。

  (1)安裝虛擬機,安裝ubuntu,以前都是用32位ubuntu的,這次也不例外,安裝完成后發(fā)現(xiàn)toolchain是64位的,無奈重裝ubuntu 64。

  (2)編譯apr、apr-util、zlib和subversion,中間雖然有波折,但總算順利,具體不說了,傳到路由器上后,執(zhí)行svnadmin,這是什么鬼?

   一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

  小米路由器3采用MT7620芯片,不是ARM

  下載小米路由器Mini的開發(fā)工具,配置完成后特地寫了一個hello world,運行無誤。但編譯過程中提示環(huán)境變量STAGING_DIR未設(shè)置,選擇了無視,但終于還是編譯不過去?!癝TAGING_DIR到底設(shè)置為什么?”,既然小米路由器3是基于OpenWrt的,還是從OpenWrt的開發(fā)工具下手吧。

  3、正確的編譯過程

經(jīng)過無數(shù)次的失敗,終于能夠編譯成功了,過程如下:

  (1)下載https://downloads.openwrt.org/chaos_calmer/15.05/ramips/rt3883/OpenWrt-SDK-15.05-ramips-rt3883_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2(服務(wù)器上有MT7620版本的,但實測編譯出的程序無法在小米路由器上運行,RT3883的可以?。?,將壓縮包中staging_dir目錄的內(nèi)容解壓到/home/mipsel

一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

  (2)設(shè)置以下環(huán)境變量

    STAGING_DIR="/home/mipsel"

    TOOLCHAIN="$STAGING_DIR/toolchain-mipsel_74Kc+dsp2_gcc-4.8-linaro_uClibc-0.9.33.2"

    DEPENDS=$STAGING_DIR/target-mipsel_74kc+dsp2_uClibc-0.9.33.2/usr


    HOST="mipsel-openwrt-linux"


    export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$STAGING_DIR/toolchain-mipsel_74kc+dsp2_gcc-4.8-linaro_uClibc-0.9.33.2/bin"

    export CC="$HOST-gcc"

    export CPP="$HOST-cpp"

    export GCC="$HOST-gcc"

    export CXX="$HOST-g++"

    export RANLIB="$HOST-ranlib"

  (3)下載http://archive.apache.org/dist/subversion/subversion-1.9.5.tar.gz,解壓,運行其下get-deps.sh腳本下載依賴項。

    分別用以下參數(shù)配置Apr、Apr-util、Zlib和Subversion,然后make && make install

   ./configure --prefix=$TARGET/apr --host=$HOST ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes apr_cv_tcp_nodelay_with_cork=yes ac_cv_sizeof_struct_iovec=8

    (需要改configure文件和want.h,自行百度


    ./configure --prefix=$TARGET/apr-util --host=$HOST --with-apr=/home/glory/svn/apr


    ./configure --prefix=$TARGET/zlib


    ./configure --prefix=$TARGET/subversion --host=$HOST  --with-apr=$TARGET/apr  --with-apr-util=$TARGET/apr-util --with-zlib=$TARGET/zlib

    如此,編譯成功,將安裝目錄下的bin/*、lib/*.so*分別拷貝到bin和lib,上傳到路由器,創(chuàng)建庫,修改svnserve.conf、authz、passwd三個文件,運行。

    一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

  (4)看似成功了,執(zhí)行一下創(chuàng)建目錄試試

    一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

    用小烏龜測試也一樣,就是報錯。

山重水復(fù)疑無路,柳暗花明又一村。

    Malformed?一遍遍地修改參數(shù)、重新編譯,盯著屏幕看..................

    一步一坑完成小米路由器3的SVN服務(wù)器架設(shè)

    終于看到這三個值,不對吧?!文件格式畸形,大概就是字段長度設(shè)置錯誤了!果斷添加ac_cv_sizeof_ssize_t=4 ac_cv_sizeof_size_t=4 ac_cv_sizeof_off_t=4參數(shù),大功告成!?。。。。。。。。。。。?/font>

    到這里應(yīng)該上可執(zhí)行文件了,但此處上傳附件實在太慢了,上傳至CSDN了,svnserver for 小米路由器3,相信玩SVN的都是程序猿,如果有需要順便打賞點分數(shù)吧。

配置說明

(1)下載,解壓到外部硬盤(小米路由器3內(nèi)部可用存儲大約60M,能夠放下,但占用太多空間可能引起路由器不穩(wěn)定),如/extdisks/sda1/svn

(2)設(shè)置環(huán)境變量

export PATH=$PATH:/extdisks/sda1/svn/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/extdisks/sda1/svn/lib

(3)創(chuàng)建庫

svnadmin create /extdisks/sda1/svn/repo

(4)修改配置文件

vi /extdisks/sda1/svn/repo/svnserve.conf

修改以下行:

   anon-access = none

    auth-access = write

    password-db = passwd

    authz-db = authz

vi /extdisks/sda1/svn/repo/authz

修改如下:

   [groups]

    admin=xxx,svnadmin

    [/]

    @admin = rw

    * = r


vi /extdisks/sda1/svn/repo/svnserve.conf

修改如下:

    [users]

    svnadmin = xxxxxx

    xxx = xxx


(5)啟動服務(wù)

svnserve -d -r /extdisks/sda1/svn/repo

(6)大功告成,剩下的設(shè)置開機啟動、配置防火墻等就不在此啰嗦了



上一篇:小米老路由器里的數(shù)據(jù)遷移到新路由器中的教程
下一篇:mini玩機第一步:開啟路由ROOT權(quán)限,開始玩機...
沙發(fā)
發(fā)表于 2017-1-8 18:58 | 只看該作者 | 來自浙江
多謝大神的分享
回復(fù) 支持 反對

使用道具 舉報

板凳
發(fā)表于 2018-6-24 22:27 | 只看該作者 | 來自重慶
想掛個網(wǎng)頁,,私人使用,也不費電,也不費錢,一直不成功,
回復(fù) 支持 反對

使用道具 舉報

地板
發(fā)表于 2019-1-7 20:16 | 只看該作者 | 來自廣東
小米路由器R2D用不了,有合適R2D的svn嗎
回復(fù) 支持 反對

使用道具 舉報

5#
發(fā)表于 2020-8-28 12:36 | 只看該作者 | 來自廣東
有人成功嗎
回復(fù) 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-12-22 22:03 , Processed in 0.072338 second(s), 16 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表