SlideShare ist ein Scribd-Unternehmen logo
1 von 69
1
@tnishinaga 
2
活動 
• 技術書執筆 
– 「BareMetalで遊ぶ Raspberry Pi」 
(達人出版会) 
http://tatsu-zine.com/books/raspi-bm
楽園追放 
アンジェラちゃん 
を愛でに来ました 
4
アンジェラちゃん 
かわいい! 
5
  ☝ 
        ՞ 
 _人人人人人人_ 
 > (     ) <  ☞ 
 ‾Y^Y^YY^Y^Y‾ 
 ՞ 
      ਊ 
   ∞ 
   ∫ 
,';:☜;.`,ਊ,,;';,;☞,.՞ 
՞ 
6
最近遊んだLinuxボードたち 
@tnishinaga 
7
今回の内容 
8
最近遊んだLinuxボード 
をご紹介。 
9
中途半端なの多いです 
ご容赦を…… 
10
おしながき 
11 
• Intelのあれ 
• 狂気のSATA 
• ブラックロック☆美少女
Section 1 
Intelのあれ 
12
13
SHARP Zaurus SL 
• 私が初めて知ったPDA 
– 当時、中学生 
– 財布の事情で購入できず 
• 憧れの機体 
• 最近親切な人からSL-C3200を譲り受ける 
14
憧れの機体で遊びたい 
• しかし、いろいろ古すぎ。 
– CPU: Intel Xscale PXA270 416MHz 
– Arch: ARM v5 
– OS: Linux Kernel v2.4 
15
とりあえず 
カーネルを 
最新にしたい 
17
カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
18
カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
19
Zaurus SL-C3200 の I/Oポート 
• SL-CシリーズはI/Oポートからシリアル 
を引っ張り出せる 
– I/Oポートの仕様は以下 
• http://support.ezaurus.com/developer/doc/ 
hardware.asp 
• コネクタは既存製品から調達すると良い 
– ヤフオクで300円で調達 
20
これを 
21
こうして 
22
こうじゃ 
23
やったぜ 
24
疲れたので中断。 
次。 
25
Section 2 
狂気のSATA 
26
覚えてますか 
27
Plug Computer 
28
Plug Computer 
• 電源プラグとLinuxボードが合体した製品 
– 製品例 
• SheevaPlug 
• GuruPlug 
• PogoPlug 
• 当時、高校生 
– 二次元美少女ゲームを買うのに必死で買えず。 
– 最近はPogoPlugがヤフオクで1000円ぐらい。 
29
購入。 
30
PogoPlug V3 Pro spec 
• CPU: PLX 7820 700MHz Dual-core 
• Arch: ARMv6l ARM11 mpcore 
• RAM: 128MB 
• NAND: 128MB 
• Ethernet: Gigabit 
• Option: SATA 
• OS: Linux Kernel v2.6 
31
PogoPlug V3 Pro spec 
• CPU: PLX 7820 700MHz Dual-core 
• Arch: ARMv6l ARM11 mpcore 
• RAM: 128MB 
• NAND: 128MB 
• Ethernet: Gigabit 
• Option: SATA 
• OS: Linux Kernel v2.6 
32
目的 
• GigabitとSATAを活かしてNASとして 
復活させたい 
– どうせならBtrFSとか使えるようにしたい 
• そのためにはちょっとカーネルが古いので 
新しくしたい 
33
最初にやること 
• mini PCIの無線LAN 
カードを抜く。 
– 技適怖い。 
34
Re: カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
35
Re: カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
36
PogoPlugのシリアル 
• 3.3vですでに出ている。 
• やるだけ。 
37
Re: カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
38
PogoPlug内部構造 
• カーネルはNAND上に 
– U-Boot 
– Kernel 
– Rootfs 
の順で格納されている 
• このKernelを新しいKernelで書き換えれば良 
いはず。 
39
Re: カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
40
Kernelコンパイル 
• Pogoのソースは公開されている 
– http://pogoplug.com/opensource 
• 適当にコンパイル。 
uBootイメージを作る 
41
Re: カーネル書き換え計画 
1. シリアルコンソールにアクセスする 
2. 内部構造を調べる 
3. カーネルをコンパイルする 
4. カーネルを焼く 
42
レッツNAND焼き 
• Kernelのいる0x500000, 0xB00000に 
Linuxシステム上から書き込む 
• れっつ再起動 
43
• Stating Kernel 
44
45
おめでとうございます 
46
47
48
立派な文鎮の完成です 
49
敗因? 
• エントリーポイントを間違えた? 
– 0x60008000だった可能性大 
• 2.6 → 3.xでDTBとかが増えて方法が 
変わったのを失念 
50
PogoPlug V3 Pro spec 
• CPU: PLX 7820 700MHz Dual-core 
• Arch: ARMv6l ARM11 mpcore 
• RAM: 128MB 
• NAND: 128MB 
• Ethernet: Gigabit 
• Option: SATA 
• OS: Linux Kernel v2.6 
51
敗因? 
• エントリーポイントを間違えた? 
– 0x60008000だった可能性大 
• 2.6 → 3.xでDTBとかが増えて方法が 
変わったのを失念 
52
今後の方針 
• SATAにHDDつながってると、 
SATAから起動するっぽい? 
• ここから復旧できるかも 
• すでに3.17入れる方法公開されてた 
• http://forum.doozan.com/read.php?2,16044 
– 復旧できたら、ここをみてやり直す 
53
卒研が忙しくて中断。 
次。 
54
Section 3 
ブラックロック☆美少女 
55
モノクロ液晶で 
二次元美少女を 
愛でてたい 
56
f (x) = 
57
(x)・ 
58 
Raspberry Pi Nokia 5110 
Mono Display
f(二次元美少女動画) 
59
= こころぴょんぴょん 
60
実装内容 
1. RasPiで動画を縮小+モノクロにする 
2. RasPiから画面に出力する 
61
実装内容 
1. RasPiで動画を縮小+モノクロにする 
2. RasPiから画面に出力する 
62
動画の縮小+モノクロ化 
• OpenCV + Python 
• モノクロ化手順 
– 動画読み込み 
– グレイスケール化 
– 縮小 
– ガウス分布を用いた二値 
化 
63
実装内容 
1. RasPiで動画を縮小+モノクロにする 
2. RasPiから画面に出力する 
64
Nokia 5110液晶への出力 
• ライブラリを使用 
– https://github.com/rm-hull/pcd8544 
• PIL→Imageに変換して送り込めばOK 
65
完成 
TODO: デモ動画 
66
完成 
※著作権OKな動画が無いためデモ不可※ 
67
TODO 
• 問題: 動画の読み込みが糞遅い 
• 動画の読み込みに 
ハードウェアデコード機能を使う 
68
  ☝ 
        ՞ 
 _人人人人人人_ 
 > (     ) <  ☞ 
 ‾Y^Y^YY^Y^Y‾ 
 ՞ 
      ਊ 
   ∞ 
   ∫ 
,';:☜;.`,ਊ,,;';,;☞,.՞ 
՞ 
69 
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
 
Pdp11onfpga
Pdp11onfpgaPdp11onfpga
Pdp11onfpga
xylnao
 

Was ist angesagt? (20)

あるmmapの話
あるmmapの話あるmmapの話
あるmmapの話
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
 
about tcpreplay-edit
about tcpreplay-editabout tcpreplay-edit
about tcpreplay-edit
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
謎PCとの付き合い方(LILO東海道 2015/5発表分)
謎PCとの付き合い方(LILO東海道 2015/5発表分)謎PCとの付き合い方(LILO東海道 2015/5発表分)
謎PCとの付き合い方(LILO東海道 2015/5発表分)
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマークKVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
Free bsd jail入門
Free bsd jail入門Free bsd jail入門
Free bsd jail入門
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
 
Pdp11onfpga
Pdp11onfpgaPdp11onfpga
Pdp11onfpga
 

Andere mochten auch

詳解Dexファイルフォーマット
詳解Dexファイルフォーマット詳解Dexファイルフォーマット
詳解Dexファイルフォーマット
Takuya Matsunaga
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
Takuya Matsunaga
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
 
Design by contractとホーア論理
Design by contractとホーア論理Design by contractとホーア論理
Design by contractとホーア論理
Takuya Matsunaga
 
Tickライブラリで遊ぼう(C++)
Tickライブラリで遊ぼう(C++)Tickライブラリで遊ぼう(C++)
Tickライブラリで遊ぼう(C++)
kotoji
 
ここが変だよDalvik仮想マシン
ここが変だよDalvik仮想マシン ここが変だよDalvik仮想マシン
ここが変だよDalvik仮想マシン
Takuya Matsunaga
 
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
Hirotaka Kawata
 

Andere mochten auch (20)

KoboをLinuxで遊ぶ
KoboをLinuxで遊ぶKoboをLinuxで遊ぶ
KoboをLinuxで遊ぶ
 
Eject探検隊@北陸1
Eject探検隊@北陸1Eject探検隊@北陸1
Eject探検隊@北陸1
 
詳解Dexファイルフォーマット
詳解Dexファイルフォーマット詳解Dexファイルフォーマット
詳解Dexファイルフォーマット
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
 
Dataflow140711-a@Kernel/VM北陸1
Dataflow140711-a@Kernel/VM北陸1Dataflow140711-a@Kernel/VM北陸1
Dataflow140711-a@Kernel/VM北陸1
 
Robot Language and a Tail Recursive Interpreter
Robot Language and a Tail Recursive Interpreter Robot Language and a Tail Recursive Interpreter
Robot Language and a Tail Recursive Interpreter
 
加速器と素粒子物理での超?低レイヤー
加速器と素粒子物理での超?低レイヤー加速器と素粒子物理での超?低レイヤー
加速器と素粒子物理での超?低レイヤー
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
Design by contractとホーア論理
Design by contractとホーア論理Design by contractとホーア論理
Design by contractとホーア論理
 
140712 kernelvm
140712 kernelvm140712 kernelvm
140712 kernelvm
 
最近のEjectダイジェスト
最近のEjectダイジェスト最近のEjectダイジェスト
最近のEjectダイジェスト
 
ロボット用Open Source Software
ロボット用Open Source Softwareロボット用Open Source Software
ロボット用Open Source Software
 
Bluetooth le for FreeBSD
Bluetooth le for FreeBSDBluetooth le for FreeBSD
Bluetooth le for FreeBSD
 
Tickライブラリで遊ぼう(C++)
Tickライブラリで遊ぼう(C++)Tickライブラリで遊ぼう(C++)
Tickライブラリで遊ぼう(C++)
 
ここが変だよDalvik仮想マシン
ここが変だよDalvik仮想マシン ここが変だよDalvik仮想マシン
ここが変だよDalvik仮想マシン
 
ベイクドGPU Kernel/VM北陸1
 ベイクドGPU Kernel/VM北陸1 ベイクドGPU Kernel/VM北陸1
ベイクドGPU Kernel/VM北陸1
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話
 
Hacking Robotics
Hacking RoboticsHacking Robotics
Hacking Robotics
 
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
 

Ähnlich wie 最近遊んだLinuxボードたち

Boost study14
Boost study14Boost study14
Boost study14
fjnl
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
 
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
Toru Makabe
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
 
仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定
Takashi Naito
 

Ähnlich wie 最近遊んだLinuxボードたち (20)

ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
20140310 fpgax
20140310 fpgax20140310 fpgax
20140310 fpgax
 
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLOGood Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
 
Fpgax 20130604
Fpgax 20130604Fpgax 20130604
Fpgax 20130604
 
Boost study14
Boost study14Boost study14
Boost study14
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
コンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめコンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめ
 
Dpdk環境の話
Dpdk環境の話Dpdk環境の話
Dpdk環境の話
 
仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定仮想スイッチをフェイルオーバーさせてみる予定
仮想スイッチをフェイルオーバーさせてみる予定
 
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoFretrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
 
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4) (and spdmem...
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4) (and spdmem...
 
Lagos running on small factor machine
Lagos running on small factor machineLagos running on small factor machine
Lagos running on small factor machine
 

最近遊んだLinuxボードたち