Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
SystemTapのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
SystemTap
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:Kernel]] [[en:SystemTap]] [[zh-cn:SystemTap]] [http://sourceware.org/systemtap/ SystemTap] は動作中の Linux システムからの情報収集を簡略化するためのフリーソフトウェア(GPL)インフラストラクチャを提供します。 ==SystemTap== [[AUR]] から SystemTap をインストールします: {{AUR|systemtap}}。 上流での最新のリリースと比較します [https://sourceware.org/systemtap/wiki/SystemTapReleases]。 [https://sourceware.org/git/?p=systemtap.git;a=summary] にあるソースからビルドすることも考慮してください。新しいカーネルやディストロのサポートは最初にここに現れます。 ==標準的なカーネル== すくなくとも {{Pkg|linux-headers}} がインストールされている必要があります。 Because Arch permanently strips debugging data from its distributed binaries (including the kernel), many normal/fancier systemtap capabilities are simply not available, so many examples at ''/usr/share/doc/systemtap/examples'' will not work. However, see the [https://sourceware.org/systemtap/man/stapprobes.3stap.html stapprobes man page] for the NON-DWARF and AUTO-DWARF probe types for what should still work, for example: * kernel tracepoints: kernel.trace("*") * user-space probes: process("...").function("...") (for programs you build yourself with -g) * user-space markers: process("...").mark("...") (if they were configured with the ''<sys/sdt.h>'' markers) * perfctr-based probes: perf.* * non-dwarf kernel probes: kprobe.function("...") and nd_syscall.* tapset (if a /boot/System.map* file is available, see below). ==Kernel rebuild== You may consider to build a ''linux-custom'' package to run SystemTap, but rebuilding the original {{Pkg|linux}} package is easy and efficient. See also [https://wiki.archlinux.org/index.php/Kernels/Compilation/Traditional]. ===Prepare=== First, run {{ic|<nowiki>ABSROOT=. abs core/linux; cd core/linux</nowiki>}} to get the original kernel build files. Then use {{ic|makepkg --verifysource}} to get the additional files. By performing the verification, you can safely '''skip''' the steps on "Update checksum". ===modify config=== Edit '''config''' (for 32-bit systems) or '''config.x86_64''' (for 64-bit systems), turn on these options: * CONFIG_KPROBES=y * CONFIG_KPROBES_SANITY_TEST=n * CONFIG_KPROBE_EVENT=y * CONFIG_NET_DCCPPROBE=m * CONFIG_NET_SCTPPROBE=m * CONFIG_NET_TCPPROBE=y * CONFIG_DEBUG_INFO=y * CONFIG_DEBUG_INFO_REDUCED=n * CONFIG_X86_DECODER_SELFTEST=n By default only ''CONFIG_DEBUG_INFO'' and ''CONFIG_DEBUG_INFO_REDUCED'' are not set. With current core/linux (tested with 3.15.2) you can simply append these lines into config.[x86_64]: {{hc|x86_64| <nowiki> echo ' CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_REDUCED=n ' >> config.x86_64 </nowiki> }} ''Note that if you want to put these lines into a self-maintained script, do not insert any space before CONFIG_* lines.'' ===Update checksum=== ''You can safely skip this step if you believe the source files are correct''. Run {{ic|md5sum config[.x86_64]}} to get a new md5sum. In '''PKGBUILD''' file, the {{ic|<nowiki>md5sums=('sum-of-first' ... 'sum-of-last')</nowiki>}} has the same order with {{ic|<nowiki>source=('first-source' ... 'last-source')</nowiki>}}, put your new md5sum in the right place. ===Build and Install=== Optional: It is recommended to set {{ic|<nowiki>MAKEFLAGS="-j16"</nowiki>}} in {{ic|/etc/makepkg.conf}} to speed up the compilation. You will need about 12 GB disk space for this build. Consider using an in-memory tmpfs if you have large DRAM. Run {{ic|makepkg}} or {{ic|makepkg --skipchecksums}} to compile, then simply {{ic|sudo pacman -U *.pkg.tar.gz}} to install the packages. '''pacman''' will tell you '''reinstall''', and you should say y. {{Pkg|linux}} and {{Pkg|linux-headers}} should be reinstalled, {{Pkg|linux-docs}} does not matter. Via this method, external modules (e.g. {{Pkg|nvidia}} and {{Pkg|virtualbox}}) do not need to be rebuilt. ==Build custom kernel== Please reference this [http://sourceware.org/git/?p=systemtap.git;a=blob_plain;f=README;hb=HEAD README] ==Troubleshooting== === Pass 4 fails when launching === If you have: /usr/share/systemtap/runtime/stat.c:214:2: error: 'cpu_possible_map' undeclared (first use in this function) Try to install systemtap-git package === System.map is missing === You can recover it where you build your linux kernel with DEBUG_INFO enabled cp src/linux-3.6/System.map /boot/System.map-3.6.7-1-ARCH Alternately, sudo cp /proc/kallsyms /boot/System.map-`uname -r`
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
SystemTap
に戻る。
検索
検索
SystemTapのソースを表示
話題を追加