刚刚入手一个小米路由器mini,本来就是打算装openWrt的,想试试玩玩看。

刷openwrt的基本流程是参考的如下博主的文章

http://www.right.com.cn/forum/thread-147929-1-1.html

没有遇到什么严重问题,但是一些细节需要注意。

(0)小米路由器mini和小米路由器,不要搞混了。。。。

(1)截止到今天,小米路由mini的firmware版本为0.7.51,我的是0.7.50。一定要先刷入一个开发板而不是稳定版,并且能够支持上面博主所说的mtd命令的版本。

若不使用低版本,在尝试mtd -r write xxxx.bin firmware时会找不到firmware的错误。

我使用的是0.7.15版,这个版本可以从如下地址获得。

http://www.miui.com/thread-1776173-1-1.html

(2)刷机之前需要做一次路由器绑定,然后连接上路由器,进入miwifi.com,再进入“下载”页面。找到页面下面的“SSH工具”那个按钮,此时会有一个root密码需要记下来,后面用。

(3)刷miwifi_ssh.bin时,一定要保证U盘里没有残留miwifi.bin。

(4)貌似一定要用WinSCP这个软件将待刷入的固件传送到小米路由mini上,记得选择SCP模式。

(5)刷完以后,重新连接小米路由器mini,这次使用的是192.168.1.1的ip,要配置好ssh,之后才能通过电脑ssh上去。

我选择的是Dropbear接口为wan。我ssh工具用的是SecureCRT,并不是上面博主说的putty。

好,总的来说刷机过程还是没有痛苦的。系统小,刷起速度也快。刷的时候还在和女朋友看关于大脑的纪录片。看完了以后想,怎么也要搞个软件源才行吧,于是就ssh上小米路由mini。上来就

opkg update

好嘛,没有一个源是可以的。。。于是着手手动改源。目前我刷的openWrt是PandoraBox 14.09 r355,是基于openWrt Barrier Breaker的。使用的原地址是

http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/

这里面有好几个文件夹,将这些源都写到/etc/opkg.conf里。我的opkg.conf文件如下

rc/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base

src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management

src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages

src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages

src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing

src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony

dest root /data

dest ram /tmp

lists_dir ext /data/var/opkg-lists

option overlay_root /data

保存后运行opkg update。发现源是可以链接上了,但是报出类似于如下错误

Package xxx version xxx has no valid architecture, ignoring.

一些朋友也遇到了

http://www.right.com.cn/FORUM/thread-128532-1-1.html

google了一下原因,发现是源指定的architecture和路由上刷好的系统的不一致造成的。一些解决方案可以从如下地址找到

http://wayjam.me/post/two-problems-about-install-package-on-openwrt.md

其实在openWrt官网上已经对opkg进行了详细的说明,上面博主的做法也是和openWrt官网推荐的方法相一致(http://wiki.openwrt.org/doc/techref/opkg),意思就是在/etc/opkg.conf文件中加入对系统支持的architecture的设置,具体方法是添加如下几行

arch all 100

arch 200

arch 300

官网的意思是告诉opkg,arch类型2的包可以兼容的装在arch类型1的系统上。那么问题来了,现在的arch类型是什么呢?折腾了好久,我尝试过查看系统的arch,利用

uname -a

我得到

Linux PandoraBox 3.10.64 #20 Wed Jan 14 00:19:50 CST 2015 mips GNU/Linux

就是说系统的mechine type 是mips的,这个硬件描述我也不是很懂,再看看uname -p,查看一下processor type,好嘛。。。显示是这样的

整个人都不好了有木有!!这unknown算是什么?

再看cat /proc/cpuinfo

也就是说,小米路由mini使用的是联发科的MT7620A型号的芯片,机器类型属于mips类的,这也与官网的源地址相一致,

于是我又尝试了

arch all 100

arch mips 200

arch mips2 300

arch ramips 400

arch unkown 500

入此种种甚至是待arch unkown的脑残设置,每次都有opkg update,每次都要看那一大片报错信息。夜已经深了,为了不打扰室友,在客厅里用的笔记本电池,电脑的电也剩一半了。突然灵机一动,想如果能确定系统指定的arch,不就不就不用乱试各种arch了么,虽说最可能的ramips 的architecture都不行,但是总该在什么地方写着正确的arch的配置吧。于是开始翻官网的源目录,发现疑似文件

下载下来,notepad++打开查看,配置项目还是很多的,直接搜索“ARCH”,找到了这样的一行

我只能说,我擦了,为毛要有一个"_24kec"的后缀!?

把脑残的opkg.conf文件改成

再次opkg update,终于没有错误了!!!!yeah

那么整个什么软件安装一下试试看呢,先来python吧!其实我只想装一个python而已。。。。google一下发现貌似要先装libc库,貌似还要手动装(可参考这篇博客中关于安装Transmission的描述,http://blog.sina.com.cn/s/blog_56a70c040102vaay.html),opkg自己装不了。于是在官网的源列表里找libc,很容易找,就在base文件夹里

下载下来。从这个libc名字上也看到,确实系统的arch是ramips_24kec,看来是自己too森破too naive啊

scp到路由器/tmp,然后寻思着,这玩意应该装在挂载的u盘上吧,要不根文件系统的空间不够啊,于是根据那个装Transmission的博主的做法,外加自己google到的其他方法,尝试将库安装到u盘上。openWrt官网上对调整opkg安装位置做了描述,还是改/etc/opkg.conf文件,添加dest设置,用一个别名来代替一个地址位置,在opkg install时用-d参数来控制opkg的安装位置。我就填了两个dest,一个是到U盘的根上,一个是到u盘里新创建的opt目录。这么做有个原因是,openWrt刚刷好的系统里根上是没有opt路径的,可以做一个符号链接从U盘的opt到根上。我的/etc/opkg.conf文件最后变为

然后用opkg安装libc,

opkg -d usb install libc_xxxxx

好嘛,又报错,错误意思是做符号链接时出现了“Operation not permitted”,这个网友遇到了一样的错误

http://www.dd-wrt.com/phpBB2/viewtopic.php?p=766847

完全不知道为什么,关键是,手动做符号链接是可以的,可以将u盘上的文件链接到路由器上。确实没问题。那么问题又来了,这是TM怎么个情况??google了许久,然后在一个德语论坛上找到了一个解决方案,貌似外部挂在的usb存储设备,必须要使用ext格式才能作为opkg安装时符号的链接点。这点在openWrt官网关于扩展根文件系统的描述中都没有找到。

http://forum.nas-portal.org/archive/index.php/t-14384.html

http://wiki.openwrt.org/doc/howto/extroot/extroot.theory

已经是夜里三点了。。。所以我果断选择先睡一觉。。。。主要还是因为手头没有舍得格式化的u盘。。。。。

第二天,找了个不用的microSD卡,加了个读卡器,格式化成了ext4格式,查到小米路由上,再来opkg安装,没问题了!yeah

当然也不忘改一下环境变量,参考这个博主的做法

http://blog.jkey.lu/2013/04/22/openwrt-install-package-on-usb-flash-disk/

一运行python,果然给力,打个hello world,果然可以,来个方向键。。。擦,方向键乱码。。。

好嘛,这又是什么情况。。。

google了一圈,发现貌似是readline的问题,于是opkg了readline的包,还有python-ncurses包,都没用。于是想是不是搞个ipython能好一点。opkg了一下ipython,竟然有!安装,成了运行,报module import错误,擦,这也行!?

查看了一下python的lib,发现确实没有ipython所要import的package,怎么回事,这python安装的不完整???看来要自己编译python了,没想到才第二天就要搞交叉编译,痛苦可能来的太早啊。上openWrt,看看如何develop,从git上搞下来现在trunk代码,按照documentation的方法一步一步的实践,发现,python的编译配置就在feeds/oldpackages/python里,打开makefile看一看,发现openWrt把很多python的package做成独立的ipk文件放到源上了,若是找不到某个package,直接opkg安装就可以了。ipthon说是缺少pydoc,这个对应python-doc,opkg安装,再次运行ipython,起来了。

悲剧的是,方向键还是不能用,看来真的要重新编译python才行了。。。。今天就到这了,搞不动了。

小米路由器挂php,小米路由器mini 安装openWrt+更新源+挂载U盘+安装python相关推荐

  1. linux 本地yum 恢复,Linux_RHEL系统恢复安装光盘中的yum更新源的方法,安装光盘本地YUM更新源挂载安 - phpStudy...

    RHEL系统恢复安装光盘中的yum更新源的方法 安装光盘本地YUM更新源挂载安装光盘: 复制代码代码如下: mount /dev/cdrom /mnt vi /etc/yum.repos.d/loca ...

  2. 服务器u盘安装win7系统,如何用U盘安装win7原版64位系统

    现在很多人都在使用U盘安装win7原版64位系统,不少使用win7系统32位的朋友也想来凑个热闹,想用U盘装win7系统64位,体验U盘安装win7原版64位系统后的稳定/安全/快速.那么下面,win ...

  3. CentOS7更换国内源以及安装补充更新源(安装nethogs)

    CentOS7更换国内源以及安装补充更新源 一般情况下,CentOS 7 的更新源文件都放置在 /etc/yum.repos.d 删除所有的更新源文件 cd /etc/yum.repos.d/ rm ...

  4. win8下u盘安装linux,win7 win8下U盘安装ubuntu(linux)双系统教程

    WIN7下安装unbuntu双系统教程(U盘安装) 声明:win8已经测试,成功! 一.安装环境 win7系统 二.安装ubuntu首先需要准备以下工具以及安装包: 1.ubuntu系统安装包(本人所 ...

  5. 一帖搞定U盘系统制作及安装苹果mac os引导U盘安装windows7

    坛友有问题可以直接微博问我:http://t.qq.com/juqiandai 之前在<全民普及 版主现身教你用苹果AIR装win7(桌面上pro air razer)>那篇帖子上用的外置 ...

  6. u盘安装linux启动报错,U盘安装centos7,启动报错

    通过U盘安装centos7的时候,启动报错,找不到安装媒介,解决方法. /dev/root does not exits. centos7的iso文件是:CentOS-7-x86_64-DVD-151 ...

  7. mysql5.5源码包安装_mysql的源码包方式安装(mysql5.5)

    -------初写博客,希望在工作和日常中学习到的一些知识和经验与大家交流分享! 在Mysql5.5之后,使用源码包方式安装mysql就需要通过cmake方式进行编译了.以下内容介绍通过cmake方式 ...

  8. 浪潮服务器u盘安装系统_浪潮服务器U盘安装系统无法识别到电脑硬题的解决

    首先说明一下,我是开发人员,不是专业的运维.公司来了一台服务器要我给他装linux系统,我呢就按正常的U盘安装系统方法操作,结果在选择安装指定磁盘的时候,发现只有我插入的那张U盘别检测到,服务器有一张 ...

  9. 移动硬盘安装ubuntu系统二——启动U盘安装

    一. 简介 在之前的一篇文章中记录了使用VMware Workstation给移动硬盘中安装Ubuntu系统过程,本篇文章简单记录使用启动盘安装 Ubuntu 20.04.5系统到移动硬盘. 二. 制 ...

  10. 计算机设备驱动程序的安装与更新,电脑系统驱动如何安装更新?

    电脑平时出现问题比较多的一个是系统问题,一个是硬件问题!这两个问题都会跟电脑驱动打交道!如果说驱动出现问题就会引起电脑蓝屏.卡屏.拖尾等现象,就需要重装驱动程序,电脑驱动的安装也不是简单的安装一下就行 ...

最新文章

  1. 有哪些可以免登录的视频会议软件/服务?
  2. 怎么自学python编程-如何自学Python编程呢?老男孩Python学习方法
  3. SAP Spartacus B2B页面的6个tile,url是维护在什么地方的?
  4. centos 安装boost(caffe需要)
  5. [多线程] Thread
  6. 【Elasticsearch】es FST (Finite State Tranduer) 有限状态转换器
  7. Ssm在线商城系统实战开发
  8. flask 重定向(redirect)和会话(session)
  9. 文件(文本、二进制)读写,利用popen读取linux命令读取结果
  10. VMware 修复 Workstation、Fusion 中多个严重的代码执行漏洞
  11. UCI数据集详解及其数据处理(附148个数据集及处理代码)
  12. win10 cmd中文显示乱码
  13. 明源云与华为联合发起828 B2B企业节,共同成就好生意!
  14. DRM DUMB相关说明
  15. 电商订单批量导入API接口功能
  16. 远程连接出现 登陆失败:用户账户限制 解决方案
  17. 拼多多商品id怎么查看 拼多多店铺ID怎样看
  18. 林肯公园(LINKIN PARK)上海演唱会观众座位表(转帖)
  19. 如何获取请求端真实IP和远程主机IP详解
  20. 记录wps js 宏学习过程中积累的一些函数模板

热门文章

  1. 通过linux内核如何读取pmbus总线上的数据,linux PMBus总线驱动设计分析(示例代码)...
  2. 《游戏设计艺术(第二版)》读书笔记
  3. html 显示shp,cesium加载本地shp数据
  4. sql语句如何获得当前日期
  5. HTML简单网页-员工申请表单
  6. 3D滚动控件实现抽奖效果
  7. 3Dmax界面及快捷键介绍
  8. 四脚贴片晶振的引脚区分
  9. 为什么32.768kHz的晶振封装这么另类?
  10. B-M求线性移位寄存器