コンパイルしようとしています。バックポート(私は最新の[5.6.8-1]バージョンを選択しました)提供されたツールチェーンを持つi.MX35(armv6)組み込みLinuxシステム用(arm-fsl-gnueabi-gcc 4.6.2、他のコンパイラは選択できません)とBSPコア(3.0、残念ながら他のカーネルはオプションではありません)。
関連ページ主張する
各バックポートは、サポートされているすべてのカーネルで使用できるようにテストおよびコンパイルされました。最も古いバージョンは(現在)3.0です。
だから私は大丈夫でしょう。しかし、以下に書かれているように、彼らはこのバージョンを3.0に対してテストしていないと確信しています。これは手動介入がなければそのバージョンに対してコンパイルされないためです。。
私はカーネルソースツリーを[再]構築して従いました。「クロスコンパイル」のガイドラインツリー外部バックポートの構築に使用されます。その後、最初にmenuconfig
複数のUSB WiFiドライバを選択しましたが、コンパイルエラーのためにタールボールを削除して再抽出し、それを実行しました(彼らが主張したように)。
ユーザーがLinuxカーネルを構成する方法がわからないように、バックポートパッケージを構成する方法がわからないため、興味のあるドライバ/サブシステムのみを構築するために使用できるデフォルトの構成ファイルへのショートカットが提供されます。中。
)defconfig-mwifiex
構成に問題がないことを確認するためのものです。はい、私は本当に絶望的な楽天主義者です。
3.0にない機能に依存する「バックポーティングの少ない」機能を削除する必要がありました。
__atomic_add_unless
にatomic_add_unless
変更backport-include/linux/atomic.h
代わりに無条件に呼び出されます
debug_fs_create_xul
。条件付きバージョンは、そのプラットフォームで32ビットのサイズに基づいて予約されているため、後者は呼び出されません。backport-include/linux/debugfs.h
debug_fs_create_x32
debug_fs_create_x64
unsigned long
netdev_upper_dev_link
360行目から始まるものはbackport-include/linux/netdevice.h
3.0にはなく、一部の後続のバージョンにのみ存在するためコメントされています。とにかく呼び出しのみ可能コンパイルされたモジュールはありません。(実際のデフォルトのカーネル構成のため、menuconfigにも表示されません。)したがって、安全です。#ifdef CONFIG_PCI
編集に同じ変数を使用するpcie_find_root_port
チェーンを呼び出し/依存するため、定義の下に配置されます。#ifdef
backport-include/linux/pci.h
#ifdef
使用する構造メンバーが同じpm_runtime_active
ディレクトリにあるためbackport-include/linux/pm_runtime.h
CONFIG_PM_RUNTIME
#ifdef
#ifdef
そのバージョンでのみ構造メンバーが追加されたため、を使用してNETLINK_CB(in_skb).sk
アクセスしました。compat/backport-genetlink.c
LINUX_IS_VERSION_GEQ(3, 10, 0)
sk
残念ながら、拡張net/wireless/trace.c
に問題があり、TP_PROTO
GCCで多くのエラーが発生しましたが、error: expected ')' before 'struct'
それを修正できませんでした。どんなアイデアがありますか?
そうでない場合3.0でテストしましたバックポート版(利用可能な戦闘テストを受けたWiFi USBドライバがたくさんあることを願っています)?