看了很多文章,要么说的是用opkg安装python,要么说的是小米路由器的交叉编译,就是没有mini的。学习了这篇文章(http://me.deepgully.com/post/5638916786880512),编译了小米路由mini的python。

已编译好的:http://download.csdn.net/detail/kowity/9611919

小米路由mini版的路由是mips的,跟小米路由的arm版不一样,所以脚本做了一些修改。先下载小米路由器mini版的开发包,里面有编译工具链:http://bigota.miwifi.com/xiaoqiang/sdk/tools/package/sdk_package_r1c.zip。将压缩包里面的 toolchain 复制到 /opt/xiaomi

先编译依赖库

  1. #!/bin/bash
  2. # rm -r -f /opt/xiaomi
  3. # wget -c http://bigota.miwifi.com/xiaoqiang/sdk/tools/package/sdk_package_r1c.zip
  4. # unzip sdk_package_r1c.zip
  5. # cp -r -f sdk_package_r1c/include/* sdk_package_r1c/toolchain/include/
  6. # cp -r -f sdk_package_r1c/lib/* sdk_package_r1c/toolchain/lib/
  7. # mv -f sdk_package_r1c/toolchain /opt/xiaomi
  8. export XIAOMI_ROOT_PATH=/opt/xiaomi
  9. export PATH="${XIAOMI_ROOT_PATH}/bin:${PATH}"
  10. rm -r -f readline-4.2
  11. wget -c http://ftp.gnu.org/gnu/readline/readline-4.2.tar.gz
  12. tar xvzf readline-4.2.tar.gz
  13. cd readline-4.2
  14. export CC=mipsel-openwrt-linux-uclibc-gcc RANLIB=mipsel-openwrt-linux-uclibc-ranlib AR=mipsel-openwrt-linux-uclibc-ar
  15. ./configure --host=mipsel-openwrt-linux-uclibc --build=mipsel-linux --prefix=${XIAOMI_ROOT_PATH}
  16. make
  17. sudo make install
  18. mipsel-openwrt-linux-uclibc-ranlib ${XIAOMI_ROOT_PATH}/lib/libreadline.a
  19. cd ..
  20. rm -r -f libffi-3.1
  21. wget -c ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz
  22. tar xvzf libffi-3.1.tar.gz
  23. cd libffi-3.1
  24. ./configure --host=mipsel-openwrt-linux-uclibc --build=mipsel-linux --prefix=${XIAOMI_ROOT_PATH}
  25. make
  26. sudo make install
  27. mipsel-openwrt-linux-uclibc-ranlib ${XIAOMI_ROOT_PATH}/lib/libffi.a
  28. cd ..
  29. rm -r -f termcap-1.3.1
  30. wget -c http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
  31. tar xvzf termcap-1.3.1.tar.gz
  32. cd termcap-1.3.1
  33. export CC=mipsel-openwrt-linux-uclibc-gcc RANLIB=mipsel-openwrt-linux-uclibc-ranlib AR=mipsel-openwrt-linux-uclibc-ar
  34. ./configure --host=mipsel-openwrt-linux-uclibc --build=mipsel-linux --prefix=${XIAOMI_ROOT_PATH}
  35. make
  36. sudo make install
  37. mipsel-openwrt-linux-uclibc-ranlib ${XIAOMI_ROOT_PATH}/lib/libtermcap.a
  38. cd ..

再编译python

  1. #!/bin/bash
  2. wget -c http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
  3. rm -r -f python
  4. mkdir python
  5. cd python
  6. cp ../Python-2.7.5.tar.bz2 .
  7. tar -jxf Python-2.7.5.tar.bz2
  8. wget -c http://bugs.python.org/file31991/Python-2.7.5-xcompile.patch
  9. cp Python-2.7.5-xcompile.patch Python-2.7.5/
  10. wget -c http://7xrt07.com1.z0.glb.clouddn.com/setup.py.2.5.xcompile.patch
  11. cp setup.py.xcompile.patch Python-2.7.5/
  12. mkdir backup
  13. cd Python-2.7.5
  14. make distclean
  15. rm -rf python_for_build Parser/pgen_for_build
  16. cp Makefile.pre.in ../backup/
  17. cp Modules/Setup.dist ../backup/Modules/
  18. cp configure ../backup/
  19. cp setup.py ../backup/
  20. unset CC
  21. unset CXX
  22. ./configure
  23. make --jobs=2 python Parser/pgen
  24. mv python python_for_build
  25. mv Parser/pgen Parser/pgen_for_build
  26. cp python_for_build ../backup/
  27. cp Parser/pgen_for_build ../backup/
  28. patch -p3 < Python-2.7.5-xcompile.patch
  29. patch < setup.py.xcompile.patch
  30. make distclean
  31. RFS=/opt/xiaomi
  32. export PATH="${RFS}/lib:${RFS}/usr/lib:${PATH}"
  33. export LDFLAGS="-L${RFS}/usr/lib -L${RFS}/lib"
  34. ./configure --host=mipsel-openwrt-linux-uclibc --build=mipsel-linux --prefix=/\
  35. --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ac_cv_have_long_long_format=yes
  36. if [ $? != 0 ]; then
  37. echo "(E) Configure FAILED!"
  38. exit 5
  39. fi
  40. make --jobs=2 \
  41. CFLAGS="-g0 -Os -s -I${RFS}/include -I${RFS}/usr/include -L${RFS}/usr/lib -L${RFS}/lib -fdata-sections -ffunction-sections" \
  42. LDFLAGS="-L${RFS}/usr/lib -L${RFS}/lib"
  43. if [ $? != 0 ]; then
  44. echo "(E) Make FAILED!"
  45. exit 5
  46. fi
  47. mipsel-openwrt-linux-strip --strip-unneeded python
  48. echo "(I) Installing Python ..."
  49. sudo make install DESTDIR=${RFS}/python PATH="${PATH}"
  50. if [ $? != 0 ]; then
  51. echo "(E) Installation FAILED!"
  52. exit 5
  53. fi
  54. rm -r -f ${RFS}/python/lib/python2.7/test
  55. rm -r -f ${RFS}/python/lib/python2.7/unitest
  56. rm -r -f ${RFS}/python/lib/python2.7/lib-tk
  57. rm -r -f ${RFS}/python/lib/python2.7/idlelib
  58. rm -r -f ${RFS}/python/lib/python2.7/2to3
  59. echo "(I) Python cross-compilation and installation is done!"
  60. exit 0

将生成的python目录复制到小米路由器就ok了

http://blog.csdn.net/kowity/article/details/52302849

交叉编译 小米路由器mini 的 python(MIPS)的更多相关文章

  1. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  2. 小米路由器mini如何设置外网访问wan网站的方法

    很多的玩友都在小米路由器mini上面搭建了自己的网站,有些朋友还需要设置对外网进行开放,我自己也在路由器上面实践了使用,下面与大家分享一下如何设置外网访问路由器网站的办法. 工具/原料 小米路由器mi ...

  3. 小米路由器mini搭建个人静态网站的方法

    小米路由和小米路由mini从本质上来说差距就在1T的硬盘上,其它并没有明显差别,但是功能却差很多,例如:小米路由有自带的LAMP模式,而小米路由mini则没有,换句话说,其实这个功能是被阉割了,仔细研 ...

  4. 小米路由器mini建FTP

    输入命令 df -h 复制代码 查看自己的分区路径,我自己用了一个闲置笔记本电脑硬盘转USB,插到mini,有四个区 为了方便,我选择把ftp安装在第一个分区  /extdisks/sda1/ 创建f ...

  5. 小米路由器刷Xiaomi Mi WiFi Mini openwrt

    Current Stable Release - OpenWrt 18.06.1,released on August, 18th 2018. there is also PandoraBox fir ...

  6. Openwrt路由器上安装python

    在路由器安装python之前,还是经过了一番折腾的.淘宝上买了个已经刷好系统的小米迷你路由器,但里面安装的不是预期的Pandorbox,而是LEDE. 这个固件已经带了大量自带的软件,128的内存实在 ...

  7. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录

    小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...

  8. 小米路由Mini刷Breed, 潘多拉和LEDE

    1. 下载breed,地址 http://breed.hackpascal.net/ 2. 下载小米Mini的开发板rom, 地址 http://www1.miwifi.com/miwifi_down ...

  9. 关于使用TP-Link桥接小米路由器

    家里因为有个小卧室,小卧室的写字台上面放了一台台式电脑,而我又不想用台式电脑牵一条长线到客厅的网口或者路由器上面,因为太麻烦,所以我使用了TPLink的无线USB插在了我的主机USB上,略去TPLIN ...

随机推荐

  1. 【原创】java 流星划过天空

    import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.s ...

  2. JAVA调用WebService总结

    一.wximport自动生成代码 wsimport -keep -p com.test.client http://localhost:8080/test/services/TestService?w ...

  3. Windows下lex 与 yacc的使用(2)

                                 Windows下lex 与 yacc的使用                                                   ...

  4. java中内部类的定义与访问规则

    java内部类总结 简单来说,内部类就是在我们所熟悉的类中的里面再定义一个类 为什么需要内部类? 当我们描述事物时,事物之中还有事物,我们就用内部类描述事物 因为内部事物在使用外部事物的内容 我举一个 ...

  5. Java实战之03Spring-05Spring中的事务控制(基于AOP)

    五.Spring中的事务控制(基于AOP) 1.Spring中事务有关的接口 1.1.明确: JavaEE体系进行分层开发,事务处理位于业务层,Spring提供了分层设计业务层的事务处理解决方案 1. ...

  6. 严重: Exception starting filter struts2

    我是用了右键-Add Struts.. 所以,不应该在WebRoot->WEB-INF->lib中加入5个基本包了...

  7. 粵語/廣東話/Cantonese 資料/Material

    一.粵語歌詞網 1.海闊天空(粵語) 歌詞 今天我 寒夜裡看雪飄過 gam1 tin1 ngo5 hon4 je6 leoi5 hon3 syut3 piu1 gwo3 懷著冷卻了的心窩漂遠方 waa ...

  8. Microsoft Word Regular Expression

    Microsoft Word Regular Expression Word裏的正則表達式-不一樣的符號. 一.Normal Find and Replace 二.Search by using wi ...

  9. C++实用数据结构:二叉索引树

    看下面这个问题(动态连续和查询): 有一个数组A(长度为n),要求进行两种操作: add(i,x):让Ai增大x: query(a,b):询问Aa+Aa+1+...+Ab的和: 若进行模拟,则每次qu ...

  10. WPF设置窗口模式(Windowstyle=“None”)

    当WindowStyle="None"时,设置AllowsTransparency="True",则不会出现黑色Border,然后可以另外设置外边的Border ...