玄箱でNetBSDを動かす NetBSD-evbarm

それ以外の何か(仮)

(このページの最終更新日: 2008-12-03)
注意:ここに書いてあることは信憑性が低いので 絶対に信じないこと

どこかに88F5182/88F5281の資料が間違って置いてあったら教えてください。
→ 教えていただきました(コメント欄参照)。



現在の状態

  • 大御所が活動を開始された模様。しばし待たれよ。 (2007-09-03)
  • デバイスの状況: (kiyoharaさんパッチ:2008-03-27版ベース)
    • USB: OK
    • SATA@内蔵: OK(一部制限あり)
      • TeraStationProには無し
    • PCI-Express: OK?(一部制限あり)
    • PCI: OK?
      • 玄箱/PROで有効にすると固まる(らしい)。TeraStationProはこの先にSATA@PCIがある。
    • Timer: OK
      • ちゃんと時刻を刻んでいる。psやtimeも正常。
    • TWSI: OK
      • 玄箱/PROのRTCの読み書きはOK。DNS-323のほうでトラブル?←問題無し。I2Cデバイスのドライバの問題。
    • RTC@TWSI: OK
      • 玄箱/PROのRS5C372はOK
    • Gigabit Ethernet: OK?
      • ごく偶に固まる
    • 電源制御(power off, hard reset): 未
      • シリアルにつながっているヤツ。TeraStationProでは液晶表示も。

  • LS-GL入手済(寄贈) ←再組み立て完
  • 玄箱/PRO入手済(購入)
  • HS-DHGL入手済(購入)

+  過去の情報


外部から知り得る情報

(MarvellはNDAを結ばないとSpecを出さないので...)
  • CPU
    • LS-GL: 88F5182 (Orion-1) 400MHz
      • ARM926EJ-S(tm)コア
      • I/O-DATA LANDISK Tera, LANDISK Homeと同じCPU(SoC)
    • TS-HTGL: 88F5281 (Orion-2) 500MHz
      • ARM926EJ-S(tm)コア
      • TS-HTGLのクロックはちょっと速い(500MHz)らしい。by linkstationwiki.net
      • これかな? 88F5281?
      • Synology DiskStation DS107+ってのもTS-HTGLと同じSoCらしい。
    • LS-LGL: 88F6082 (Orion-Micro) 333MHz?
      • ARM926EJ-S(tm)コア
      • RAMまで入ったSoC
        • RAMはたったの16MB!
      • USB無し
    • D-LINK DNS-323: 88F5181 500MHz

  • 周辺(SoCなのでCPUと一緒のダイ)
    • Gigabit Ethernet x 1
    • SATA
    • PCI x 1
    • PCI-Express x 1
    • UART x 2
      • NS16550互換だがレジスタアラインメントが4バイト
    • TWSI(I2C)
    • GPIO
    • USB(EHCI)
      • 意外にも普通のEHCIらしい。ehci_XXXX.cを作ればehci.c経由でそのまま使えるかも?
    • IDMA Engine x 4
    • 割り込みコントローラ
    • 汎用タイマ x 2
    • Watchdog Timer x 1
  • 本当の周辺
    • RAM 128MB(玄箱/PRO, TeraStationPro)
      • バグで128MB超えが出来ないって本当?
    • Ethernet PHY
      • 88E1111 (makphy)
    • 電源管理(Micon-v2)
      • UARTに接続
      • TS-TGLと同じ(らしい)
    • 時計(RTC)
      • RICOH RS5C372 (rs5c372rtc)
      • TWSI(I2C)に接続

ブート

  • U-Boot
    • loader.oのような小細工は不要

シリアルコンソール

  • 115200bps, 8bit, Non-Parity, 1-Stop-bit
  • 結線
    • 1:TXD, 2:RXD, 3:VCC, 4:GND
    • 結線は代々同じ。古くはISDNルータのころから...
  • 本体無改造の接続メモは別ページ

メモリマップ(Linux側)

00000000 128MB SD-RAM
e0000000 128MB PCI-Express Memory Window
e8000000 128MB PCI Memory Window
f0000000  16MB PCI-Express Config
f1000000   1MB SoC Internal Registers
f2000000   1MB PCI-Express I/O Window
f2100000   1MB PCI I/O Window
fb000000  64kB Crypt Engine
ff800000   8MB Boot ROM(後ろ4MBは予備(未実装))

SoC Internal Registers


割り込み

 0 BRIDGE/Timer
 1 DoorBell H->C
 2 DoorBell C->H
 3 UART 0
 4 UART 1
 5 TWSI
 6 GPP 0-7
 7 GPP 8-15
 8 GPP 16-23
 9 GPP 24-31
10 PCI-Express 0 Error
11 PCI-Express 0
12 (PCI-Express1 Error)
13 USB 1 Control/(PCI-Express1)
14 Device Bus Error
15 PCI Error
16 USB Bridge Error
17 USB 0 Control
18 Ethernet Receive
19 Ethernet Transmit
20 Ethernet Misc.
21 Ethernet Sum
22 Ethernet Error
23 IDMA Error
24 IDMA 0
25 IDMA 1
26 IDMA 2
27 IDMA 3
28 CESA
29 SATA
30 XOR 0
31 XOR 1

ハードディスクの割り当て(LS-GL:Linux側)

  • sda1: ext3fs : /boot (U-Bootはここから読み出す)
  • sda2: XFS : Linux root
  • sda3: 未割当
  • sda4: 拡張領域 : →sda5, sda6
  • sda5: swap
  • sda6: XFS : samba用領域

(案その1)
  • sda6を縮め、余った領域をsda7(NetBSD)に割り当てる
(案その2)
  • sda4, sda6を縮め、余った領域をsda3(NetBSD)に割り当てる

リソース





移植のための勉強ネタ


メモ

  • ARM926EJ-Sのサポートは src/sys/arch/arm/arm32/cpu.c を見る限り、MAIN(current)とnetbsd-4に入っている。
    • 移植対象は(今の所)netbsd-4ブランチの予定。
    • ↑netbsd-3ブランチにARM926EJ-S(ARM9Eサポート)を組み入れたものも選択肢に入るか?

その他

  • Wasabi SystemsがBSD系OSを移植済み(注:売り物)
  • OpenBSDが移植を開始しているらしい。(OpenBSD/armish)(本当に?) ←どうも違うらしい。
  • 清原さんがTeraStation Proを持っているとのこと(^_^)
    • 清原さんはColdFireで忙しいらしい(8末締め切り?)
  • (情報をもっている人は教えてください)

  • XScale PXA270 416MHzを採用したW-ZERO3[es]でLinuxが動いているようです。ソースがまだ未公開なのが残念です。
    http://w-zero3.org/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%2FLinux#q0e5f3bc -- うめの (2007-07-09 00:33:16)
  • ブートローダーがあるので、あとは実行あるのみですね(^_^)
    hpcarmな諸先輩方、(草葉の陰から)応援してます! -- かわうち (2007-07-09 20:56:05)
  • 清原です。

    ここにOpenなドキュメントが転がっていました。
    http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree17

    これで堂々と作業に入れそうです。orz -- kiyohara@netbsd (2007-11-05 17:54:31)
  • 大変ありがとうございます _o_ >> 清原さん
    "Open Source Community Programmer’s User Guide"と銘打たれてますので、
    何となく安心(?)です。こちらもがんばってみます。
    # これで2~3年の予定が半年くらい縮まれば... orz -- かわうち (2007-11-05 21:29:21)
  • KUROBOX/PROをNFSで起動する事が出来ました。年内にはソース出せるかなと。
    最もNICの機能もまだ全部実装できていませんが。。。 -- kiyohara (2007-12-23 21:30:30)
  • をを、すごい!(^_^) 他のドライバの具合は如何ですか?
    # 某もつ、お誘いをいただいたのですが参加できずです。直接いただく(?)絶好のチャンスを... orz
    -- かわうち (2007-12-23 22:03:44)
  • ehci動きました。USBフラッシュメモリをマウントして読み書きできました。
    http://www.kk.iij4u.or.jp/~kiyohara/tmp/kurobox/
    インストールのようなハードな事?は試みていません。。。orz
    次はPCI行く予定です。SATAはちょっと辛いので。 -- kiyohara (2008-01-27 15:55:01)
  • おぉ、EHCIが動きましたか。すごい!
    # みのうらさんもTeraStation Proを入手されたようですし、自分の出る幕無さそうですね(^_^;)
    自分はTWSIあたりでお茶を濁そうかと...
    -- かわうち (2008-01-27 16:37:19)
  • PCI Express なカードを何とかしようとしているんです
    が、なかなかうまく動いてくれません。。。mskでテスト
    してるんですが、upしてping数発飛ばすとDMAが動作しな
    くなるって状態です。
    ところでtwsi動いたんですか? で、その先にRTCか何か
    いるんだと思うんですが、それは? -- kiyohara (2008-02-18 23:27:47)
  • おつかれさまです。_o_
    TWSI動きましたよー(^__^)。時計も読み書きできました。
    (時計しかつながっていないのでこれしかテストしていませんけど...)
    # SATAは頂いたドキュメントでお腹いっぱいです orz
    -- かわうち (2008-02-18 23:37:11)
  • TWSIの件はmemoの2008-02-13に書きましたが、こっちに書かないとダメですね... _o_
    とりあえずはmemoのほうを参照願います...
    -- かわうち (2008-02-18 23:43:16)
  • msk(4)のバグ?を踏んでました。。。それを修正したらmskを経由してsshで他のホストにログインできました。
    明日にでもこのコードを出します。
    つーかそろそろ本家に入れる方向で行きたいなっと。

    あとorion_twsi.cですが、oriontwsi_match()の計3行、先頭がタブじゃないですYO。
    # 余計な突っ込みすみません。orz -- kiyohara (2008-02-22 21:51:31)
  • ああ、やっちゃいました。直しておきます。 _o_
    # /usr/share/misc/styleは(出来るだけ)守ったつもりだったんですが orz

    こちらでは時計の進みが40倍速かったんですが、そちらではどうですか?
    この件、現在oriontmr.cをいじって実験しています。
    -- かわうち (2008-02-22 22:24:38)
  • TWSI、修正しました。
    その他小ネタパッチも置いておきました。
    (タイマのパッチは暫定です...まだテスト中)
    -- かわうち (2008-02-22 23:25:55)
  • kiyoharaさん作のソースとパッチが置いてあるところがしばらく前からforbiddenになっています orz
    https://www.iij4u.or.jp/info/iij/20080129-1.html が原因でしょうか?
    宜しければindex.htmlを置いていただけないでしょうか... _o_ >> kiyoharaさん
    -- かわうち (2008-03-13 22:37:52)
  • そうなんですよねぇ〜。面倒だなぁ〜。

    明日あたり、一度ソースをまとめる予定です。
    タイマの件修正しました。
    PCI-Expressはたぶん動きます。(mskで確認。mskパッチはまだコミットしてません。)
    PCIはコンフィグ空間は触れます。割り込みはボード依存で未実装です。
    ご存知でしょうが、Teraの場合はこのPCI上にSATAが載っています。
    Tera以外はこのPCIバスに触るとハングします。なのでconf/KUROBOXARMでコメントアウトしています。
    SATAのドライバに着手しました。PIOは動きそうな感じで、wdを見付けることが出来ました。
    が、割り込み周りが未実装なため、手元のソースではwdctimeout()中でwdcintr()を呼ぶという変なことをやっています。 -- kiyohara (2008-03-21 20:23:26)
  • cvs update かけてソースを最新にして、開発環境マシンをビルドしなおしたらnfsdが起動しなくなり、
    テスト出来ない状態に突入してくれました。。。;-<
    今日、ソースとパッチ出すつもりだったのですがあきらめました。orz -- kiyohara (2008-03-22 21:37:42)
  • おつかれさまです _o_ >> kiyoharaさん
    (無事戻れたら)こちらも検証環境@LS-GLを整えたいと思います。
    # 現在作業完全停止中です orz
    -- かわうち@実家 (2008-03-22 22:00:47)
  • ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/kuroboxarm/
    に置きました。
    SATAがPIO onlyですが、Linux の空間を ext2 で mount 出来ました。
    で、書き忘れてましたが、一点デグレードしました。orz
    reboot出来なくなりました。。。ハングします。(なぜ?) -- kiyohara (2008-03-27 22:01:30)
  • ありがとうございます。早速試してみます。_o_
    # リブートとシャットダウンはシリアルの先の電源コントローラを叩くように改造してみます。
    -- かわうち (2008-03-27 22:15:09)
  • 現在試していますが、U-Bootで"ide reset"を行うとwd0のprobe時に固まるようです。
    それ以外は特に問題は見つかっていません。
    もう少し激しく突いてみます。
    -- かわうち (2008-04-05 21:01:48)
  • Marvellも改心?したのか、88F5281/5182に関しては
    http://www.marvell.com/products/media/index.jsp
    からマニュアル類が(少しだけ)ダウンロード出来るようになったようです。
    # 相変わらず全部では無い
    -- かわうち (2008-05-28 21:28:30)
  • ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/orion_nas/
    に最新のを置いてみました。OrionのNASゼネリックなカーネルを目指そうと思ったのですが、
    早くも断念気味です。orionpciの先のPCIデバイスは割り込みにGPIOを使うんですが、u-boot
    は基板依存なGPIOの初期化を行ってくれていません。で基板の判定方法も不明という状態です。

    mvsata at orion はDMA ありでも動作するはずです。
    mvsata at pci はDMAの応答が無いので、MVSATA_WITHOUTDMAありのカーネル使って下さい。
    ただしDMA無しでも何故か全てのチャンネルからエラーと完了、PCIエラーの割り込みがきます。謎です(笑)

    Leo氏のドライバも入っています。が、どれもmatchしてしまっているようでattachされます。で、エラーが表示されます。
    -- kiyohara (2008-06-24 19:47:30)
  • いつもありがとうございます _o_ >> kiyoharaさん
    今週末くらいになっちゃいますが、試してみます。
    # TS-HTGLのガワもあるので試したいのですがディスクが4台揃わず orz
    -- かわうち (2008-06-24 23:20:21)
  • u-boot用のイメージを作成するスクリプトをメールで出しました。
    MIPS でも試してもらえるとうれしいです。 -- kiyohara (2008-07-17 22:27:36)
  • ありがとうございます >> kiyoharaさん
    まとまった時間がとれたら試させていただきます。
    # もちろんevbmips(ADM5120)も試します。
    -- かわうち (2008-07-18 00:26:24)
  • 新しいのを用意しました。orionpciの初期化をちゃんと行っていなかったので、実装しま
    した。結果 TeraStation で SATA が使えるようになりました。

    ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/orion_nas/orion_nas-20080912.diff
    ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/orion_nas/orion_nas-20080912.tar.gz

    あと残りは IDMA、XORE、CESA ですかね。
    それと micon どうしましょうか。micon でファンの制御を行っているんですね。なので
    なんとかしないと熱が。。。
    -- kiyohara (2008-09-13 18:04:20)
  • おっと mvsata はこれを。
    ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/orion_nas/mvsata-20080912.diff
    ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/orion_nas/mvsata-20080912.tar.gz
    -- kiyohara (2008-09-13 18:05:20)
  • ありがとうございます。 >> kiyoharaさん
    諸般の事情(?)によりずっとサボっていてすみません _o_

    miconは割り込みとシリアルとのコラボが必要で面倒そうですね...
    自分は前にTS-TGLのものでポーリング動作で電源OFFのみ可能なのを作っただけで終わってます。

    # ↓来たれ勇者
    http://buffalo.nas-central.org/download/KBPro_ARM9/GPL/%e8%a3%bd%e5%93%81%e4%bb%95%e6%a7%98%e6%9b%b8/%e3%83%9e%e3%82%a4%e3%82%b3%e3%83%b3%e4%bb%95%e6%a7%98%e6%9b%b8.doc
    http://buffalo.nas-central.org/download/KBPro_ARM9/GPL/English-Documentation/Microcomputer%20Communication%20Specifications.pdf

    -- かわうち (2008-09-13 21:42:45)
  • QNAP TS-109、TS-409 という NAS も Orion 5281 ですね。
    SATA がどこに繋がっているのやら。

    今 IDMAC 書き書きしているところです。
    -- kiyohara (2008-10-07 15:19:29)
  • おつかれさまです >> kiyoharaさん

    5182でよければ I-O DATAのにも有った気がします。
    NetBSDで弄っている話は聞きませんが...

    # まだ回復できていませんので、草葉の陰から応援してます _o_ -- かわうち (2008-10-07 21:09:30)
  • そういえばこんなの発売されてますね。買います?
    たぶんKUROBOX_TERAで動作するはずですが。。。
    http://www.kuroutoshikou.com/modules/display/?iid=1264
    -- kiyohara (2008-12-03 16:47:26)
  • 高いっす orz >> KURO-NAS/X4
    # いまいちターゲットが不明なブツですねぇ...
    -- かわうち (2008-12-03 21:11:31)
名前:
コメント:

55353