Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NetBSD/evbarm on Radxa Rock
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
adukot
October 19, 2014
Technology
970
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NetBSD/evbarm on Radxa Rock
NetBSD/evbarm on Radxa Rock
Radxa Rock is Rockchip RK3188 based Single Board Computer.
adukot
October 19, 2014
More Decks by adukot
See All by adukot
NetBSD/evbmips on Linino ONE and USB Serial 2015
adukot
0
1.3k
Other Decks in Technology
See All in Technology
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
120
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
230
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
2.3k
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2k
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
14
3.9k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
12
4.2k
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
220
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
190
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1.3k
人材育成分科会.pdf
_awache
4
300
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Statistics for Hackers
jakevdp
799
230k
Designing for Timeless Needs
cassininazir
1
260
GraphQLとの向き合い方2022年版
quramy
50
15k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
NetBSD/evbarm on Radxa Rock @tokudahiroshi
Radxa Rockとは? • Rockchip RK3188 based Single Board Computer. •
Cortex A9 Quad Core 1.6GHz • 2GB RAM, 8GB Flash, MicroSD SDXC • Mali400, HDMI, Avoutput • 10/100M Ether, 802.11b/g/n, Bluetooth4.0 • USB2.0, micro-USB OTG • IR remote http://www.radxa.org/
NetBSD/evbarm on Radxa Rock • らくらく3ステップ • カーネルの移植 • カーネルをロード
• カーネルを実行 • いろいろつまづくこともあります • シリアルコンソール • ブートローダ
USBシリアルケーブル2014 • おなじみ秋月のシリアルケーブル • FTDI • 1,580円 • BeagleBone Blackだとばっちり
• ケーブル長1.8m • ジャンパーケーブル必要 • http://akizukidenshi.com/catalog/g/gM-05840/
USBシリアルケーブル2014 • 新たな選択、千石のシリアルケーブル • PL2303 • 880円 • ジャンパーケーブル不要 •
ケーブル長1m • Windowsドライバは工夫が必要 • PL2303_Prolific_DriverInstaller_v1.5.0.zip • http://www.sengoku.co.jp/mod/sgk_cart/detail .php?code=EEHD-4HJ7
ドライバのバージョンを切り替える
microSDからのブート • androtab.infoが大変すばらしい • http://androtab.info/radxa_rock/sdboot/ • dd最強です dd if=sdboot_rk3188.img of=/dev/sd0d
conv=sync,fsync dd if=parameter.img of=/dev/sd0d conv=sync seek=$((0x2000)) dd if=kernel.img of=/dev/sd0d conv=sync seek=$((0x2000+0x4000)) dd if=boot.img of=/dev/sd0d conv=sync seek=$((0x2000+0xc000)) • つまりkernel.imgをnetbsd.binに入れ替えればOK • かと思いきや、うまく動かない問題
microSDからのブート • ひと手間かけてrkcrc • https://github.com/naobsd/rkutils # gcc -o rkcrc rkcrc.c;
cp /usr/bin # rkcrc -k netbsd.bin netbsd.img # dd if=netbsd.img of=/dev/sd0d conv=sync seek=$((0x2000+0x4000))
ある日の出来事 kernelとかUSBから突っ込んで起動とは?
SD-RAMからの起動 • 母艦からkernelをRadxa RockのSD-RAMに転 送し、そのまま実行するということ • 道具は二つ (u-bootとrkflashtool) • http://files.androtab.info/radxa/sdboot_rk3188.zip
• github.com/linux-rockchip/rkflashtool • まずはmicroSDを作成し、ブートする # dd if=sd_header_64.enc of=/dev/sd0d conv=sync seek=64 # dd if=FlashData.bin of=/dev/sd0d conv=sync seek=68 # dd if=FlashBoot.bin of=/dev/sd0d conv=sync seek=92 # dd if=parameter.img of=/dev/sd0d conv=sync seek=$((0x2000+0x0))
SD-RAMからの起動 • rkflashtoolを作る 1.pkgsrcからgmake, libusb1をインストール 2.githubからlinux-rockchip/rkflashtoolを持ってくる 3.LDFLAGSにLIBUSB=/usr/pkgと-R/usr/pkg/lib足して gmake • rkflashtoolでカーネルを転送、実行
# rkflashtool M 0x60408000 0x1000000 < /usr/obj/sys/arch/evbarm/compile/RADXA/netbsd.bin # rkflashtool B 0x60408000 0x60408000 • この場合のカーネルはrkcrcしなくてよい • microSDの抜き差しがないため、大変便利です
つついさん曰く NetBSD移植 いまむかし, Tsutsui Izumi, OSC2012愛媛 より http://www.ceres.dti.ne.jp/tsutsui/osc12eh/img32.html
今回の移植 • 既存のCortex向けドライバを動かしただけ • gic: 割り込みコントローラ • pl310: L2キャッシュコントローラ •
a9tmr: グローバルタイマ • a9wdt: ウォッチドッグ • シリアルコンソール • comドライバでOK、ただし16750じゃないとダメ • a9_mpsubr.cに一文字出力用xputcが存在していた
移植の記録 • 2014年7月30日 やる気を出し始める (sdboot) • 2014年9月2日 移植スタート • 2014年9月4日
シリアルから文字が出る • 2014年9月8日 Cの世界へ (initarm) • 2014年9月11日 printfが動く • 2014年9月14日 NetBSDバナー表示 • 2014年9月29日 /bin/shが動いた • 2014年10月9日
[email protected]
に報告
まとめ • Radxa Rockは良い • 解析情報やブートまわりの情報が多め (Thanks! @naobsd) • 電子工作不要
• USB経由で快適開発 • NetBSD上で完結 (ツール類含めて) • NetBSDが動くと楽しい • 既存資産があると手軽 • 適切な課題設定が大切(よくばらない) • USBとか動かしたいなー