Linuxにシステムコールを追加したいのですが、トレーニングデータではファイルを変更する必要がありますlinux/Arch/i386/kernel/entry.S
またはArch/x86/kernel/syscall_table_32.S
。ファイルが見つかりません。探して見つけられず、i386という名前のフォルダがありません。私を助けてください。必要です。
まず、Linuxカーネルのソースコードが必要です。 kernel.org でダウンロードするか、Ubuntuからlinux-source
パッケージをインストールします。後者の場合、Ubuntuのパッチが適用されています。
通常、ソースは/usr/src
の下にあります。ファイルを展開したり、パッケージをインストールした場合は、上記のツリーが見つかります。そのため、最新のカーネルバージョンには、サブディレクトリentry_32.S
に entry_64.S
および Arch/x86/kernel
というファイルがあります。 Arch
の後の部分の名前はx86
であり、前述のi386
ではありません。 i386
は3.7から削除されたため、i386
を使用する場合は、3.7より前のカーネルバージョンを選択する必要があります。
entry_64.Sファイルは、変更する必要がある同等のファイルではありません...実行したい内容によって異なります。カーネルにカスタムsyscallを追加する場合は、ファイル/ Arch/x86/syscalls/syscall_64.tblを変更します。