サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
hiroom2.jimdoweb.com
LANG=ja_JP.UTF8でGNU Screen 4.1/4.2を使って、asciiコード以外の文字を表示するNcursesアプリを動かすと画面表示がおかしくなってしまいます。 Linuxカーネルやbusyboxのmake menuconfigがまともに動作しません。 GNU Screen 4.1/4.2は最近のLinuxディストリで使われている為、対応に苦慮しています。
プログラムがセグメンテーションフォルトで不正終了した場合に、GDBで原因 調査するというのはよく聞く話である。しかし、こういったソフトウェア開発 の後行程で使用するだけではなく、前行程でも使うべきである。これは挙動が よく分からないプログラムの動作確認にGDBが有効であるからだ。 今回は特にprint文が動作しない段階のLinuxカーネルの動作をGDBで確認する。 ただし、あくまでQEMU上での動作である為、QEMUでサポートしていないハード やQEMUが再現しきれていないハードの動作部分については未対応である。そう いった場合はICEなどの治具を用いる必要がある。 1. カーネルコンフィグの設定 CONFIG_DEBUG_KERNELを有効にする。 Symbol: DEBUG_KERNEL [=y] Type : boolean Prompt: Kernel debugging Loca
1. ビルド方法 Clang/LLVMをビルドした状態でexample pluginのビルドを実行。 $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm $ cd llvm/tools $ svn co http://llvm.org/svn/llvm-project/cfe/trunk clang $ cd ../.. $ cd llvm/tools/clang/tools $ svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra $ cd ../../../.. $ cd llvm/projects $ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-r
buildrootは組込み向けのLinuxを作成できるビルドシステムである。オープン ソースのビルドシステムは各種あるが、最も手軽に触れることができるものの ひとつである。今回はqemu-systemu-i386で利用する手順を記載する。また、 busyboxのinitをGDBでデバッグする。 1. メリット 1.1. 小サイズ Ubuntu等のLinuxディストリビューションは最小構成でインストールしても数 GByteのルートファイルシステムとなるが、buildrootの場合は数MByteのルー トファイルシステムを作成できる。メインのパッケージとしてbusyboxと uClibcが使われている。以下はbuildrootでデフォルトで用意されている設定 のqemu_x86_defconfigを用いて作成した場合のサイズである。 -rw-rw-r-- 1 <me> <me> 2.0M 1月
このページを最初にブックマークしてみませんか?
『hiroom2.jimdoweb.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く