SlideShare a Scribd company logo
1 of 67
Download to read offline
GDBでの 
kernel読み入門 
+おまけ 
@y0t4
自己紹介 
• 太田 陽祐 
• Ingress Enlightened Agent 
L8 
• 琉球大学院生 
• Twitter: y0t4 
• 浅く広くな人
今日話すこと 
• GDBでのkernel読み入門 
• (停電におびえながら)学科システムの 
OSメジャーバージョンアップをした話 
• 未対応なWindowsにvCenterとか入れた話 
時間が許す限り話していこうと思います
• GDBでのkernel読み入門 
• (停電におびえながら)学科システムの 
OSメジャーバージョンアップをした話 
• 未対応なWindowsにvCenterとか入れた話
• GDBでのkernel読み入門 
• (停電におびえながら)学科システムの 
OSメジャーバージョンアップをした話 
• 未対応なWindowsにvCenterとか入れた話 
「入門」とあるように、ポイントや 
引っかかる(引っかかっている)部分を 
紹介します。
動機 
• 「Linux kernelのソースとか読んでみたいよね」 
! 
_人人人人人人_ 
> 単純明快 < 
‾Y^Y^Y^Y^Y‾ 
GDBでのkernel読み入門
ソースを読む方法 
• エディタで読む 
• デバッガで読む 
• パッチで読む 
• printfで読む 
kernelの実行に則して読みたかったので 
デバッガを使うことに決定 
GDBでのkernel読み入門
環境 
• OS: CentOS 6.5 (kernel 3.9.2) 
• 去年の講義で使ったものを流用したので古めなバージョン 
• CPU: Intel(R) Xeon(R) CPU 
X5650@2.67GHz 
GDBでのkernel読み入門
やったこと 
1. KVMホストとVMを用意 
2. KGDB機能を有効化したkernelをビルド 
3. ビルドしたkernelをVMに適用 
4. KGDBのbootパラメータを設定 
5. -sオプションを使ってVM起動 
6. ホストからgdbで接続する(symbolはvmlinux) 
7. 読む -> とりあえずネットワーク通信部分とか 
GDBでのkernel読み入門
構成図 
ホストコンピュータ 
$ gdb vmlinux 
(gdb)target remote :1234 
kernel 
VM 
kernel 
KGDB 
qemu-kvm 
GDBでのkernel読み入門 
• KVMホストと 
VMの関係は 
図のような感じ
KGDB 
• Linux kernelのデバッガフロントエンド 
$ make menuconfig 
Kernel hacking -> 
Compile the kernel with debug info 
KGDB: kernel debugger -> 
KGDB: use kgdb over the serial console 
以下、カーネルコマンドライン部に追記 
kgdboc=ttyS0,115200 console=ttyS0,115200 
GDBでのkernel読み入門
qemu-kvm 
• KVMに対応したCPUエミュレータ 
$ qemu-kvm --help 
-s shorthand for -gdb tcp::1234 
-gdb dev wait for gdb connection on ‘dev' 
! 
qemu-kvmに-sオプションをつけて起動すると 
(gdb)target remote :1234 
で接続可能 
GDBでのkernel読み入門
qemu-kvm 
qemu-kvmはオプションが多くコマンドが長い 
GDBでのkernel読み入門
qemu-kvm 
• LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/libexec/qemu-kvm -name 
kernelvm -S -M rhel6.4.0 -enable-kvm -m 8192 -smp 
8,sockets=8,cores=1,threads=1 -uuid 98767ead-25f4-3f15-5807-fa099bbb0dfd - 
nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/ 
libvirt/qemu/kernelvm.monitor,server,nowait -mon 
chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown - 
device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/tmp/ 
Centos.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci, 
scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 
-drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive, 
bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev 
tap,fd=22,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci, 
netdev=hostnet0,id=net0,mac=52:54:00:89:7c:1b,bus=pci.0,addr=0x3 -chardev 
pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device virtio-balloon- 
pci,id=balloon0,bus=pci.0,addr=0x5 
(/var/log/libvirt/qemu/kernelvm.imgより) 
GDBでのkernel読み入門
libvirt 
“libvirtは仮想機械の制御を抽象化したライブラリで 
ある。(wikipedia)” 
! 
• 起動 
• virsh start [vm名] 
! 
<qemu:commandline> 
<qemu:arg value='-s'/> 
</qemu:commandline> 
GDBでのkernel読み入門
gdb 
• VMを起動したら 
$ gdb vmlinux 
(gdb) target remote :1234 
でgdbからVMのkernelにアクセスできる 
! 
これで読む準備は終わり 
GDBでのkernel読み入門
ハマった場所 
• architecture 
• opaque pointer 
• compilerの最適化 
• macroなソースコード 
• SIGTRAP 
• KGDB: Waiting for remote debugger 
GDBでのkernel読み入門
architecture 
• “Remote 'g' packet reply is too long:” 
とかいうエラーが出る 
• (gdb) set architecture i386:x86-64:intel 
で解決 
GDBでのkernel読み入門
opaque pointer 
• (gdb) p *msg->msg_name 
Attempt to dereference a generic pointer. 
(gdb) p msg->msg_name 
$1 = (void *) 0xffffffff8105ec01 
• データが未定義なだけなので、 
定義されてからpするとかで解決 
GDBでのkernel読み入門
compilerの最適化 
• 読みたい変数とかを print すると 
<value optimized out> 
• Makefileに 
EXTRA_CFLAGS += -O0 
を記述 
GDBでのkernel読み入門
compilerの最適化 
• 読みたい変数とかを print すると 
<value optimized out> 
• Makefileに 
EXTRA_CFLAGS += -O0 
を記述 
mm/ に-O0を記述すると 
kernel makeが通らない!(net/は通る) 
GDBでのkernel読み入門
compilerの最適化 
• 助けを求める 
GDBでのkernel読み入門
compilerの最適化 
• 助けを求める 
GDBでのkernel読み入門
compilerの最適化 
• 助けを求める 
最適化でprintできなくても 
レジスタに値は残ってるでしょ 
それを読むんだよ 
それがバイナリハッカー 
GDBでのkernel読み入門
compilerの最適化 
• 助けを求める 
最適化でprintできなくても 
レジスタに値は残ってるでしょ 
それを読むんだよ 
それがバイナリハッカー 
な...なるほど...(゚∇゚;) 
GDBでのkernel読み入門
compilerの最適化 
• 助けを求める 
最適化でprintできなくても 
レジスタに値は残ってるでしょ 
それを読むんだよ 
それがバイナリハッカー 
解決してないけど解決 
GDBでのkernel読み入門 
な...なるほど...(゚∇゚;)
macroなソース 
• (gdb) l 
308 BUILDIO(b, b, char) 
(gdb) l BUILDIO 
Function "BUILDIO" not defined. (マクロだし) 
GDBでのkernel読み入門
macroなソース 
• (gdb) l 
308 BUILDIO(b, b, char) 
(gdb) l BUILDIO 
Function "BUILDIO" not defined. (マクロだし) 
マクロ展開して 
make頑張ってみたら 
GDBでのkernel読み入門
macroなソース 
• (gdb) l 
308 BUILDIO(b, b, char) 
(gdb) l BUILDIO 
Function "BUILDIO" not defined. (マクロだし) 
マクロ展開して 
make頑張ってみたら 
GDBでのkernel読み入門 
な...なるほど...(゚∇゚;) 
(g3オプションとかじゃダメかな...)
SIGTRAP 
• breakpointをdelした後に 
Program received signal SIGTRAP, Trace/ 
breakpoint trap. 
と別の場所に飛ばされる(ことがある) 
それっぽいページ 
は発見 
GDBでのkernel読み入門 
http://stackoverflow.com/questions/9809413/program-received- 
signal-sigtrap-trace-breakpoint-trap
KGDB: Waiting for remote 
debugger 
• エラー再現が上手くいかないエラー 
VM側のコンソール上に上記のエラーが出力 
解決方法模索中です... 
GDBでのkernel読み入門
今後の読む方針 
ていうかどこから読んでるの 
GDBでのkernel読み入門
今後の読む方針 
ていうかどこから読んでるの 
nmをsockでgrepしてでてきた 私 
sock_create辺りから読んでます 
GDBでのkernel読み入門
今後の読む方針 
ていうかどこから読んでるの 
nmをsockでgrepしてでてきた 私 
sock_create辺りから読んでます 
それはセンスがない 
read, writeから読むのが楽だから 
GDBでのkernel読み入門
今後の読む方針 
ていうかどこから読んでるの 
nmをsockでgrepしてでてきた 私 
sock_create辺りから読んでます 
それはセンスがない 
read, writeから読むのが楽だから 
GDBでのkernel読み入門 
なるほど!!!
まとめ 
• 濁流に飲まれてる感 
• いろんなところで突っかかって楽しい 
• 知らない人だけでやると 
どう手をつけたらいいか分からない 
• 誰か知ってる人が近くに居ると良さそう 
GDBでのkernel読み入門 
gdbを諦めて 
本を読むという手も...
• linuxのkernelをgdbで追いかけたかった話 
• (停電におびえながら)学科システムの 
OSメジャーバージョンアップをした話 
• 未対応なWindowsにvCenterとか入れた話
きっかけ 
• 「CentOS6が出てそろそろ1年くらい経つし、 
夏休みでちょうどいいからそろそろ 
CentOS5->6にしたいよね」 
• という話がシステム管理なチーム内で出て、 
バージョンアップすることに。 
学科システムアップグレード
前提知識 
• 琉球大学情報工学科では学科システムを学生が 
管理している 
• 以前は「学生実験」の1テーマとして、 
現在は希望者制 
• 学科システムはDNSやDHCP、Webなどの 
サーバ群から学科ネットワーク、学生へのVM貸 
し出し、先生への対応など広い範囲を担当 
学科システムアップグレード
やること 
• 基幹サーバ群のOSメジャーバージョンアップ 
• Web, DNS*, DHCP, LDAP*, SMTP, IMAP, 
学科システムアップグレード 
RADIUS, SHELL 
• 基幹サーバはESX上のVM
懸念事項 
学科システムアップグレード 
• 引き継ぎ資料が無い 
• 人手不足(学生5人)
懸念事項 
学科システムアップグレード 
• 引き継ぎ資料が無い 
• 人手不足(学生5人) 
• 作業日に台風直撃コース
琉球大学と台風 
学科システムアップグレード 
• 大学構内はとにかく台風に弱い 
• すぐ停電する 
• 全然復旧しない
琉球大学と台風 
学科システムアップグレード 
• 大学構内はとにかく台風に弱い 
• すぐ停電する 
• 全然復旧しない 
ここから見える景色全部 
電気ついてるのに 
大学は停電中とか...
懸念事項 
学科システムアップグレード 
• 引き継ぎ資料が無い 
• 人手不足(学生5人) 
• 作業日に台風直撃コース 
つらいけどグーグル様に...
懸念事項 
学科システムアップグレード 
• 引き継ぎ資料が無い 
• 人手不足(学生5人) 
• 作業日に台風直撃コース
懸念事項 
学科システムアップグレード 
• 引き継ぎ資料が無い 
• 人手不足(学生5人) 
• 作業日に台風直撃コース 
ヤバい
いや、待てよ 
学科システムアップグレード 
• 旧サーバと新サーバを 
停電になった時に入れ替え 
ればいいのでは 
• そうすればユーザにはいつ 
入れ替えたのか 
分からない
(暴風)雨天決行 
今思えば完全に間違った判断でした。 
学科システムアップグレード
RTA開始 
• 旧サーバから新サーバへconfをコピーしたり 
• CentOS5から6でconfの置き場所が変わってる 
• 必要なのかそうでないのか分からない設定群 
学科システムアップグレード 
• ドキュメントがないため 
• 当然なかなか上手くいかず 
!
RTA開始 
• 旧サーバから新サーバへconfをコピーしたり 
• CentOS5から6でconfの置き場所が変わってる 
• 必要なのかそうでないのか分からない設定群 
学科システムアップグレード 
• ドキュメントがないため 
• 当然なかなか上手くいかず 
• 迫る台風 
• 停電の恐怖
作業時間 
学科システムアップグレード 
• 2012年 9月 15日 18:00 ~
作業時間 
学科システムアップグレード 
• 2012年 9月 15日 18:00 ~
作業時間 
学科システムアップグレード 
• 2012年 9月 15日 18:00 ~
幸運だったこと 
• 事前準備でパッケージは入れていた 
• 全サーバ共通項目 
の洗い出し 
学科システムアップグレード
引き継ぎ大事 
• 一部のサーバにはNICが2つついてた 
• VLAN帯が違うサーバ 
• LDAPの独自スキーマ 
• DNSはpostgresqlから引っ張ってくる 
• DHCPはmac-addr認証 
学科システムアップグレード
困難を乗り越え 
• なんとかサーバが起動するところまではきた 
• ちょっと休憩しよう 
学科システムアップグレード
困難を乗り越え 
• なんとかサーバが起動するところまではきた 
• ちょっと休憩しよう 
学科システムアップグレード 
_人人人人_ 
> 停電 < 
‾Y^Y^Y‾
残作業 
• 旧サーバから新サーバへの切り替え 
学科システムアップグレード
残作業 
• 旧サーバから新サーバへの切り替え 
• 旧サーバと新サーバを 
停電になった時に入れ替えれ 
ばいいのでは 
• そうすればユーザにはいつ入 
れ替えたのか 
分からない 
学科システムアップグレード 
この作戦は 
どうなった
でも、大丈夫 
学科システムアップグレード
でも、大丈夫 
学科システムアップグレード
でも、大丈夫 
学科システムアップグレード
台風当たり年でした 
学科システムアップグレード
結局 
いろいろありましたが 
バージョンアップは無事終了 
学科システムアップグレード
まとめ 
• (暴風)雨天決行はやめましょう 
心身に悪いです 
• ある程度事前準備はしておきましょう 
学科システムアップグレード
• linuxのkernelをgdbで追いかけたかった話 
• (停電におびえながら)学科システムの 
OSメジャーバージョンアップをした話 
• 未対応なWindowsにvCenterとか入れた話

More Related Content

What's hot

[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化kazuhcurry
 
Cassandraバージョンアップ&移設
Cassandraバージョンアップ&移設Cassandraバージョンアップ&移設
Cassandraバージョンアップ&移設Takehiro Torigaki
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門NVIDIA Japan
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜Taro Matsuzawa
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Takuya ASADA
 
輪読資料: Staring into the abyss an evaluation of concurrency control with one t...
輪読資料: Staring into the abyss  an evaluation of concurrency control with one t...輪読資料: Staring into the abyss  an evaluation of concurrency control with one t...
輪読資料: Staring into the abyss an evaluation of concurrency control with one t...Sho Nakazono
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03ManaMurakami1
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
JAZUG クラウドデザインパターンのコードを覗く
JAZUG クラウドデザインパターンのコードを覗くJAZUG クラウドデザインパターンのコードを覗く
JAZUG クラウドデザインパターンのコードを覗くTakekazu Omi
 
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会Keisuke Takahashi
 
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要Kiyoshi Sawada
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906akirahiguchi
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...Tatsuya Watanabe
 

What's hot (20)

[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
 
Cassandraバージョンアップ&移設
Cassandraバージョンアップ&移設Cassandraバージョンアップ&移設
Cassandraバージョンアップ&移設
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門
 
Code jp2015 cpuの話
Code jp2015 cpuの話Code jp2015 cpuの話
Code jp2015 cpuの話
 
Cpu cache arch
Cpu cache archCpu cache arch
Cpu cache arch
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
輪読資料: Staring into the abyss an evaluation of concurrency control with one t...
輪読資料: Staring into the abyss  an evaluation of concurrency control with one t...輪読資料: Staring into the abyss  an evaluation of concurrency control with one t...
輪読資料: Staring into the abyss an evaluation of concurrency control with one t...
 
CPUの同時実行機能
CPUの同時実行機能CPUの同時実行機能
CPUの同時実行機能
 
20160728 hyperscale #03
20160728 hyperscale #0320160728 hyperscale #03
20160728 hyperscale #03
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
JAZUG クラウドデザインパターンのコードを覗く
JAZUG クラウドデザインパターンのコードを覗くJAZUG クラウドデザインパターンのコードを覗く
JAZUG クラウドデザインパターンのコードを覗く
 
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
 
これがCassandra
これがCassandraこれがCassandra
これがCassandra
 
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 

Similar to kernel/vm@okinawa 2014

Ec2でのdisk拡張方法
Ec2でのdisk拡張方法Ec2でのdisk拡張方法
Ec2でのdisk拡張方法Takamasa Sakai
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Kotaro Nakayama
 
Gradleでビルドするandroid NDKアプリ
Gradleでビルドするandroid NDKアプリGradleでビルドするandroid NDKアプリ
Gradleでビルドするandroid NDKアプリHideyuki Kikuma
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成shigeki_ohtsu
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性Yusaku Watanabe
 
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京hecomi
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?Masahiro Sano
 
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012Takuro Iizuka
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成Izumi Tsutsui
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!h2so5
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2tamtam180
 
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)tamtam180
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Takuto Matsuu
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMikiya Okuno
 
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGPF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGdaye001
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)l_b__
 
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話Katsunori Kanda
 

Similar to kernel/vm@okinawa 2014 (20)

Cocos2dx 8hour
Cocos2dx 8hourCocos2dx 8hour
Cocos2dx 8hour
 
Ec2でのdisk拡張方法
Ec2でのdisk拡張方法Ec2でのdisk拡張方法
Ec2でのdisk拡張方法
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
Gradleでビルドするandroid NDKアプリ
Gradleでビルドするandroid NDKアプリGradleでビルドするandroid NDKアプリ
Gradleでビルドするandroid NDKアプリ
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
 
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
 
NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
 
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
 
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAGPF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAG
 
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
 
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
 

kernel/vm@okinawa 2014