他のコンピュータでの Debian 用カーネルのビルド: GRUB: メモリ不足

他のコンピュータでの Debian 用カーネルのビルド: GRUB: メモリ不足

Intel Elkhartlakeの試用版を訪問しました。問題は、このプラットフォームが実際に効率的なプラットフォームではないということです。簡単に熱くなり、16GB CFastメモリカードと1GB RAMしかありません。カーネルバージョン5.10-23でDebian Bulls 아이をインストールし、ソースパッケージをインストールしてカーネルを再構築してみました。システムが安定して動作していないため、次のことを行いました。

#create workspace folder
mkdir kernel
cd kernel

#Copy Kernel Sources from target system to a more powerful Ubuntu Machine:
scp user@evb-elkhartlake:/usr/src/linux-source-5.10.tar.xz .

#extract Kernel Sources
tar -xf linux-source-5.10.tar.xz
cd linux-source-5.10

#copy running kernel config
scp user@evb-elkhartlake:/boot/config-5.10.0-23-amd64 ./.config

#changed CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/debian-uefi-certs.pem" to CONFIG_SYSTEM_TRUSTED_KEYS=""
#changed CONFIG_BUILD_SALT="5.10.0-23-amd64" to CONFIG_BUILD_SALT="5.10.0-23-amd64-bae-mx"

make -j$(nproc)

これは問題なくビルドされますが、カーネルをアップロードして起動すると次のようになります。

NEW_KERNEL_PATH="/boot/vmlinuz-dev"
GRUB_CONFIG="/etc/default/grub"
KERNEL_PARAMETERS="quiet splash"  # Add any additional parameters you need
KERNEL_ENTRY="GRUB_DEFAULT=$NEW_KERNEL_PATH"

# Append kernel entry and parameters to GRUB config
sed -i "s/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"$KERNEL_PARAMETERS\"/" $GRUB_CONFIG
sed -i "s|^GRUB_DEFAULT=.*|$KERNEL_ENTRY|" $GRUB_CONFIG

update-grub

再起動後、GRUBは次のエラーメッセージで停止します。メモリ不足

その後、カーネルのサイズを確認しました。すごいですね。 (vmlinuz-5.10.0-23-amd64と比較したvmlinuz-dev)

ls -alh
total 670M
drwxr-xr-x  4 root root 4.0K Aug  9 18:03 .
drwxr-xr-x 19 root root 4.0K Aug  8 17:03 ..
...
-rw-r--r--  1 root root 6.8M Jul 28 00:17 vmlinuz-5.10.0-23-amd64
-rw-r--r--  1 root root 6.8M Aug  8 18:19 vmlinuz-5.10.0-23-amd64-official
-rw-r--r--  1 root root 6.6M Sep 23  2021 vmlinuz-5.10.0-8-amd64
-rw-r--r--  1 root root 533M Aug  9 18:03 vmlinuz-dev

カーネル設定を次の場所にアップロードしました。https://pastebin.com/p4CtiS4N

カーネルサイズが基本的に再構築される原因が何であるかを教えてくれる人はいますか?私は以前にDebian以外のシステムでDebianを構築したことがありません。 (IT承認イメージを使用する必要があるため、オペレーティングシステムを変更することはできません。)

答え1

配置されたファイルはどこからインポートされますか/boot/vmlinuz-dev?のようなファイルですか (kernel source dir)/arch/x86/boot/bzImage

何とfile /boot/vmlinuz-dev

誤ってすべてのデバッグシンボルを含むバージョンを取得することもできます。クラッシュダンプを分析して他のデバッグを実行する場合に便利ですが、デフォルトのカーネルイメージファイルはそれほど大きくないはずです。

関連情報