【ツール】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ディレクトリにマウントし、カーネルミラーをコピーします.
5 ファイルシステムのmtdblockをマウントし、ここでファイルシステムを解凍します.
解凍タイムズで間違っている場合は、まずmntに入り、tar.gzファイルを現在のディレクトリに解凍します.
6それ以来、カーネルとファイルシステムが完成し、再起動し、nandブートから起動します.
その他のコマンド:
df: 正常にハングアップされたかどうかを確認します.
例えば、df-h
mtdデバイスの表示:cat/proc/mtd
1 Ethernetブートから起動します.我々の実験室はサーバにopenwrtミラーを配置したため,インストール時にイーサネットから起動し,サーバ上のミラーをRAMにロードしてシステムを起動した.
2 PC上でSCPでコンパイルしたopenwrt-XX-X.elfとopenwrt-XX-rootfs.tar.gzはルーティングに転送される.この2つのファイルは./openwrt/trunk/bin/ar 71 xxにあり、前者はカーネル実行可能ファイルであり、後者はファイルシステムである.
scp
例: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