다목적 가상머신 제품 프로토타입 개발 실험 목적 : 본 실험을 통해 컴파일 방법을 학습

WBOY
풀어 주다: 2024-03-29 08:16:12
앞으로
876명이 탐색했습니다.

ARMLinux 커널을 컴파일하고 실행하는 방법

1. 실험목적

이 실험을 통해 커널 이미지의 ARM 버전을 컴파일하고 QEMU 가상 머신에서 실행하는 방법을 알아보세요.

2. 실험 단계

개발 프로세스 속도를 높이기 위해 ARM은 VersatileExpress 개발 플랫폼을 제공합니다. 고객은 VersatileExpress 플랫폼을 기반으로 제품 프로토타입을 개발할 수 있습니다. 개인 학습자로서 VersatileExpress 개발 플랫폼이나 기타 ARM 개발 보드를 구입할 필요가 없습니다. QEMU를 사용하여 개발 플랫폼linux를 시뮬레이션하고 arm을 개발할 수도 있으며, 이는 학습 목적도 달성할 수 있습니다.

(1) 계획 도구

아래 코드 패키지를 다운로드하세요.

(2) 최소 파일 시스템 컴파일

먼저 비지박스를 사용하여 최소 파일 시스템을 수동으로 컴파일합니다.

으아악

menuconfig에 들어간 후 정적 컴파일로 구성하세요.

으아악

make&&makeinstall이 컴파일되면 busybox 루트 디렉터리에 "_install" 디렉터리가 생기며, 여기에는 컴파일된 파일 시스템에 필요한 일부 명령 세트가 저장됩니다.

linux 开发arm_开发linux软件_开发linux系统

_install 디렉토리를 linux-4.0 디렉토리에 복사하세요. _install 디렉터리로 이동하여 먼저 etc, dev 및 기타 디렉터리를 만듭니다.

으아악

_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 개발 arm에 다음 장치 노드를 생성한 다음 루트 권한이 필요합니다.

으아악

(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:itcool.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿