Tweet Linux カーネルの中には、カーネル内でのデッドロックやメモリリークなど、カーネル自身のデバッグを行うための様々な機能が含まれています。しかし、 kernel パッケージに含まれている普通のカーネルでは大部分が無効化されているため、実際に運用を開始してトラブルに遭遇するまで、カーネル自身のバグに気が付かないケースが多くあります。 RHEL の場合、多くのデバッグ機能を有効にした kernel-debug というパッケージも提供されています。 kernel-debug パッケージに含まれているデバッグ用カーネルを用いてシステムの構築時に試験を行うことで、運用開始後に遭遇する可能性のあるバグの一部を事前に見つけて対処を行うことができます。また、運用開始後でも、原因の究明に役立つことがあります。 kernel-debug パッケージのインストールは、以下に示すように yum コマン
ftraceの使い方については、以下の記事でも紹介しましたが、 ftraceを試してみました - へにゃぺんて@日々勉強のまとめ 過去には紹介しなかった使い方も分かったので、あらためてまとめます。 過去に紹介したときは、 「関数単位でカーネルの実行状況のトレースログを出してくれる機能」 という紹介でしたが、実は他にも機能があります。 なお以降の説明は、Linux 3.14.51で確認したものです。 また、debugfsのマウントポイントをで略記しています。 参考: debugfsのマウント方法 (マウントポイント /sys/kernel/debug の場合) sudo mount -t debugfs none /sys/kernel/debug カーネルコンフィギュレーションの変更 ftraceを使用する際もカーネルコンフィギュレーションの変更が必要です。 Kernel hacking
Debian vs Ubuntu: ネットワークインタフェースの名前 Debian と Ubuntu の違いについて深追いする超不定期連載第 2 回は ネットワークインタフェースの名前の付けかたについてです (なお第 1 回は 1 年半くらい前の記事 でした)。 今回は Debian/Ubuntu ばかりでなく Red Hat 系のディストリビューションも深追いしました。 2014/12/31 更新: Moriwaka さんのご指摘 をいただき Red Hat 系ディストリビューションの記述を修正しました。 biosdevname は RHEL 6.1 から導入されています。 永続的な名前・予測可能な名前 Linux カーネルのネットワークインタフェースは、 ドライバが検出した順に eth0 eth1 … といった名前がつけられるようになっています。 ただしこれだけでは各デバイスがプローブ
ネットワーク設定に関するメインの記事は ネットワーク設定 です。 ワイヤレスネットワークの設定は2段階で行います; まずワイヤレスデバイスを使うために正しいドライバがインストールされているか確認し(インストールメディア上では利用できても、明示的にインストールする必要があります)、インターフェースを設定します。次に、ワイヤレス接続を管理する方法を選びます。この記事では両方をカバーしています。また、ワイヤレス管理ツールへの追加リンクもあります。 #iw セクションでは iw を使ってワイヤレスネットワークインターフェイス/ワイヤレス LAN を手動で管理する方法を説明しています。ネットワーク設定#ネットワークマネージャ セクションでは、ワイヤレスインターフェイスを自動的に管理する際に使用できるいくつかのプログラムについて説明しています。それらはすべてネットワークプロファイルのサポートを含んでお
Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 編集部 2019-07-30 13:43 1991年に最初にLinuxを開発したとき、Linus Torvalds氏はフロッピードライブを備えた「386」搭載PCで同OSを構築した。物事は変わるものだ。2012年に、Torvalds氏は「i386」プロセッサーに別れを告げ、その際に「私は感傷的な人間ではない。せいせいする」と述べた。今回は、フロッピードライブがLinuxに別れを告げる番かもしれない。 Torvalds氏は、フロッピードライブプロジェクトについて、「面倒を見る人がいなくなった」と書いている。 それはなぜなのか。フロッピードライブが歴史的遺物のようになったからだ。もう誰もフロッピードライブを使っていない。Torvalds氏によると、フロッピードライブドライバーの開発を担
UNIX でプロセスを一時的にスリープさせるには sleep(3) が使えます。sleep() は引数に秒単位でしか時間を指定できないので、より短い時間を指定したい場合は usleep(3) (マイクロ秒) や nanosleep(2) (ナノ秒) を使うことになります。sleep(), usleep() はライブラリ関数、nanosleep() はシステムコール*1です。 この usleep() や nanosleep() で 1ms 程度の短い時間プロセスを停止したとして、正確にその時間だけ停止させることはできるでしょうか。http://shiroikumo.at.infoseek.co.jp/linux/time/ にあるコードを参考に、実際に動かしてみます。カーネル 2.6.19 x86_64、CentOS 5 で試します。 まず、nanosleep() で 1ms のスリープを行
本章では、Armadillo-400 シリーズに固有な Linux カーネルのデバイスドライバーの仕様について説明します。 Armadillo-400 シリーズでは、カーネルコンフィギュレーションを変更することにより、標準で有効になっているもの以外の様々な機能を使用することができます。 Armadillo-400で、標準で有効になっていないデバイスドライバーを使用するためには、以下の手順でカーネルコンフィギュレーションをおこなう必要があります。 ボードオプションによりどのピンに機能を割り当てるか選択する。 ボードオプションは、make menuconfig でコンフィギュレーションを行う場合、Linux Kernel Configuration の System Type -> Freescale MXC Implementations -> MX25 Options -> Armadil
この記事はLinux Advent Calendar 2016 9日目の記事です。 遅刻してしまい申し訳ございません。。。 とある事情があって1ヶ月半ほど独自NICのLinux向けのネットワークドライバを開発していた。 今回はARM用のデバイスドライバを開発した。NICはXilinx社のFPGAであるZYBOを用いて開発した。 まだ十分に実用段階というわけではないが、ひとまず独自NIC経由でのpingやiperfが通ったので、後学のために知見を残しておきたい(誰得だ、という感じだが)。 ソースコードはまだ公開されていないが、そう遠くないうちに公開する予定(たぶん)。 はじめに Linuxのデバイスには キャラクタデバイス - バイト単位のデータ通信 (e.g. シリアルポート) ブロックデバイス - ブロック単位のデータ通信 (e.g. ディスク) ネットワークデバイス の3種類がある。ネ
Planex BT-Micro3H2Xは、Bluetooth3.0+HSおよび、Wifi 802.11b/g/nに対応したコンポタイプのアダプタです。Openblocks AX3およびA6での動作検証を行いました。 OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。 内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。 <検証環境> OpenBlocks AX3/4 Debian 6.0 kernel: 3.0.6 OpenBlocks A6 Debian 6.0 kernel: 2.6.31.8 1. 対応ドライバと事前準備 本デバイスは、BluetoothにCSR8510、WifiにRealtek8192CUを使用しています。2つのデバイスは、1つの複合デバイスとしてではなく、内部にHubを介して接続されていますの
UIO: ユーザー空間でデバイスドライバ作成が可能に UIOがLinux Kernel 2.6.23-rc1でマージされました。UIOはユーザー空間でドライバを作成するための仕組みです。Hans-Jurgen Kochの提案したパッチで、Greg K-H経由でマージされています。 UIOは、これらのハードルがあるカーネル空間でのドライバ開発部分をテンプレート化することで簡便にしてしまいます。一部の定義をカーネル空間で用意する必要がありますが、大半の部分をユーザー空間だけで実装できるようです。メモリにデバイスのレジスタなどさえマップできればよい、あるいは割り込みの通知さえ行えればよいのであれば利用できます。 ユーザー空間でUIOを利用する側からは、/dev/uio0をopenしてmmapすると、デバイスのメモリ空間が見えます。また/dev/uio0からreadすると、割り込みが起きるまでブロ
お世話になります. 山内と申します. 今回,ArmadillioでのUSBシリアルデバイスの認識について質問させて頂きます. 現在,USBシリアルデバイスの刺した順番に影響されずに,利用するために, ATDE5では,"/dev/serial/by-path/"に登録されたUSBの刺した位置から, デバイスのポートを開いております. 同様のことを,Armadillo-840上で試そうとしたところ, USBシリアルデバイスを刺しても"/dev/serial"以下が作成されないため,困っております. Armadillo-840上で,USBシリアルデバイス挿入時に,"/dev/serial"以下に認識させるためには, どのようにすればよろしいのでしょうか. ご存知の方がいれば,教えていただければと思います. よろしくお願いいたします. 中村です。 > Armadillo-840上で,USBシリアル
DKMS (Dynamic Kernel Module Support) マシンにインストールされている個々のカーネル (バージョン/リリース) ごとに、カーネルモジュールパッケージをビルドして用意するのではなく、自動的にモジュールをインストールして配置・管理するための仕組み。 Dell の DKMS プロジェクトページ 参考資料 Kernel Korner - Exploring Dynamic Kernel Module Support (DKMS) (LinuxJournal?, Sept 2003) Ottawa Linux Symposium Paper (PDF, July 2004) 現時点での最新バージョンは 2.0.21.1 Vine Linux 的には、現在の kernel-module-* のスタイルから、この dkms-* へと移行する予定。 ただし、ビルドに長時間
I know there are two physical network interfaces in our server (haven't seen it live, but person from datacenter confirmed two ethernet sockets). Problem is, I can only see one via ifconfig -a. At first, here's what lspci reported: # lspci -vv|grep -i ethernet 00:19.0 Ethernet controller: Intel Corporation Unknown device 10bd (rev 02) 03:02.0 Ethernet controller: Intel Corporation 82541GI/PI Gigab
この時期はいつもより若干頻繁にリリースしたように見えるのは、9月の第1週にKernel Summitがあった関係でしょうか。そこまでに一区切りさせようという意図もあったのかもしれません。なお、Kernel Summitの作業環境はカーネルハック向きではなかったようで、この期間中はリリースはありませんでした。 8月も2.6.23-rc2のリリースに際して、Linusが相変わらず大規模なマージを行っていることに対し、議論が起こりました。基本的に「大きな変化はrc1までのマージウィンドウで導入し、それ以降は安定化を目指す」という方針が示されているのですが、実行となると方針どおりではありません。 これまでずっとAdrian Bunkが担当していた-rcリリースに対するリグレッショントラッキングは、5月の2.6.21以降、Michal Piotrowskiが担当しています。Linux Kernel
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く