.koモジュール/シンボルを損なうことなくカーネルを変更する方法

.koモジュール/シンボルを損なうことなくカーネルを変更する方法

まず私はカーネルハッカーではないので、用語が間違っていると謝罪します。

第二に、私たちの環境を説明する必要があります。小さなシングルボードコンピュータ(いいえ、いいえ(無関心)SoCメーカーによって提供されたSDK /開発スタックに基づいてLinux / Busyboxを実行し、基本的に大規模なグループによって一緒にハッキングされるRaspberry pi(同様のバージョン)エルボニアコードスレーブゼロサポート。

古いカーネルのビルドとBusyboxは、一般的に使用されている最新のLinuxコマンド/ツールにアクセスできないことを意味します。modprobeこれは特に重要です。

私たちはほとんどのWTFeryを撃退するために最善を尽くしましたが、まだ進行中の作業です。

今私たちがいるところは次のとおりです。

不要なエントリを削除/無効にしてカーネルビルドをクリーンアップしようとしたときに問題が発生しました。不要な項目(CONFIG_DEBUG_FSなど)を無効にすると、ヒープモジュール全体がロードされません(insmod起動プロセスを含む)。

[   16.490979] loop: disagrees about version of symbol set_blocksize
[   16.497116] loop: Unknown symbol set_blocksize (err -22)
[   16.503304] loop: disagrees about version of symbol ioctl_by_bdev
[   16.509440] loop: Unknown symbol ioctl_by_bdev (err -22)
[   16.515656] loop: disagrees about version of symbol set_user_nice
[   16.521898] loop: Unknown symbol set_user_nice (err -22)
[   16.527686] loop: disagrees about version of symbol add_disk

問題は、カーネル自体がデバイスのフラッシュメモリの1つのパーティションに存在するのに対し、ユーザーファイルシステム(Busyboxおよび前述のモジュールを含む)とFlashアップグレードツールは別のパーティションに存在することです。アップグレードルーチンは一度に 1 つのパーティションをダウンロードしてリフレッシュします。

したがって、Catch-22の状況が発生します。更新するとカーネルイメージ、.koモジュールがマザーボードを起動しない危険性があります。ファイルシステムイメージまだ更新されていないがファイルシステムイメージを更新すると、マザーボードが起動しない危険性があります。コア更新されていません。

この問題を解決する方法はいくつかありますが、お客様が指示に従わずにマザーボードが破損する可能性があります(該当する場合)。可能壊す、誰か〜する管理してください)。

だから私の質問は次のようになります

(どのように)カーネルを修正したり(主にいくつかの項目を削除したり)、モジュールを再構築してカーネル+モジュールなどの1つのバージョンから最新のバージョンに移動できますか?いいえ一時的な重大な破損や故障のリスクはありますか?

ベストアンサー1

おすすめ記事