WNR 200はOpenWRTを正常に使用できます.
この記事のソースhttp://blog.csdn.net/gt945/article/details/12165569
一ヶ月以上前からWNR 200にOpenWRT移植を始めましたが、その時はWNR 200はまだOpenWRTの公式サポートを受けていませんでした.WNR 200の構成はAR 7241+AR 9287で、16 M ROM、64 M RAM、OpenWRTを走るのはとてもさわやかなはずです.しかし、公式のサポートがないので、多くのものは自分で修正する必要があります.その中で一番重要なのは、arch/mips/ath 79/mach-wnr 2200.
移植は簡単で、すぐにWNR 200のカーネルが完成しました.WNR 200のubootはイメージの使用に違いがありますので、ubootに対応するために、uImageイメージのパッケージには公式のmkimageプログラムが必要です.このプログラムはオフィシャルファームウェアをコンパイルする時に生成できます.
ブラシでシステムを書くために、私はopenwrtをコンパイルする時initramfsに参加します.このようにルートのファイルシステムがなくても、ほとんどの機能を使うことができます.
rootfsを入れたら、これまでinitramfsを持たなかったカーネルが正常に起動します.
今まで、私たちがルーティングを開始する方法はubootのtftpbootしか使えません.
ルータが自動的にOpenWRTを起動するためには、uImageをケネルパーティションにブラシする必要があります.多日の努力を経て、やっと達成しました.そしてブラシの流れを添付します.
ファームウェアをダウンロード
パソコンは固定IP 192.168.1.27を設定して、tftp serverを開いて、そして3つのファイルをtftpサーバのルートディレクトリのシリアル接続WNR 200に置いて、起動して、バックはUbootのコマンドラインに入ってbootを設置します.
一ヶ月以上前からWNR 200にOpenWRT移植を始めましたが、その時はWNR 200はまだOpenWRTの公式サポートを受けていませんでした.WNR 200の構成はAR 7241+AR 9287で、16 M ROM、64 M RAM、OpenWRTを走るのはとてもさわやかなはずです.しかし、公式のサポートがないので、多くのものは自分で修正する必要があります.その中で一番重要なのは、arch/mips/ath 79/mach-wnr 2200.
移植は簡単で、すぐにWNR 200のカーネルが完成しました.WNR 200のubootはイメージの使用に違いがありますので、ubootに対応するために、uImageイメージのパッケージには公式のmkimageプログラムが必要です.このプログラムはオフィシャルファームウェアをコンパイルする時に生成できます.
mkimage -A mips -O linux -T kernel -a 80060000 -e 80060000 -C lzma -d openwrt-ar71xx-generic-vmlinux.lzma uImage
は起動パラメータを設定します.console=ttyS0,115200 board=WNR2200 root=31:3 rootfstype=squashfs
このミラーはtftpbootを通じてWNR 200にダウンロードして走ることができます.ルートのファイルシステムがまだ終わっていないので、ファイルシステムに移動してマウントするしかないです.tftpboot 80800000 uImage
bootm 80800000
カーネルに問題がないなら、ファイルシステムを処理しなければなりません.ルートファイルシステムの処理は主にパーティションが正しいです.私のパーティション方式は以下の通りです.{
.name = "u-boot",
.offset = 0,
.size = 0x040000,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "u-boot-env",
.offset = 0x040000,
.size = 0x010000,
}, {
.name = "kernel",
.offset = 0x050000,
.size = 0x180000,
}, {
.name = "rootfs",
.offset = 0x1d0000,
.size = 0xcf0000,
}, {
.name = "config",
.offset = 0xec0000,
.size = 0x010000,
}, {
.name = "language_table",
.offset = 0xed0000,
.size = 0x100000,
}, {
.name = "pot",
.offset = 0xfd0000,
.size = 0x010000,
}, {
.name = "traffic_meter",
.offset = 0xfe0000,
.size = 0x010000,
},{
.name = "ART",
.offset = 0xff0000,
.size = 0x010000,
.mask_flags = MTD_WRITEABLE,
}
私は二つのところを修正しました.公式ファームウェアのグリーンロードパーティションを削除して、大体14 Mの空間を使って、ケネルとrootfsに空間を分けます.ケネルはuImageを置くために使われます.rootfsはルートファイルシステムです.ブラシでシステムを書くために、私はopenwrtをコンパイルする時initramfsに参加します.このようにルートのファイルシステムがなくても、ほとんどの機能を使うことができます.
mkimage -A mips -O linux -T kernel -a 80060000 -e 80060000 -C lzma -d openwrt-ar71xx-generic-vmlinux-initramfs.lzma uImage-initramfs
tftpboot 80800000 uImage-initramfs
bootm 80800000
入ってからなんとかしてopenwrt-ar 71 x-genersic-root.squasfsをrootfsパーティションに書いてください.tftpもhttpもいいです.rootfsを入れたら、これまでinitramfsを持たなかったカーネルが正常に起動します.
今まで、私たちがルーティングを開始する方法はubootのtftpbootしか使えません.
ルータが自動的にOpenWRTを起動するためには、uImageをケネルパーティションにブラシする必要があります.多日の努力を経て、やっと達成しました.そしてブラシの流れを添付します.
ファームウェアをダウンロード
パソコンは固定IP 192.168.1.27を設定して、tftp serverを開いて、そして3つのファイルをtftpサーバのルートディレクトリのシリアル接続WNR 200に置いて、起動して、バックはUbootのコマンドラインに入ってbootを設置します.
tftpboot 80800000 uImage-initramfs
bootm 80800000
linuxシステムに入ったらcd /tmp
tftp -g -l image.img -r image.img 192.168.1.27
tftp -g -l root.fs -r root.fs 192.168.1.27
mtd write image.img kernel
mtd -r write root.fs rootfs
今回のファームウェアは基本ファームウェアで、webグラフィックスインターフェースがないため、どのように追加するかはまだ検討されていません.