Linux では、カーネル移植とは、プログラム コードをあるハードウェア プラットフォームから別のハードウェア プラットフォームに転送して実行することを指します。移植とは、ユーザーが選択したハードウェア プラットフォームに基づいて、対応するハードウェアをサポートするためにカーネルを再コンパイルすることです。対応するハードウェア ドライバーまたは他のカーネル モジュールが見つからない場合は、それを自分で開発し、カーネルに追加してコンパイルし、最終的にハードウェアのサポートを実現できます。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux カーネル移植とは
いわゆる移植とは、ある動作環境から別の動作環境にプログラム コードを移行することです。カーネル移植の場合、主に、あるハードウェア プラットフォームから別のハードウェア プラットフォームで実行するように移行することが含まれます。
カーネル移植とは、選択したハードウェア プラットフォームに従って、対応するハードウェアをサポートするようにカーネルを再コンパイルし、ハードウェア プラットフォーム上で実行できるようにすることです。対応するハードウェア ドライバーまたは他のカーネル モジュールが見つからない場合は、自分でやる 対応する開発がカーネルに追加され、一緒にコンパイルされて、最終的にハードウェア サポートが実現されます。
カーネルの起源
Linux は、オープン ソースのコンピューター オペレーティング システム カーネルです。主に C 言語で書かれています オープンソースなので、開発や保守に多くの人が関わっているはずです Linux がこれほど早く発展したのは、オープンソースだからです 多くの人が使っているので、多くの問題があります見つけました。使いにくいと思ったら却下されます。誰かが最適化しました。 Linux カーネルの主要モジュール (コンポーネント) は、ストレージ管理、CPU とプロセス管理、ファイル システム、デバイス管理とドライバー、ネットワーク通信、システム初期化 (ブート)、システム コールなどの部分に分かれています。 。
Linux は、フィンランド人の Linus Torvalds によって最初に設計されました。当時、UNIX の商業化に伴い、AT&T ライセンス契約に拘束されずに教育や研究用のオペレーティング システムを提供できるように、アンドリュー タネバウム教授は Minix オペレーティング システムを開発しました。それはインターネット上で公開され、世界中の学生が無料で利用できました。早速、本題に入りましょう。
カーネル移植の実行方法
1. バージョンとダウンロード
Linux は 1991 年から現在まで発展してきました。バージョンはどうなりましたか?皆さんも知りたいと思うので、どこで観て、どこでダウンロードすればいいのでしょうか?エディターは、カーネルのダウンロード URL を誰でも利用できるように準備しています: https://www.kernel.org/ これは直接クリックすると表示されます。インターフェイスは次のとおりです :
##安定版はバージョン 5.16.12 になりました。安定版をダウンロードできますが、最新のものをダウンロードすることはお勧めしません。不安定であり、エクスペリエンスも明らかに良くないからです。バージョン間に大きな違いはなく、新しいバージョンでは新しいプラットフォームまたは新しい外部ドライバーが追加されるだけかもしれません。 2. カーネル移植ソース コードをコンパイルする前に lzop ライブラリをインストールします。そうしないとコンパイルが失敗します:sudo apt-get install lzopダウンロードしたカーネル ソース コードを解凍します。コマンドは次のとおりです。
tar jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2次のファイルが取得されます: シェル スクリプトを作成し、次のコンパイル コマンドを入力します。
给予脚本权限,直至脚本变绿,如下:
./mx6ull_nand.sh编译程序,出现图形界面可以先不去配置,直接exit退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts文件打交道的,编译之后的文件如下:
3、内核的使用
先设置交叉编译工具变量,进入顶层Makefile中设置如下:
使用如下命令编译Linux:
make xxx_defconfig //使用默认配置文件配置 Linux make menuconfig //启动图形化配置界面 make -j2 //编译 Linux
至此,Linux内核部分就给大家分享到这里了,动手操作起来吧。
相关推荐:《Linux视频教程》
以上がLinux カーネルの移植とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。