【工具】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

原文地址:https://www.cnblogs.com/zhchngzng/p/4182769.html