zoukankan      html  css  js  c++  java
  • 【工具】openwrt安装记录

    步骤:

        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目录下,然后内核镜像复制进去:

    1 mtd erase kernel
    2 mount /dev/mtdblock5 /mnt
    3 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

  • 相关阅读:
    HD200703
    并查集——合作网络D306
    并查集——易爆物D305
    NOIP初赛知识点
    离散化
    wsl2启动时无法添加自启动和加载环境变量的解决办法
    wsl2上用docker部署运行环境,mvn构建镜像找不到dockerhost
    docker 创建自己的镜像仓库
    单机多容器管理(已转k8s工具,仅参考) docker compose简介+使用+遇到的坑
    ubuntu下载安装jdk+maven,配置ssh
  • 原文地址:https://www.cnblogs.com/zhchngzng/p/4182769.html
Copyright © 2011-2022 走看看