步骤:

1  从以太网引导启动。由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统。

2  用SCP将在PC上编译好的openwrt-XXX.elf和openwrt-XXX-rootfs。tar.gz传输到路由中。这两个文件处于./openwrt/trunk/bin/ar71xx中,前者是内核可执行文件,后者为文件系统。

  scp <src> <dst> : 从src通过SSH复制到dst。双方需要安装openssh-server和openssh-client。

如:scp 172.12.xxx.xxx:/opt/openwrt/trunk/bin/ar71xx/XXX.elf /   #将172.12.xxx.xxx主机上某个路径下的某文件,复制到本机的根目录

3  在路由器上,用dmesg查看nand上的各个mtdblock对应的内容是什么。找到下面这段:

[ 1.010000] Creating 4 MTD partitions on "spi0.0":
[ 1.010000] 0x000000000000-0x00000000b000 : "routerboot"
[ 1.020000] 0x00000000b000-0x00000000c000 : "hard_config"
[ 1.030000] 0x00000000d000-0x00000000f000 : "bios"
[ 1.030000] 0x00000000f000-0x000000010000 : "soft_config"
[ 1.040000] NAND flash driver for RouterBoard 4xx series version 0.2.0
[ 1.050000] NAND device: Manufacturer ID: 0xad, Chip ID: 0x76 (Hynix NAND 64MiB 3,3V 8-bit)
[ 1.060000] Scanning device for bad blocks
[ 1.910000] Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
[ 1.920000] 0x000000000000-0x000000040000 : "booter"
[ 1.920000] 0x000000040000-0x000000600000 : "kernel"
[ 1.930000] 0x000000600000-0x000004000000 : "rootfs"
[ 1.940000] mtd: partition "rootfs" set to be root filesystem

可用grep从dmesg中找到kernel和rootfs相关的信息。

这是创建mtd分区时的内核输出信息。可以看出在我的系统里面,按照先后顺序创建了7个分区(从0开始计数),因此kernel为mtdblock5,文件系统是mtdblock6。

4  清空内核的mtdblock,并将其挂载到mnt目录下,然后内核镜像复制进去:

 mtd erase kernel
mount /dev/mtdblock5 /mnt
mv XXX.elf /mnt/kernel #注意文件名必须是kernel

5  挂载文件系统的mtdblock,并在此处将文件系统解压:

mtd erase rootfs
mount /dev/mtdblock6 /mnt
tar zxvf XXX.tar.gz /mnt/

如果在解压时报错了,可以先进入到mnt,然后将tar.gz文件解压到当前目录:

cd /mnt
tar zxvf XXX.tar.gz

6 自此,内核和文件系统都做好了,重启,并从nand引导启动。

其他命令:

df:  查看是否挂在成功,

如:df -h

查看mtd设备:cat /proc/mtd

【工具】openwrt安装记录的更多相关文章

  1. linux如何ARP嗅探 Linux下嗅探工具Dsniff安装记录

      先来下载依赖包 和一些必须要用到的工具 我这里用的是 dsniff-2.3 的版本 wget http://www.monkey.org/~dugsong/dsniff/dsniff-2.3.ta ...

  2. 图像标注工具labelImg安装记录

    这里仅记载下labelImg的安装过程,因为有坑. 我的安装方式是从源码编译,环境ubuntu16.04,一开始是使用python2安装,从github上下载好源码,然后执行安装命令 sudo apt ...

  3. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  4. Hadoop集群中pig工具的安装过程记录

    在Hadoop环境中安装了pig工具,安装过程中碰到了一些问题,在此做一下记录:   主要安装流程参考:http://www.cnblogs.com/yanghuahui/p/3768270.html ...

  5. ASUS RT-N16 使用OpenWrt 安装 ss记录

    本文用于记录一下使用ASUS RT-N16 使用OpenWrt 安装 shadowsocks的过程. 前后一共折腾了一个星期,原先使用的是tomato固件,但是在配置iptables的过程中,执行 r ...

  6. [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)

    原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...

  7. Chocolatey 和 Redis windows安装记录

    前言 最近研究redis,发现Redis没有官方的windows版本,但MsOpenTech有一直维护对应的Redis版本,其下载地址如下: https://github.com/MSOpenTech ...

  8. uiautomatorviewer工具的安装与使用

    Android自动化测试应用<一><uiautomatorviewer工具的安装与使用> OldKe 关注 2018.01.25 18:00* 字数 488 阅读 2083评论 ...

  9. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4 环境都配置好以后, 开始搭建Jira的环境, 这里参考了一篇文 ...

随机推荐

  1. Objective-C基本数据类型、表达式和语句

    一.基本数据类型 1.一般的计算机语言在定义变量的时候,需要提供给两个内容:类型和名字. 比如:int myClassID; 2.在Xcode中,无论你使用的是GCC编译器还是LLVM编译器,如果我们 ...

  2. jquery导航二级栏目下拉

    <div class="Nav_L L"> <ul> <li><a href="" title="" ...

  3. app.config *.exe.config 和*.vshost.exe.config基础学习

    一.问题描述 在使用config文件来保存一些参数,便于下次启动程序时自动加载上次设置的参数的功能时, 碰到个问题,vs2010下调试运行程序始终无法实现config记录上次参数值,而直接运行exe程 ...

  4. 各种数据处理方案(SQL,NoSQL,其他)的应用场景

    综合stackoverflow和linkin上的相关讨论,还有我个人的工作经验:   Redis应用场景(大部分场景下memcache可以用Redis代替,所以不单独讨论) 线上业务,读写的高性能要求 ...

  5. DTD 知识归纳总结

    一:在xml文件中引用一个dtd规则. <!DOCTYPE 根元素 [元素声明]> 二: xml文档中中包含的内容模块 元素:元素是 XML 以及 HTML 文档的主要构建模块. 属性:属 ...

  6. B-树

    定义: B-树是一种平衡的多路查找树,在文件系统中有所应用.主要用作文件的索引. 特性:(M为层数) 1.定义任意非叶子结点最多只有M个儿子:且M>2: 2.根结点的儿子数为[2, M]: 3. ...

  7. JSP标记

    JSP标记是JSP页面中很重要的组成部分,JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记. 一 指令标记page Page指令标记,简称page指令, ...

  8. Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

    问题提示:Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. ...

  9. Python-Day12 Python mysql and ORM

    一.Mysql数据库 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,    每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据 ...

  10. WPF工作笔记:本地化支持、主进程通知、两种最常用异步编程方式

    1.本地化支持 (1)重写控件默认的依赖属性LanguageProperty FrameworkElement.LanguageProperty.OverrideMetadata( typeof(Fr ...