シーン
私はデモモジュールを作成し、それをカーネルに挿入してシステムに書き込んでおり、ヘッダーとテーブルファイルにそれに関するエントリを追加しました。
これまでに行われた手順
私は次のようにカーネルをコンパイルします。
/linux-4.12.9$ sudo make -j4
いくつかの警告が表示され、エラーは表示されません。端末がオーバーフローしたため、とにかくこれらの警告を受け取る方法はありません。
エラーが発生しなかった後に解雇されました。
/linux-4.12.9$ sudo make modules_install install
質問
返品
INSTALL arch/x86/crypto/aes-x86_64.ko cp: cannot stat 'arch/x86/crypto/aes-x86_64.ko': No such file or directory At main.c:291:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: /lib/modules/4.12.9/kernel/arch/x86/crypto/aes-x86_64.ko: No such file or directory
scripts/Makefile.modinst:35: recipe for target 'arch/x86/crypto/aes- x86_64.ko' failed
make[2]: *** [arch/x86/crypto/aes-x86_64.ko] Error 1
Makefile:1237: recipe for target '_modinst_' failed
make[1]: *** [_modinst_] Error 2
Makefile:527: recipe for target '__build_one_by_one' failed make: *** [__build_one_by_one] Error 2
また、間違ったディレクトリでこれを行う場合に備えて、上記のコマンドに作業ディレクトリを公開しました。
答え1
問題は、私が使用しているサポートされているライブラリとパッケージにあります。この記事を書いた時点で最新のカーネルをコンパイルするには、次の4つのパッケージ/ライブラリをインストールする必要があります。
- libsslの開発
- libncurses5-dev
- qt4 - デフォルト
- qt4開発ツール
Qt4については少し懐疑的ですが、開発ツールそして基本、一緒にダウンロードしたからです。
また、私はUbuntu 16.04 LTSを使用しており、コマンドとパッケージの要件はディストリビューションによって変更される可能性があります。
編集
したがって、上記の(問題の)コンパイルコマンドは正しいです。完了するのにかなり時間がかかることに注意してください。すべてがうまくいったことを確認するために、次のものを見つけることができる場所に到達します。
Setup is 17564 bytes (padded to 17920 bytes).
System is 7215 kB
CRC 3b136d62
Kernel: arch/x86/boot/bzImage is ready (#1)
数分間一時停止し、ターゲットファイルの作成が再開されます。はい、最初のqt5パッケージにしたときは受け取れませんでした。
インストールする
繰り返しますが、上記のコマンド(問題)は正確であり、同じコマンドが実行されると、次のようにシステムに複数のカーネルオブジェクトがインストールされていることがわかります。
...
INSTALL /lib/firmware/emi62/spdif.fw
INSTALL /lib/firmware/emi62/midi.fw
INSTALL /lib/firmware/kaweth/new_code.bin
INSTALL /lib/firmware/kaweth/trigger_code.bin
INSTALL /lib/firmware/kaweth/new_code_fix.bin
INSTALL /lib/firmware/kaweth/trigger_code_fix.bin
INSTALL /lib/firmware/ti_3410.fw
...
それは次に終わらなければなりません
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.12.9
Found initrd image: /boot/initrd.img-4.12.9
Found linux image: /boot/vmlinuz-4.4.0-93-generic
Found initrd image: /boot/initrd.img-4.4.0-93-generic
Found linux image: /boot/vmlinuz-4.4.0-92-generic
Found initrd image: /boot/initrd.img-4.4.0-92-generic
Found linux image: /boot/vmlinuz-4.4.0-91-generic
Found initrd image: /boot/initrd.img-4.4.0-91-generic
Found linux image: /boot/vmlinuz-4.4.0-83-generic
Found initrd image: /boot/initrd.img-4.4.0-83-generic
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
新人警告
また、システムにインストールされているオペレーティングシステム(およびカーネル)の数に応じて確立された氏名は変更されることがあります! OSが2つあるので、追加のOSがあります。確立されたWindowsの声明