【ツール】openwrtインストールレコード

2738 ワード

手順:
    1  Ethernetブートから起動します.我々の実験室はサーバにopenwrtミラーを配置したため,インストール時にイーサネットから起動し,サーバ上のミラーをRAMにロードしてシステムを起動した.
    2  PC上でSCPでコンパイルしたopenwrt-XX-X.elfとopenwrt-XX-rootfs.tar.gzはルーティングに転送される.この2つのファイルは./openwrt/trunk/bin/ar 71 xxにあり、前者はカーネル実行可能ファイルであり、後者はファイルシステムである.
scp:srcからSSHでdstにコピーします.両方ともopenssh-serverとopenssh-clientをインストールする必要があります.
     例:scp 172.12.xxx.xxx:/opt/openwrt/trunk/bin/ar 71 xx/XXX.elf/  #172.12.xxx.xxxホスト上のパスの下にあるファイルを、ネイティブのルートディレクトリにコピーします.
 
    3  ルータでnand上の各mtdblockに対応する内容が何であるかをdmesgで表示します.次のセクションを見つけます.
[ 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はmtdblock 5、ファイルシステムはmtdblock 6です.
 
    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