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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
adukot
October 19, 2014
Technology
960
1
Share
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
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
340
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
4
450
Swift Sequence の便利 API 再発見
treastrain
1
240
ボトムアップ限界を越える - 20チームを束る "Drive Map" / Beyond Bottom-Up: A 'Drive Map' for 20 Teams
kaonavi
0
170
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.6k
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
5
1.2k
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
210
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
390
ボトムアップの改善の火を灯し続けろ!〜支援現場で学んだ、消えないための3つの打ち手〜 / 20260509 Kazuki Mori
shift_evolve
PRO
2
620
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
3
250
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
120
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
170
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
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とか動かしたいなー