タグ付けされた質問 「kernel」

UNIXカーネルに関するすべて:開発、構成、コンパイル、設計など


2
Linuxカーネルモジュールにローカルヘッダーファイルを含める方法
mymod次のようなソースファイルを含むモジュールがあるとします。 src / mod / mymod.c src / inc / mymod.h 私は次のようにmymod.hをインクルードしようとします #include <mymod.h> メイクファイルには含まれてEXTRA_CFLAGS= -I$(shell pwd)/../inc/いますが、カーネルが作成されると、次のようなエラーが表示されます。 mymod.hが見つかりません その理由は、カーネルモジュールが作成されると、このコマンドがmakefileから実行されるためだと思われます:(makeV1 を使用): make -C <path/to/linux/src> M=<path/to/mymod> modules 他の作品では私$(shell pwd)はに拡張されました<path/to/linux>。これは私が望むものではありません。どのようにして指定することができます-Iを指すようにパラメータをsrc/inc私のmymodソースツリー?
17 linux  kernel  compiling  make 

1
シャットダウンせずに再起動しますか?
私はDebian不安定版でLinux Mint Debianを使用しており、再起動を押すと、BIOSに戻ってからgrubしてから起動するのではなく、シャットダウンしてから元に戻らずにロードし直しているようです。 BIOSまたはGRUB。 これは今まで見たことのない素晴らしい機能です。これは何と呼ばれ、いつ発生しましたか?私は長い間Ubuntuのユーザーでした。

3
USBハードディスクからLinuxカーネルを起動するためにgrubをどのように設定すればよいですか?
外付けエンクロージャーにラップトップハードドライブがあり、これを大きなペンドライブとして使用しています。さらにひねりを加えるために、Linuxをインストールしたので、選択したディストリビューションで任意のマシンをブートできます(たとえば、データリカバリやb0rkedシステムの修復、またはプレインストールされたWindowsを破壊せずに借りたラップトップを使用)。問題は、ハードウェア構成によっては、USBハードドライブが異なるパスで表示される場合があることです。GRUBの構成については、GRUBの起動元(hda0,0)のデバイスに関連して使用します。にUUIDエントリがあり/etc/fstabます。またrootwait、デバイスをマウントする前にUSBサブシステムが落ち着くまで待機するように、カーネルパラメーターで指定します。 カーネルに何を渡すべきroot=ですか?現在、ペンドライブから1回起動し、デバッグメッセージをチェック/dev/sdXして、カーネルによってUSBドライブに割り当てられているデバイスを確認してから、再起動してgrub設定を編集します。Boot from USB hard driveBIOSで有効にして、内蔵ハードドライブよりも高い優先度に設定する以外、PCで何も変更できません。 ルートデバイスパスでのUUIDのサポートを含む、さまざまなinitrd生成スクリプトがありますが、残念ながら、Gentooネイティブのもの(genkernel)はサポートrootwaitしていません。 起動プロセスは次のようになります(Windowsでも非常に似ています)。 BIOSはブートデバイスを選択し、MBR(grub stage-1)をロードします。 Grubは、BIOSによってロードされたデバイスにroot使用(hd0)して、設定されたデバイスから構成とステージ2ファイルをロードします。 Grubはカーネルをロードして起動します(同じ番号付けなので、(hd0,0)再び使用できます)。 カーネルはすべての組み込みデバイスを初期化します(rootwait今では魔法のようです)。 カーネルは、渡されたパーティションをマウントしますroot(これはカーネルパラメーターであり、grubパラメーターではありません)。 init.dからのマウントを含む、ユーザーランドの起動プロセスを開始します/etc/fstab。 パート5は私に問題を与えているものです。
17 linux  kernel  boot  usb  grub2 

2
ext4lazyinitの進行状況を測定する方法はありますか?
ここで ext4lazyinitについて質問しました。私が読んで理解したすべてから、ファイルシステムのすべてのiノードを作成せずにhddの使用を開始することができます。 知っている、または測定できる唯一の方法は、で監視ext4lazyinitすることiotopです。進捗をパーセンテージで取得する方法はありますか?
17 debian  kernel  ext4 




2
Linuxカーネルがカスタムキーボードスキャンコードを削除する
私は現代のコンピューターでの使用に適応しているビンテージIBM 122キーモデルMキーボードを持っています。私は、Teensy 2.0を使用してエンコードを行い、USB側を処理しています。Humble Hackerキーボードプロジェクト(https://github.com/humblehacker/keyboard)からファームウェアを借用し、ビルド構成に追加のキーを追加しました。ここまでは順調ですね。 「通常の」キーはすべて機能しますが、カーネルは余分なキー(F13- F24など)を削除しているようです。 実行/lib/udev/keymap -i input/event0すると、すべての通常キーのスキャンコードが表示されますが、追加キーのスキャンコードは表示されません。 wiresharkUSBポートのパケットキャプチャを実行すると、キーボードがスキャンコードを送信していることがわかりますが、カーネルは原則としてスキャンコードをドロップしているようです。 これはカーネルドライバーに含まれているもので、予期しないスキャンコードを配信していないだけだと思います。 .hカーネルソースのどこかのファイルにある種の「マスター」キーマップがあると思いますが、これまでのところ、それを見つける努力は成功していません。 Xの余分なキーのマッピングについて尋ねているのではないことを強調しておく必要があります。これは、カーネルに関連する低レベルの問題です。今のところ、Xをまったく使用しないと仮定します。必要なのは、実行時にスキャンコードが表示されるようにすることで/lib/udev/keymap -i、そこから残りを実行できます。


1
dpkgによるカーネル更新のブロック
最近私に起こった厄介なことが原因で、配布されたすべてのカーネル更新をブロックしたいと思います。(Ubuntu 12.04 amd64派生製品を使用しています。) 私はへのマイナーバージョン3.2のインストールカーネルにすべての更新をブロックしたいのですがlinux-headers、linux-headers-generic、linux-image、およびlinux-image-extraパッケージ。私が遭遇している問題は、これらにはすべてバージョンがあり、特定のバージョンをブロックすると、新しいバージョンがインストールされるため何も得られないことです(たとえばlinux-image-3.2.0-35、ブロックした場合、ブロックlinux-image-3.2.0-36されず、dist-upgradefrom でインストールされる可能性がありますapt)
16 kernel  apt 

2
ニンテンドーWii用のLinuxカーネル
私は今まで問題なく使用していたマイクp5パッチを使用して、バージョン2.6.32より新しいニンテンドーWii用のLinuxカーネルをコンパイルしようとしています。バージョン2.6.33 Wiiのサポートはメインラインカーネルに含まれていますが、動作させることができません。バージョン2.6.32で使用した古い.configと、Wiiプラットフォームのデフォルトの.configを使用してみました。もちろん、これらのすべての構成でWiiプラットフォームサポートオプションが選択されていますが、Wiiがカーネルコードを実行しているように見えます(青色のLEDが点滅します)。最後のテストバージョンを含むほとんどすべてのブランチを試しましたが、常に同じ結果になりました。また、クロスコンパイルツールも運良く更新しました。 バージョン2.6.32以降にオプションが欠けていたり、何か変更がありますか?
16 kernel  powerpc 

1
カーネルスペースでパケットをキャプチャするためのバッファサイズ
のmanページをtcpdump見ると、バッファがいっぱいになるとカーネルがパケットをドロップする可能性があります。私は疑問に思っていた: そのサイズは構成可能および/または ディストリビューションのサイズはどこで確認できますか? manページから(簡単に参照できるように): パケットが「カーネルによってドロップ」(これは、OSがアプリケーションにその情報を報告する場合、tcpdumpが実行されているOSのパケットキャプチャメカニズムによって、バッファスペースの不足によりドロップされたパケットの数です。そうでない場合は、0として報告されます。

4
Kernel 3.0の新機能は何ですか?
これはUbuntuに関連するものではないことは理解していますが、影響はあります。 それで、Linusが3.0と命名することに決めたのは、何がそんなに新しいのですか?私はそれに乗り込んだドライバーや常に改善されるものに関する情報を取得しようとはしていません。何が3.0になったのかを知りたい。私はどこかで、Linusがレガシーハードウェアをサポートするコードを取り除きたいと思ったことを読みました。ええと、3.0。は2.6.38よりも小さく(MBでは)大きいため、実際に何を意味するのかわかりません。 3.0という名前を付けた原因は何ですか?
16 linux  kernel 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.