SlideShare a Scribd company logo
カーネルコンパイルから見るLinux

2008.01.21
トライポッドワークス 庄司




      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
目次
   Linuxカーネル概要

   git概要

   カーネルコンパイルの前に

   カーネルコンパイル〜インストール

   障害解析のために




            Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxカーネル概要




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxとは
Linuxとは、UNIXライクな(UNIXに似た)コンピュータ用
オペレーティングシステム (OS) である。

現在では、パーソナルコンピュータに限らず、携帯電話
のような組み込みシステムからメインフレームや
スーパーコンピュータまで、幅広く利用されている。
                      参考:WikiPedia




      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linusのツリー
Linuxはリーナス・トーバルズ (Linus Torvalds) がMinix
より優れたUNIX互換OSを開発したいという動機から生み出さ
れた。

現在はLinux Kernel Mailing List (LKML) を中心として
開発が行われている。

Linusの開発ツリーであるバニラカーネルは
  http://www.kernel.org/
から入手することができる。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxのコード量




     Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
git概要




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
git背景
現在、バニラカーネルはバージョン管理システムである
gitによって管理されている。

カーネルの開発では、LKMLに投稿されるパッチをカーネル
メンテナがソースコードに適用するという形式を用いている
が、以前はBitKeeperというバージョン管理システムを
用いて管理していた。しかし、このシステムは商用のため
快く思わないAndrew Tridgellが開発したBitKeeperクローン
によってBitKeeperの提供が停止されてしまった。

その代替としてリーナス・トーバルズによってgitが
開発された。

         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitのインストール
Fedora8の場合
 # yum install git

http://git.or.cz/からダウンロードもできます。

ソースからの場合
 # make configure
 # ./configure
 # make all doc
 # make install install-doc




         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitのフロントエンドツール
gitはコマンドラインから使いますが、フロントエンド
ツールも各種あります。

CUIな人用    cogito
GUIな人用    gitk, qgit
Webな人用    gitweb

Fedora8の場合
 # yum install cogit
 # yum install qgit
でインストールできます。


         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの準備
gitは他のバージョン管理ツールと同様、ローカルに
クローンを作るところから始めます。

Linusのツリーのクローンを手元におく
# git-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin ux-2.6.git
    linux-2.6


   Initialized empty Git repository in .git/
   Fetching head...
   Fetching objects...
   Getting alternates list for http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
   Getting pack list for http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
   Getting index for pack 1dae8aeac81b760f1831b7a0fbfdbbe4079b456e
   Getting index for pack c6558d5da67a60d5e50d0235cd4bf555bd420cd1
   Getting index for pack e65d48b3632f2657eb9ab7a21aa73d337dbbdc88
   Getting pack e65d48b3632f2657eb9ab7a21aa73d337dbbdc88
     which contains fd0b45dfd1858c6b49d06355a460bcf36d654c06
   A
   Getting pack 1dae8aeac81b760f1831b7a0fbfdbbe4079b456e
     which contains 8d14531846b95bfa3564b58ccfb7913a034323b8
     .
     .
     .

                  Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの基本的な使い方
時間がたって古くなったリポジトリを最新にするには
# cd linux-2.6
# git-pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linu x-2.6.git




ファイルをリポジトリから取り出すとき
# git-checkout




変更履歴(ログ)を見たいとき
# git log




                 Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの便利な使い方1
変更履歴と共にパッチも見たいとき
# git log -p
 パッチはunified形式(diff -u)



パスの指定も出来ます。
# git log fs/xfs




grepと合わせて人名で検索したり
# git grep Linus


commit idを覚えておいて後で読むことも出来ます。
# git show bad60fdd14df32459e31cc75ab681e4458bf25cf




                   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの便利な使い方2
バージョン間の変更履歴が見たいとき
# git log v2.6.24-rc4..v2.6.24-rc5


[タグ名..タグ名]でバージョン間指定
[タグ名..]で最新までの変更履歴
[..タグ名]でタグまでの変更履歴



どのようなタグ名があるか
# git tag




                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ここまでできれば
ここまでできればgitを利用してLinusのツリーを参照
することができます。

参照することにより、細かいバージョン間での
バグフィックス、機能追加修正などをモニタすることが
できます。




       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
カーネルコンパイルの前に




 Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
linux-2.6のディレクトリ構成
 # cd linux-2.6
 # ls
                ドキュ メントが格 されています。
                         納
Docum at i on
     ent        各 アーキテクチャ の説 やチュ ーニングパラメータ について記 しています。
                 種          明                   載
                しかし、 かならずしも実 されているコードと ドキュ メントが同 しているわけではあり ません。
                            装                   期
                アーキテクチャ に依 するソースコードが格 されています。
                          存           納
                al pha, avr 32, cr i s, h8300, m , m
                                                  32r 68knom u, par i sc, ppc, sh, spar c, um x86,
                                                            m                                ,
ar ch
                ar m bl ackf i n, f r v, i a64, m m ps, pow pc, s390, sh64, spar c64, v850, xt ensa
                    ,                            68k, i     er

bl ock          ブロッ ク I / O するソースコードが格 されています。
                           に関                      納
cr ypt o        暗 処 に関
                  号 理 するソースコードが格 されています。        納
                ドライバのソースコードが格 されています。    納
dr i ver s
                サブディ レクトリ にはさらに細            かい分 がされています。
                                                  類
fs              フ ァ イルシステムに関      するソースコードが格 されています。  納
i ncl ude       へッ ダフ ァ イルが格 されています。
                                納
i ni t          カーネルの初 化    期 コード ( m n. cなど ) が格 さ れています。
                                      ai             納
i pc            プロセス間 信 するソースコードが格 されています。
                          通 に関                       納
ker nel         カーネル本 のソースコードが格 されています。
                          体                   納
lib             カーネルが使 するいく つかの関 のソースコ ードが格 されています。
                            用                 数              納
m m             メモリ マネジメントに関        するソースコードが格 されています。   納
net             ネッ トワークに関      するソースコードが格 されています   納
sam es
     pl         カーネルモジュ ールに関        するサンプルコードが格 されています。   納
                 ake         ake enuconf i g, m xconf i gなどのカーネルの
                m conf i g, m m                ake
scr i pt s
                コンフ ィ グレーショ ンに使 されるスクリ プトが格 されています。
                                      用                    納
secur i t y     セキュ リ ティ ( 権 管 、 SELi nuxなど) に関
                               限 理                      するソースコードが格 されています。
                                                                  納
sound           サウンドに関      するソースコードが格 されています。  納
usr             カーネル内     のツールに関    するソースコードが格 されています。   納


                              Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
TIPS:タグの生成
カーネルのタグを生成しておく
カーネルのタグを生成しておくことで変数や関数
ジャンプを容易にすることができます。


Emacsな人
# find . -name "*.[ch]" -print | etags -

viな人
# ctags -R
   or
# make tag




                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Documentation 一例(1)
# cd linux-2.6/Documentation/filesystems
# less proc.txt
/procファイルシステムに関するドキュメント
0 Preface
0.1 Introduction/Credits
0.2 Legal Stuff

1     Collecting System Information
1.1   Process-Specific Subdirectories
1.2   Kernel data
1.3   IDE devices in /proc/ide
1.4   Networking info in /proc/net
1.5   SCSI info
1.6   Parallel port info in /proc/parport
1.7   TTY info in /proc/tty
1.8   Miscellaneous kernel statistics in /proc/stat                   1. /procから参照できる情報
2 Modifying System Parameters                                         2. /procから設定できる情報
2.1 /proc/sys/fs - File system data
2.2 /proc/sys/fs/binfmt_misc - Miscellaneous binary formats           (カーネルパラメータ)
2.3 /proc/sys/kernel - general kernel parameters
2.4 /proc/sys/vm - The virtual memory subsystem
2.5 /proc/sys/dev - Device specific parameters
2.6 /proc/sys/sunrpc - Remote procedure calls
2.7 /proc/sys/net - Networking stuff
2.8 /proc/sys/net/ipv4 - IPV4 settings
2.9 Appletalk
2.10 IPX
2.11 /proc/sys/fs/mqueue - POSIX message queues filesystem
2.12 /proc/<pid>/oom_adj - Adjust the oom-killer score
2.13 /proc/<pid>/oom_score - Display current oom-killer score
2.14 /proc/<pid>/io - Display the IO accounting fields
2.15 /proc/<pid>/coredump_filter - Core dump filtering settings

                                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Documentation 一例(2)
ソースコードの実装を調べるにはgrepまたはタグを利用する

ここではdirty_background_ratio
# grep -rn dirty_background_ratio .
 ./kernel/sysctl.c:828:     .procname     = "dirty_background_ratio",
 ./kernel/sysctl.c:829:     .data     = &dirty_background_ratio,
 ./kernel/sysctl.c:830:     .maxlen     = sizeof(dirty_background_ratio),
 ./kernel/sysctl_check.c:118: { VM_DIRTY_BACKGROUND,            "dirty_background_ratio" },




kernel/sysctl.cが/procのインターフェースを実現している!

ここに新たなエントリを追加すれば/procからカーネルの挙動操作できる
インターフェースを作ることができます。




                       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド1
カーネルのコンパイル設定はmakeから行う

makeコマンドのオプション
# make help
   Cl eani ng t ar get s: ク リ ーン ア ッ プ する ためのオ プ ショ ン
     cl ean            - R ove m
                          em      ost gener at ed f i l es but keep t he conf i g and
                         enough bui l d suppor t t o bui l d ext er nal modul es
     m pr oper
       r               - R ove al l gener at ed f i l es + conf i g + var i ous backup f i l es
                          em
     di st cl ean      - m pr oper + r em
                          r              ove edi t or backup and pat ch f i l es

   Conf i gur at i on t ar get s: カ ーネル設定値を 変更する ためのオ プ ショ ン
     conf i g              - Updat e cur r ent conf i g ut i l i si ng a l i ne- or i ent ed pr ogr am
     m enuconf i g         - Updat e cur r ent conf i g ut i l i si ng a m enu based pr ogr am
     xconf i g             - Updat e cur r ent conf i g ut i l i si ng a Q based f r ont - end
                                                                           T
     gconf i g             - Updat e cur r ent conf i g ut i l i si ng a G based f r ont - end
                                                                           TK
     ol dconf i g          - Updat e cur r ent conf i g ut i l i si ng a pr ovi ded . conf i g as base
     si l ent ol dconf i g - S e as ol dconf i g, but qui et l y
                              am
     r andconf i g         - N conf i g w t h r andom answ t o al l opt i ons
                              ew            i                    er
     def conf i g          - N conf i g w t h def aul t answ t o al l opt i ons
                              ew            i                     er
     al l modconf i g      - N conf i g sel ect i ng m
                              ew                        odul es w    hen possi bl e
     al l yesconf i g      - N conf i g w e al l opt i ons ar e accept ed w t h yes
                              ew            her                                        i
     al l noconf i g       - N conf i g w e al l opt i ons ar e answ ed w t h no
                              ew            her                               er       i


                   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド2
  St at i c anal yser s: 静的解析のためのオ プ ショ ン
    checkst ack       - Gener at e a l i st of st ack hogs
    nam  espacecheck - N e space anal ysi s on com l ed ker nel
                         am                            pi
    expor t _r epor t - Li st t he usages of al l expor t ed sym s
                                                                bol
    header s_check - S t y check on expor t ed header s
                         ani

  Ker nel packagi ng: カ ーネルパッ ケージン グのためのオ プ ショ ン
    r pm pkg
         -         - B l d t he ker nel as an R M package
                      ui                       P
    bi nr pm pkg
             -     - B l d an r pm package cont ai ni ng t he com l ed ker nel
                      ui                                         pi
                     and m es
                          odul
    deb- pkg       - B l d t he ker nel as an deb package
                      ui
    t ar - pkg     - B l d t he ker nel as an uncom essed t ar bal l
                      ui                            pr
    t ar gz- pkg   - B l d t he ker nel as a gzi p com essed t ar bal l
                      ui                               pr
    t ar bz2- pkg  - B l d t he ker nel as a bzi p2 com essed t ar bal l
                      ui                                pr

  Docum at i on t ar get s: ド キュ メ ン ト 作成のためのオ プ ショ ン
           ent
   Li nux ker nel i nt er nal docum at i on i n di f f er ent f or m s:
                                    ent                             at
    ht m docs
         l              - H L
                            TM
    i nst al l mandocs - i nst al l m pages gener at ed by m
                                     an                          andocs
    m andocs            - m pages
                            an
    pdf docs            - PFD
    psdocs              - P scr i pt
                            ost
    xm docs
       l                - XL D
                            M ocBook


               Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド3
O her gener i c t ar get s: そ の他のオプショ ン
 t
                                                                                                         他にもmake helpコマンドでは
   al l                     - B l d al l t ar get s m ked w t h [ *]
                                ui                      ar       i
* vm i nux
      l                     - B l d t he bar e ker nel
                                ui                                                                       表示されないオプションもあります。
* m  odul es                - B l d al l m
                                ui            odul es
   m odul es_i nst al l - I nst al l al l m     odul es t o I N TA
                                                                S LL_M D A ( def aul t : / )
                                                                         O _P TH                         -j n [n>=2]
   di r /                  - B l d al l f i l es i n di r and bel ow
                               ui                                                                          並列コンパイル
   di r / f i l e. [ oi s] - B l d speci f i ed t ar get onl y
                               ui
   di r / f i l e. ko       - B ld m
                                ui      odul e i ncl udi ng f i nal l i nk
   r pm                    - B l d a ker nel as an R M package
                               ui                           P
   t ags/ TA S  G           - G ener at e t ags f i l e f or edi t or s
   cscope                  - G ener at e cscope i ndex                                                   詳しくはMakefileを見てください^^;
   ker nel r el ease - O put t he r el ease ver si on st r i ng
                                ut
   ker nel ver si on - O put t he ver si on st or ed i n M
                                ut                                     akef i l e
   header s_i nst al l - I nst al l sani t i sed ker nel header s t o I N TA      S LL_H R A
                                                                                        D _P TH
                              ( def aul t : / w k/ S M N R 20080121/ l i nux- 2. 6/ usr )
                                               or     EI A/

Ar chi t ect ur e speci f i c t ar get s ( i 386) : i 386 固有のオプショ ン
* bzI m age        - C pr essed ker nel i m
                       om                          age ( ar ch/ x86/ boot / bzI mage)
  i nst al l       - I nst al l ker nel usi ng
                       ( your ) ~/ bi n/ i nst al l ker nel or
                       ( di st r i but i on) / sbi n/ i nst al l ker nel or
                       i nst al l t o $( I N TA
                                             S LL_P TH and r un l i l o
                                                        A )
  bzdi sk         - C eat e a boot f l oppy i n / dev/ f d0
                     r
  f di mage       - C eat e a boot f l oppy i m
                     r                                age
  i soi mage      - C eat e a boot C - R M i m
                     r                     D O         age

  make   V=0| 1   [ t ar get s]   0 => qui et bui l d ( def aul t ) , 1 => ver bose bui l d
  make   V=2      [ t ar get s]   2 => gi ve r eason f or r ebui l d of t ar get
  make   O r
          =di     [ t ar get s]   Locat e al l out put f i l es i n " di r " , i ncl udi ng . conf i g
  make   C=1      [ t ar get s]   Check al l c sour ce w t h $C E K ( spar se by def aul t )
                                                           i        HC
  make   C=2      [ t ar get s]   For ce check of al l c sour ce w t h $C E K
                                                                        i        HC




                                          Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(1)
make config等のconfiguration targetを指定することでカーネルの初期パラメータを変更
することができます。

(画像はGTK+を使用したmake gconfigを実行したところです。)


                                                        Configオプション一例
                                                        make config
                                                         CUIパラメータ問い合わせ型


                                                        make menuconfig
                                                         CUIメニュー型


                                                        make xconfig
                                                         GUI Qt版メニュー型


                                                        make gconfig
                                                         GUI GTK+版メニュー型




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(2)
最新のLinuxカーネルのパラメータは1000を超えると言われています。
トップグループの概要を紹介します。
    G al set up
      ener                                      一 般的な設定
    E e l oadabl e m e suppor t
      nabl                 odul                 動 的に組み込み可    能なカーネル・ モジュ ールに関する設定
    E e t he bl ock l ayer
      nabl                                      ブロッ ク・ デバイス層に関する設    定
    P ocessor t ype and f eat ur es
      r                                         プロセッ サの種類や利用する機能に関する設定
    P er m
      ow anagem opt i ons ( A P , A M
                      ent          CI P)        A P やA M
                                                 C I P などの電源管理  機構に関する設  定
    B opt i ons ( P I , P MI A E S , MA I S )
      us                C CC , I A C , A        P I やI S などのバスに関する設定
                                                 C      A
    E xecut abl e f i l e f or m s
                               at               実 ァ イル形式に関する設定
                                                  行フ
    N w ki ng
      et or                                     ネッ トワークに関する設定
    D ce D i ver s
      evi      r                                デバイス・ ドラ イバに関する設定
    Fi l e syst em s                            フ ァ イル・ システムに関する設定
    I nst r um at i on S
              ent          uppor t              システム測定に関する設定
    K nel hacki ng
      er                                        カーネルのデバッ グに関する設定
    S i t y opt i ons
      ecur                                      セキュ リ ティ 機構に関する設定
    C ypt ogr aphi c opt i ons
      r                                         暗 号機能に関する設定
    Li br ar y r out i nes                      ライブラリ ・ モジュ ールに関する設定


比較的新しく、日本語のわかりやすい解説は下記が参考になります。
http://itpro.nikkeibp.co.jp/article/COLUMN/20071025/285507/?ST=oss

                      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(3)
パラメータ設定のポイント
 膨大な数のパラメータを一つひとつ理解するのは不可能。

そこで、重要なポイント
〜debugはリリース時点ではすべてNに設定する。
 余計なメッセージが表示・記録されてしまうため

カーネル機能はYに設定しておく方が安心。
 組み込んでもそれを利用することができるソフトがないと使えないので、
 邪魔にはならない。但し、パフォーマンスを求める場合には要注意。

Code maturity level optionsはNにする。
 不完全な実装設定の意味。Yにして余計な苦労をするくらいなら...

ハードウェアサポートはNにする。
 よくわからないハードウェアは調べてからYにするようにする。
 電源系のトラブルはやっかいなので、同様にPower management optionは
 Nにしておくとよい。
 Bus optionは明らかに実装されていないものはNに、よく分からないものは
 Yにする。
         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(4)
そこで、重要なポイント(つづき)
Excutable file formatsは全てY。
 実行形式は色々な形式が利用できたほうが便利だと思います...

Networking -> Networking options
 Packet socket, Unix domain sockets, PF_KEY sockets, TCP/IP networking
 は最低必要。他は必要に応じて入れる。

Device DriversはM
 よく分からないものはMにしておくと後からinsmodで容易に追加できる。

File systemsはMまたはY
 他のファイルシステムにアクセスすることがあるなら組み込んでおく方が
 安心。CFやCD-ROM等をマウントするファイルシステムも考慮しておく。

ホット・プラグはMで
 USBやPCMCIAといったホットプラグ対応デバイスはMにしておく。



              Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
カーネルコンパイル〜インストール




   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ビルドからインストールまで(1)
Linuxカーネルのビルドは2.4カーネルと2.6カーネルでは若干異なります。
2.6カーネルの手順は2.4カーネルに比べると容易です。

2.4カーネルの場合
# make mrproper                           注:configを行う前に初期化します。
 (make menuconfig 等)
# make dep                              依存関係のチェックを行います。
# make clean                            不要なファイルを削除します。
# make bzImage                          カーネルをコンパイルし、圧縮された
                                        新しいカーネルを作成します。
# make modules                          カーネルモジュールをコンパイルします。
# make modules_install                  カーネルモジュールをインストールします。
# mkinitrd /boot/initrd-2.4.xx.img 2.4.xx
                                        ブロックデバイスのpreload RAM imageを
                                        作ります。

# vi /boot/grub/grub.conf      新しいカーネルのエントリを追加



                  Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ビルドからインストールまで(2)
2.6カーネルの場合
# make
 ( make V=1 とするとmakeの状態を表示します)
 2.6カーネルではmake一発で出来ます。

# make modules_install
 カーネルモジュールがインストールされます。

# make install
 カーネルがインストールされます。grub.confの設定もしてくれます。




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
TIPS:mkinitrd
mkinitrdとは
 ブート時に最初に読み込まれるルートファイルシステムの
 RAMイメージファイルを作成するためのコマンドです。

RAMイメージファイルはなぜ、必要か?
 ルートファイルシステムがSCSIハードディスク上にある場合、SCSIサポート
 するドライバが予め必要です。初期RAMディスクはこのドライバを組み込んだ
 カーネルをメモリ上に展開し、起動することによりSCSIハードディスクから
 実際のファイルシステムをマウントしなおすという起動プロセスを取ることが
 できます。

mkinitrdのコマンド

 # mkinitrd [オプション] RAMイメージファイル カーネルバージョン

関連
 depmod



             Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
/boot/grub/grub.confについて
カーネルはGRUBというブートローダーから起動します。
以前はLILOというブートローダーを使用していました。

grub.confの書式
# info grub        : Emacsライクなインターフェースで起動します
 #                                                  #はコメント
 default=0                                    n番目のエントリを起動
 timeout=5                                          GRUBメニューのタイムアウト(秒)
 splashimage=(hd0,0)/grub/splash.xpm.gz             GRUBメニューの背景画像

 title Fedora (2.6.23.9-85.fc8)                           GRUBメニューに表示されるOS名
                                                          (0番目のエントリ)
      root (hd0,0)                                        1台目のHDDの3番目のパーティションから起動
                                                          IDE:/dev/hda3, SCSIorSATA:/dev/sda3
      kernel /vmlinuz-2.6.23.9-85.fc8 ro root=LABEL=/ rhgb quiet
                                                          カーネルイメージの指定
      hda=ide-scsi
      initrd /initrd-2.6.23.9-85.fc8.img        初期RAMイメージの指定




                      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
障害解析のために




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
dmesg
dmesgコマンドはカーネルが出力する環状バッファ情報を表示し
ます。

どこで使うの?
 起動時のカーネル情報の確認
 ドライバのロード、アンロード時の確認
 ソフトウェアの動作異常
 ストレージのマウント・アンマウント前に

メッセージの意味がわからないときは?
 OSS Message Pediaでメッセージを検索
  http://ossmpedia.org/
 RedHatのBugzillaで検索
  http://ossmpedia.org/
 カーネルソースをgrepしてみる




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
strace
straceはユーザーランドのシステムコールを
トレースします。

どこで使うの?
 ユーザーランドプログラムが落ちる。
 カーネルを変更すると動作する。
[root@tshoji120 20080121]# strace /bin/ls
execve("/bin/ls", ["/bin/ls"], [/* 50 vars */]) = 0
brk(0)                          = 0x8937000
access("/etc/ld.so.preload", R_OK)          = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)              =3
fstat64(3, {st_mode=S_IFREG|0644, st_size=117879, ...}) = 0
mmap2(NULL, 117879, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f0d000
close(3)                         =0
open("/lib/librt.so.1", O_RDONLY)           =3
read(3, "¥177ELF¥1¥1¥1¥0¥0¥0¥0¥0¥0¥0¥0¥0¥3¥0¥3¥0¥1¥0¥0¥0`y¥36¥0004¥0¥0¥0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=48072, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f0c000
mmap2(0x1e6000, 33328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x1e6000
mmap2(0x1ed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3,
0x7) = 0x1ed000           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
close(3)                         =0
diskdump, netdump
diskdump, netdumpはカーネルパニック時に
メモリの内容をダンプします。

どこで使うの?
 カーネルパニックが発生したが、心当たりが無い。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
kdb
kdbはカーネルの実行をトレースし、メモリやデータ構造を調査す
るのに便利です。

どこで使うの?
 実行中のカーネルに不具合があり、再現性があるとき。

デバッグ機能
 メモリ内容の表示と編集
 レジスタ内容の表示と編集
 ブレークポイント
 スタックトレース
 逆アセンブル

注意
 kdbの実行にはあらかじめカーネルにパッチを当てておく必要があります。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
sar, iostat, mpstat
sar, iostat, mpstatはカーネルがスローダウンした
ときに調査するのに便利です。

どこで使うの?
 パフォーマンス測定やスローダウンの原因がわからないとき。




         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
minicom(シリアル接続)
シリアル接続はブート時のメッセージを保存したいとき
デバッガの使用等ひとつ用意してあると便利です。

どこで使うの?
 カーネルのブートをモニタする
 デバッガに接続する
 ファームをダウンロードする

Linuxのターミナルソフトではminicomが有名です。
シリアルケーブルがUSBの場合は:/dev/ttyUSB0のように認識されます。




          Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
参考資料
IPA OS層 ~障害解析の手順・ツール評価編~
http://www.ipa.go.jp/software/open/forum/development/download/051115/OS-Tools.pdf


詳解 Linuxカーネル第2版
第3版 ISBN-13: 978-4873113135


Linuxカーネル2.6解読室
ISBN-13: 978-4797338263


日経 Linux Linuxカーネル徹底理解
ISBN-13: 978-4822234140


WikiPedia
http://ja.wikipedia.org/




                       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
http://www.tripodworks.co.jp

More Related Content

What's hot

4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
mao999
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
Makiko Konoshima
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
Shinya Takamaeda-Y
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programming
sounakano
 
4章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 54章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 5
mao999
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成
Shinichi Hirauchi
 
Stager
StagerStager
Stager
sounakano
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
Shinya Takamaeda-Y
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
Masakazu Asama
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
Tomofumi Hayashi
 
VTI の中身
VTI の中身VTI の中身
VTI の中身
Masakazu Asama
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflow
ionis111
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所
Hiroaki Goto
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
Shin-ya Koga
 
ASAMAP 開発秘話
ASAMAP 開発秘話ASAMAP 開発秘話
ASAMAP 開発秘話
Masakazu Asama
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
Makoto Hirahara
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
Shinya Takamaeda-Y
 

What's hot (20)

4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programming
 
4章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 54章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 5
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成
 
Stager
StagerStager
Stager
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
VTI の中身
VTI の中身VTI の中身
VTI の中身
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflow
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
 
ASAMAP 開発秘話
ASAMAP 開発秘話ASAMAP 開発秘話
ASAMAP 開発秘話
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 

Similar to Linux Kernel Seminar in tripodworks

PEZY-SC programming overview
PEZY-SC programming overviewPEZY-SC programming overview
PEZY-SC programming overview
Ryo Sakamoto
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)Kazuko Itoda
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
M Hagiwara
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
ssuser3a4b8c
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
Daiyu Hatakeyama
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
Hitoshi Sato
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎hogemuta
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
 
Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache maruyama097
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
Shuhei KONDO
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
Hitoshi Sato
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
 
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
CODE BLUE
 
20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部
NVIDIA Japan
 
Mac Ports
Mac PortsMac Ports
Mac Ports
Naoya Nakazawa
 

Similar to Linux Kernel Seminar in tripodworks (20)

PEZY-SC programming overview
PEZY-SC programming overviewPEZY-SC programming overview
PEZY-SC programming overview
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache 
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
 
20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部
 
Mac Ports
Mac PortsMac Ports
Mac Ports
 

Recently uploaded

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 

Recently uploaded (16)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

Linux Kernel Seminar in tripodworks