ホームページ  >  記事  >  運用・保守  >  Linux カーネルの移植とは何を意味しますか?

Linux カーネルの移植とは何を意味しますか?

青灯夜游
青灯夜游オリジナル
2023-02-23 10:29:353207ブラウズ

Linux では、カーネル移植とは、プログラム コードをあるハードウェア プラットフォームから別のハードウェア プラットフォームに転送して実行することを指します。移植とは、ユーザーが選択したハードウェア プラットフォームに基づいて、対応するハードウェアをサポートするためにカーネルを再コンパイルすることです。対応するハードウェア ドライバーまたは他のカーネル モジュールが見つからない場合は、それを自分で開発し、カーネルに追加してコンパイルし、最終的にハードウェアのサポートを実現できます。

Linux カーネルの移植とは何を意味しますか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux カーネル移植とは

いわゆる移植とは、ある動作環境から別の動作環境にプログラム コードを移行することです。カーネル移植の場合、主に、あるハードウェア プラットフォームから別のハードウェア プラットフォームで実行するように移行することが含まれます。

カーネル移植とは、選択したハードウェア プラットフォームに従って、対応するハードウェアをサポートするようにカーネルを再コンパイルし、ハードウェア プラットフォーム上で実行できるようにすることです。対応するハードウェア ドライバーまたは他のカーネル モジュールが見つからない場合は、自分でやる 対応する開発がカーネルに追加され、一緒にコンパイルされて、最終的にハードウェア サポートが実現されます。

カーネルの起源

Linux は、オープン ソースのコンピューター オペレーティング システム カーネルです。主に C 言語で書かれています オープンソースなので、開発や保守に多くの人が関わっているはずです Linux がこれほど早く発展したのは、オープンソースだからです 多くの人が使っているので、多くの問題があります見つけました。使いにくいと思ったら却下されます。誰かが最適化しました。 Linux カーネルの主要モジュール (コンポーネント) は、ストレージ管理、CPU とプロセス管理、ファイル システム、デバイス管理とドライバー、ネットワーク通信、システム初期化 (ブート)、システム コールなどの部分に分かれています。 。

Linux は、フィンランド人の Linus Torvalds によって最初に設計されました。当時、UNIX の商業化に伴い、AT&T ライセンス契約に拘束されずに教育や研究用のオペレーティング システムを提供できるように、アンドリュー タネバウム教授は Minix オペレーティング システムを開発しました。それはインターネット上で公開され、世界中の学生が無料で利用できました。早速、本題に入りましょう。

カーネル移植の実行方法

1. バージョンとダウンロード

Linux は 1991 年から現在まで発展してきました。バージョンはどうなりましたか?皆さんも知りたいと思うので、どこで観て、どこでダウンロードすればいいのでしょうか?エディターは、カーネルのダウンロード URL を誰でも利用できるように準備しています: kernel.org/ これは直接クリックすると表示されます。インターフェイスは次のとおりです :

Linux カーネルの移植とは何を意味しますか?
##安定版はバージョン 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

次のファイルが取得されます:

Linux カーネルの移植とは何を意味しますか?
シェル スクリプトを作成し、次のコンパイル コマンドを入力します。

Linux カーネルの移植とは何を意味しますか?

给予脚本权限,直至脚本变绿,如下:

Linux カーネルの移植とは何を意味しますか?

./mx6ull_nand.sh编译程序,出现图形界面可以先不去配置,直接exit退出,继续等待编译完成(内核编译需要的时间较长,建议大家准备好瓜子)。编译完成以后就会在 arch/arm/boot 这个目录下生成一个叫做 zImage 的文件,zImage 就是我们要用的 Linux 镜像文件。另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是设备树文件。后面做驱动开发的时候会经常跟这些.dts文件打交道的,编译之后的文件如下:

Linux カーネルの移植とは何を意味しますか?

3、内核的使用

先设置交叉编译工具变量,进入顶层Makefile中设置如下:

Linux カーネルの移植とは何を意味しますか?

使用如下命令编译Linux:

make xxx_defconfig //使用默认配置文件配置 Linux
make menuconfig //启动图形化配置界面
make -j2         //编译 Linux

至此,Linux内核部分就给大家分享到这里了,动手操作起来吧。

相关推荐:《Linux视频教程

以上がLinux カーネルの移植とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。