ホームページ >システムチュートリアル >Linux >多用途仮想マシン製品のプロトタイプ開発実験の目的: この実験を通じてコン​​パイル方法を学ぶ

多用途仮想マシン製品のプロトタイプ開発実験の目的: この実験を通じてコン​​パイル方法を学ぶ

WBOY
WBOY転載
2024-03-29 08:16:12883ブラウズ

ARMLinux カーネルをコンパイルして実行する方法

###1。目的###

この実験を通じて、ARM バージョンのカーネル イメージをコンパイルし、QEMU 仮想マシン上で実行する方法を学びます。

###2。実験手順

開発プロセスをスピードアップするために、ARM は VersatileExpress 開発プラットフォームを提供しています。お客様は、VersatileExpress プラットフォームに基づいて製品プロトタイプを開発できます。個人学習者としては、VersatileExpress 開発プラットフォームやその他の ARM 開発ボードを購入する必要はなく、QEMU を使用して開発プラットフォーム

linux をシミュレートし、arm

を開発することで学習の目的を達成することもできます。

(1) 計画ツール

次のコード パッケージをダウンロードします。

(2) 最低限のファイルシステムをコンパイルする

まず、busybox を使用して最小限のファイル システムを手動でコンパイルします。

リーリー

menuconfig を入力した後、静的コンパイルに設定します。

リーリー

make&&makeinstall がコンパイルされると、busybox ルート ディレクトリに「_install」ディレクトリが作成され、コンパイルされたファイル システムに必要ないくつかのコマンド セットが保存されます。

_install ディレクトリを linux-4.0 ディレクトリにコピーします。 _install ディレクトリに移動し、まず etc、dev、およびその他のディレクトリを作成します。 linux 开发arm_开发linux软件_开发linux系统

リーリー

_install/etc/init.d/ ディレクトリに新しい rcS ファイルを作成し、次の内容を記述します。

リーリー

_install/etc/init.d/rcS ファイルを変更するには、実行権限が必要です。これは、「chmod x_install/etc/init.d/rcS」などの chmod コマンドを使用して実行できます。

_install/etc ディレクトリに新しい fstab ファイルを作成し、次の内容を記述します。

リーリー 开发linux系统_linux 开发arm_开发linux软件

_install/etc ディレクトリに新しい inittab ファイルを作成し、次の内容を書き込みます。

リーリー

_install/dev ディレクトリ

Linux 開発アーム

に次のデバイス ノードを作成します。今回は root 権限が必要です。

リーリー

(3) カーネルのコンパイル

リーリー 开发linux系统_linux 开发arm_开发linux软件

配置initramfs,在initramfssourcefile中填入_install,并把Defaultkernelcommandstring清空。

General setup --->
 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 (_install) Initramfs source file(s)
Boot options -->
 ()Default kernel command string

配置memorysplit为“3G/1Guser/kernelsplit”,并打开高档显存。

Kernel Features --->
Memory split (3G/1G user/kernel split) --->
[ *] High Memory Support

开始编译内核。

$ make bzImage –j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
$ make dtbs

(4)运行QEMU虚拟机

运行QEMU虚拟机来模拟4核Cortex-A9的VersatileExpress开发平台。

$ qemu-system-arm -M vexpress-a9 -smp 4 -m 200M -kernel arch/arm/boot/zImage -append "rdinit=/linuxrc console=ttyAMA0 loglevel=8" -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic

运行结果与实验3相同。

以上が多用途仮想マシン製品のプロトタイプ開発実験の目的: この実験を通じてコン​​パイル方法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はitcool.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。