その結果、内部メモリからファームウェアをダウンロードし、USB接続のハードドライブをメインメモリとしてマウントするNASができます。
AndreasBöhlerという名前の男性が、ファームウェアのコンパイルを可能にするためにopenwrtリビジョン39746のパッチを書きました。 次の手順は、Debian OS上でVirtualBoxの下で実行されます。
コンパイル用のパッケージをインストールします。
sudo apt-get install subversion git g ++ libncurses5-dev zlib1g-dev gawk
ファームウェアソースをダウンロードします。
svn co -r 39746 svn://svn.openwrt.org/openwrt/trunk dns320l
パッチを適用します。
cd dns320l
wget www.aboehler.at/hg/linux-dns320l/raw-rev/223820522d49 -O patch.diff
patch -p0 <./ patch.diff
patch -p0 -ib / openwrt / openwrt-dns320l.patch
さて、ファームウェアのコンパイル。
インストールされたコンポーネントの確認:
前提条件を作る
このようなウィンドウが表示された場合、ターゲットシステムのMarwell Kirkwood行とターゲットプロファイルのD-Link DNS320L行を選択します。
これが発生せず、エラーがない場合は、次を実行する必要があります。
menuconfigを作成します
実際には、これはクリーンな初期動作ファームウェアに十分です。 必要に応じて、メニューを実行して必要なパッケージをインストールできます。 ルートディレクトリをハードドライブに転送する予定なので、 ベースシステム->ブロックマウントおよびカーネルモジュール->ファイルシステム-> kmod-fs-ext4をインストールしました。 外部USBハードを使用しましたが、同じ成功を収めて、sataハードまたはUSBフラッシュドライブを使用できます。
コンパイルを開始します。
作る
マルチコアコンピューターを使用している場合:
–j5を作成
ここで、5はコアの数+1です
コンパイルを終了します、これは遅いです。 次に、NASコンソールに接続する必要があります。 これを行うには、病棟に4つのピンがあり、USBとネットワークの近くにあり、簡単に接続できるようにスティックをはんだ付けしました。ここでこのアダプターを使用します、PL2303上の任意のアダプター、たとえばSiemens dca-510のケーブルを使用できます:
DNS320Lボードのピンは次のとおりです( jamie.lentin.co.uk/devices/dlink-dns325から)。
ボードのピンは、USB-TTLアダプターの対応するピンに接続する必要があります。 動作しない場合は、RXとTX、 3.3vを交換する必要はありません! 2つのアダプターを接続して焼き付けました。
接続後、Puttyを開き、接続ポート(ポートは[デバイスマネージャー]-> [COMおよびLPTポート]で表示できます)速度115200をインストールします。
カテゴリシリアルデータビット-8、フロー制御-なし。
[開く]をクリックします-空のコンソールが開きます。 NASの電源を接続して電源ボタンを押すと、ダウンロードが開始され、碑文を待っています: u-bootの起動を停止する場合は、スペースを押してから、任意のキーを押すように求められたら1を押します
「スペース」、次に「1」をすばやく押します。 入力行を取得します。
マーベル>
(スクリーンショットの作成を忘れてしまいました)
次に、tftpサーバーを起動します。
これを行うには、 tftpd32.jounin.net / download / tftpd32.450.zipをダウンロードします
コンパイルされたファームウェアのopenwrt-kirkwood-dns320l-jffs2-nand-2048-128k.imgおよびopenwrt-kirkwood-uImageファイルを同じフォルダーに解凍してドロップします。 NASをパッチコードでコンピューターに接続し、IPアドレスをコンピューター2.66.66.32に指定して、tftp32を実行します。
パテで書き込みます(サイトhttp://www.aboehler.at/cms/projects-a-hacks/50-dns320lの情報にエラーがあります)
setenv bootargs_openwrt 'console=ttyS0,115200 earlyprintk root=/dev/mtdblock2 rootfstype=jffs2' setenv bootcmd_openwrt 'setenv bootargs $(bootargs_openwrt); nand read.e 0xa00000 0x100000 0x400000; bootm 0xa00000' setenv to_openwrt 'setenv mainlineLinux yes; setenv bootcmd \'run bootcmd_openwrt\'; saveenv; reset' tftp 0x6400000 openwrt-kirkwood-uImage nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 tftp 0x6400000 openwrt-kirkwood-dns320l-jffs2-nand-2048-128k.img nand erase 0x500000 0xfb00000 nand write.e 0x6400000 0x500000 0x200000 run to_openwrt
その後、NASが再起動し、OpenWRTが起動します。
詳細に分析します
setenv bootargs_openwrt 'console=ttyS0,115200 earlyprintk root=/dev/mtdblock2 rootfstype=jffs2' - , / jffs2 setenv bootcmd_openwrt 'setenv bootargs $(bootargs_openwrt); nand read.e 0xa00000 0x100000 0x400000; bootm 0xa00000' - nand 0x100000 0x400000 RAM 0xa00000 , 0xa00000 tftpboot 0x6400000 openwrt-kirkwood-uImage tftp openwrt-kirkwood-uImage ram 0x6400000 nand erase 0x100000 0x400000 nand uImage nand write.e 0x6400000 0x100000 0x400000 0x6400000 ram 0x100000 nand 0x400000 tftpboot 0x6400000 openwrt-kirkwood-dns320l-jffs2-nand-2048-128k.img tftp openwrt-kirkwood-dns320l-jffs2-nand-2048-128k.img ram 0x6400000 nand erase 0x500000 0xfb00000 nand uImage nand write.e 0x6400000 0x500000 0x200000 0x6400000 ram 0x500000 nand 0x200000 run to_openwrt OpenWRT
OpenWRTを読み込んだ後、いくつかのファイルを変更する必要があります。
vi /etc/opkg.conf - : #src/gz barrier_breaker http://downloads.openwrt.org/snapshots/trunk/kirkwood/packages : src/gz barrier_breaker http://downloads.openwrt.org/attitude_adjustment/12.09/kirkwood/generic/packages
vi /etc/config/network – , dhcp config interface 'lan' option ifname 'eth0' option proto 'dhcp' option defaultroute '1' # option type 'bridge' # option proto 'static' # option ipaddr '192.168.1.1' # option netmask '255.255.255.0' # option ip6assign '60'
次:
passwd
ルートパスワードを入力します。
再起動
そして、それをロードすると、openwrtはネットワーク経由でIPアドレスを取得し、ssh経由で接続できます。
次に、ext4でフォーマットされたハードディスクで、openwrt-kirkwood-dns320l-rootfs.tarをNASで解凍します。
opkg install kmod-usb-uhci kmod-usb-storageブロックマウントkmod-fs-ext4
USBへの転送に必要なパッケージをインストールします
vi / etc / config / fstab
構成マウント
オプションターゲット/オーバーレイ
オプションデバイス/ dev / sda1
オプションfstype ext4
オプションオプションrw、sync
オプションが有効1
オプションenabled_fsck 0
sda1 /が存在するディスクパーティションに変更し、アーカイブを解凍しました。
再起動後、すべてが正しく行われた場合、ディスク上のルートでOpenWRTを取得します。
わずか2つの問題が残っています。
1.クーラーは回転しません。ボードをバイパスして電源に接続することでこれを決定しました。
2.ドライブが駐車しない、一時的な解決策は突然の光の損失からのUPSです
使用したファームウェアファイルはYandex.Diskにあります。
UPD1:カーネル設定をわずかに変更しました。現在利用可能なメモリは118 MB Yandex.Disk bigrootであり、カーネルとjffsを再フラッシュする必要があります。
UPD2:速度について比較することはできません(現在、他のネジがありますが、戻る可能性はありません)、誰がダンプ/バックアップのオフィシャルを投げることができますか?
PS間違いを見つけた場合は、PMに書くことをheしないでください。できるだけ早く修正します。