The Linux Kernel Module Programming GuidePeter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007-05-18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distribute
Note: this article was first written for the German edition of Linux Magazine, and was later posted in the English edition too. We negotiated the right to publish it on our blog after the print editions. Here is the original version (the paper versions were modified by the editors to make them more concise). In the family tree of computers, personal computers (PCs) are the parents, while the child
過去数回に渡ってLinuxの起動の仕組みを紹介してきました。今回はその最後としてudevとそれが利用するsysfsについて紹介しましょう。udevを使えば、従来はあらかじめ用意しておく必要があったデバイスファイルを必要に応じて動的に作成することができ、周辺機器の活線挿抜などにも、より柔軟に対応することができます。 デバイスファイルとは コンピュータが機能するためには、ディスプレイやキーボード、ハードディスクなど、さまざまな周辺機器が必要で、これら周辺機器をうまく取り扱うことがOSの重要な仕事になります。Linuxの元となったUNIXでは、さまざまな種類の周辺機器を統一的に扱うために「周辺機器もファイルと同様に扱う」ことにしました。このアイデアを実現するために導入されたのがデバイスファイル(スペシャルファイル)です。 デバイスファイルは、アプリケーションからはファイルと同じように見えますが、
調査方法 † ブートローダからzImageのエントリポイントにジャンプする直前にTMU2を初期化する TMU2は約2.604MHzでフリーランニングさせておく/分解能38.4マイクロ秒 カーネルの start_kernel() 関数の入り口でTMU2の値を控えておき、秒に直して表示する 実行例 #>boot kernel parameter :console=ttySC0,115200 root=/dev/mtdblock2 rootfstype=jffs2 ro Jump to 0x80020000 Linux version 3.0.4 (kaihatsu@debian) (gcc version 4.4.5 (Debian 4.4.5-8) ) #13 Wed Sep 21 22:42:01 JST 2011 4633329, 1.779 esec ↑
はじめに 個人的なLinuxに関する勉強メモです。想像の部分も多々あり。また間違いもあると思います。この情報を利用する際は、完全自己責任でお願いします。 環境 CentOS release 6.5 (Final) カーネルモジュールとは? カーネルの機能をモジュールとして外部ファイルにしたもの。 ハードウェアを扱う為のドライバ、ファイルシステムやTCP/IP機能を利用する為のドライバ等があり。 必要に応じてカーネルに組み込んだり、取り外したりできる。 モジュールの格納先は/lib/modules/`uname -r`ディレクトリ ファイルの拡張子は.ko 以下のメリットがあり。 カーネルイメージのファイルサイズを小さくできる。 サードパーティによるモジュール追加時にカーネルコンパイルが不要 カーネルモジュールを管理するコマンド 以下のコマンドでカーネルにモジュールを追加したり、取り外したり
この記事はLinux Advent Calendar 2014の25日目ですヽ(=´▽`=)ノ 今回はLinux Kernel Hack入門編ということで入門的なことを書いてみたいと思います。 まず使用する環境ですけど最近出たばっかのFedora 21のWorkstationにしました。まあ、今回の内容的にはディストリビューションは問わないんですが、多くの人が馴染んでいるであろうfedora系というかパッケージマネージャがyumということでこれにしてみました。 自分は普段Arch Linuxなんですけど、こっちだとkernelのmake install時にちょっとしたスクリプトを書く必要があったりするのもあって、fedoraのほうが手軽かなというのもあります。 カーネルコード・リーディング ブラウザベースでコード・リーディング 読めるソースは大概メインラインのカーネルということになりますが
Prof Martin Olivier selected as a member of IAC The American Academy of Forensic Sciences (AAFS) is a multi-disciplinary professional organization that provides leadership to advance science and its application to the legal system. The objectives of the Academy are to promote professionalism, integrity, competency, education, foster research, improve practice, and encourage collaboration in the fo
Ubuntuでlinux-nextを追ってみる LinuxカーネルはLinux 3.3のような安定したバージョンはStableカーネルと呼ばれ、 大抵コンパイルもすんなり通り、configも通ってしまいます。 ですが、Linuxカーネルはlinux-nextと呼ばれる開発版のものが盛んに開発されているのでどのように開発されているかを追うにはこれを追うのが良さそうです。 ということで… Ubuntuで追う方法 …の前に、何故Ubuntuか? というとGentooやArch Linuxでも追うには問題はないですが単純にカーネルの部分だけを入れ替えるときに問題の切り分けが個人的には楽だからです。 あとArchやGentooのようにシステムが急に不安定になることが少ないという事もあげられます。 単に慣れの問題のような気もしますが。 では早速追うための準備として $ sudo apt-get ins
4. $ cat /proc/interrupts CPU0 CPU1 0: 36843 61973 IO-APIC-edge timer 1: 518 591 IO-APIC-edge i8042 8: 1 0 IO-APIC-edge rtc0 9: 387 321 IO-APIC-fasteoi acpi 12: 11236 79 IO-APIC-edge i8042 16: 0 0 IO-APIC-fasteoi uhci_hcd:usb6 17: 12 11 IO-APIC-fasteoi uhci_hcd:usb7 18: 0 0 IO-APIC-fasteoi uhci_hcd:usb8 19: 6531 235 IO-APIC-fasteoi ehci_hcd:usb2 20: 0 0 IO-APIC-fasteoi uhci_hcd:usb3 21: 85 69 IO-A
LXCと Dockerを動かすための Linuxカーネルを自分でビルドする DIYな人のために構成情報を記すなど Dockerとは Dockerは、構成済みの Linux環境を最小の手順でダウンロードして稼働させたりそれらをメンテナンスするためのツールで、バックエンドとしては LXC(Linux Containers)を使用している。本記事では、Dockerと LXCを動かすのに必要なカーネルコンフィグについて述べる。 Dockerについての参考記事 Docker: Linuxコンテナを使ってアプリケーションの配置を支援する (InfoQ) Linuxコンテナを手軽に扱えるDockerを使ってみよう | KVH Blog コンテナ型仮想化「Docker 0.7」リリース。主要Linuxディストリビューション全対応、ストレージドライバ同梱、コンテナ命名も可能に - Publickey 米
Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 19+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phor
Linux Kernel の Device Tree 関連の関数をまとめました。 関数名は `of_` で始まり (OF = Open Firmware)、 `drivers/of/` ディレクトリ以下で定義されています。 ### `of_n_addr_cells` (base.c:53) int of_n_addr_cells(struct device_node *np) ノード `np` の一つ上の親から上流に向かって探索し、 `#address-cells` プロパティが見つかるとその値を返す。 見つからない場合は、 `OF_ROOT_NODE_ADDR_CELLS_DEFAULT` を返す。 ### `of_n_size_cells` (base.c:69) int of_n_size_cells(struct device_node *np) ノード `np` の一つ上の親から
Device Tree というのは、ハードウェアの詳細を記述したデータ構造体です。 元々は PowerPC Sybsystem から始まったようなのですが、すでに ARM Linux は DeviceTree 一色になってしまっています。 そのため Device Tree を知らないと、 SoC の移植はおろか、ドライバの開発もできない。 そこで、 Device Tree の初歩についてまとめてみることにします。 ただし、私自身が初心者ですので、難しいことは説明できませんし、間違っている部分もあるかもしれませんが、ご了承ください。 ARM のことしかわかりませんので、 ARM を対象として書くことにします。 ### 何故に DeviceTree か? ### より Generic な OS を記述するためです。 ハードウェアを差分を吸収するのがドライバの役目なのですが、勘違いしてはいけない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く