搜尋
首頁系統教程LinuxVersatile虛擬機產品原型開發實驗目的透過本實驗學習如何編譯

怎麼編譯和運行一個ARMLinux核心

1.實驗目的

透過本實驗學習怎麼編譯一個ARM版本的核心鏡像,並在QEMU虛擬機器上運作。

2.實驗步驟

為了加速開發流程紅帽linux系統下載,ARM公司提供了VersatileExpress開發平台。顧客可以基於VersatileExpress平台進行產品原型開發。身為個人學習者,沒有必要去選購VersatileExpress開發平台或其他ARM開發板,完全可以透過QEMU來模擬開發平台linux 開發arm,同樣可以達到學習的目的。

(1)打算工具

下載如下程式碼包。

(2)編譯最小檔案系統

首先借助busybox手動編譯一個最小檔案系統。

$ cd busybox
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make menuconfig

步入menuconfig以後,就設定成靜態編譯。

Busybox Settings --->
 Build Options --->
 [*] Build BusyBox as a static binary (no shared libs)

在make&&makeinstall編譯完成後,在busybox根目錄下會有一個「_install」目錄,該目錄儲存了編譯好的檔案系統須要的一些指令集合。

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

#把_install目錄複製到linux-4.0目錄下。步入_install目錄,先建立etc、dev等目錄。

#mkdir etc
#mkdir dev
#mkdir mnt
#mkdir –p etc/init.d/

在_install/etc/init.d/目錄下新建一個rcS文件,並寫入以下內容。

mkdir –p /proc
mkdir –p /tmp
mkdir -p /sys
mkdir –p /mnt
/bin/mount -a
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev –s

更改_install/etc/init.d/rcS檔案必須可執行權限,可使用chmod指令來實現,例如「chmod x_install/etc/init.d/rcS」。

在_install/etc目錄中新建一個fstab文件,並寫入以下內容。

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

#

proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0

在_install/etc目錄中新建一個inittab文件,並寫入以下內容。

::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a –r

在_install/dev目錄中建立以下設備節點linux 開發arm,這時須要root權限。

$ cd _install/dev/
$ sudo mknod console c 5 1
$ sudo mknod null c 1 3

(3)編譯核心

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

#

$ cd linux-4.0
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make vexpress_defconfig
$ make menuconfig

配置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相同。

以上是Versatile虛擬機產品原型開發實驗目的透過本實驗學習如何編譯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:ITcool。如有侵權,請聯絡admin@php.cn刪除
Linux和Windows處理用戶身份驗證的區別有什麼區別?Linux和Windows處理用戶身份驗證的區別有什麼區別?Apr 30, 2025 am 12:03 AM

Linux和Windows在用戶認證方面的主要差異在於:Linux使用PAM模塊,而Windows依賴於ActiveDirectory和本地安全策略。 1.Linux通過PAM提供靈活的認證配置,如密碼、指紋等。 2.Windows通過ActiveDirectory實現集中管理和企業網絡集成。

如何使用QEMU在Linux上安裝和運行Freedos如何使用QEMU在Linux上安裝和運行FreedosApr 29, 2025 am 10:36 AM

本指南向您展示瞭如何使用QEMU模擬器在Linux環境中建立免費和開源DOS兼容操作系統。 這使您可以在現代硬件上運行Legacy DOS軟件和遊戲,而無需分開

如何在Linux Mint上安裝KDE等離子體22如何在Linux Mint上安裝KDE等離子體22Apr 29, 2025 am 10:10 AM

Linux Mint,这款以简洁、稳定和易用性著称的操作系统,广受用户欢迎,尤其适合新手。 它默认使用Cinnamon桌面环境,提供简洁友好的用户界面。但如果您偏好不同的外观或需要更多自定义选项,可以安装其他桌面环境,例如KDE Plasma。 KDE Plasma是一个功能丰富、高度可定制且视觉效果出色的桌面环境,提供现代时尚的用户体验。它拥有广泛的自定义选项、高级窗口管理功能和精致的美感,非常适合希望更好地掌控桌面体验的用户。 本指南将逐步指导您在Linux Mint 22上安装KDE Pl

如何減少Linux上的高RAM和CPU使用如何減少Linux上的高RAM和CPU使用Apr 29, 2025 am 10:05 AM

Linux系統性能優化:降低RAM和CPU使用率 Linux系統功能強大且高效,但高RAM和CPU使用率會降低性能,減慢應用程序速度,甚至導致服務器、工作站或嵌入式系統崩潰。因此,優化資源使用對於系統平穩運行至關重要。 本指南將探討降低Linux系統RAM和CPU使用率的實用方法,涵蓋監控工具、進程管理、內核調整和系統優化技術,幫助您保持系統高效運行。 識別資源密集型進程 降低RAM和CPU使用率的第一步是識別哪些進程消耗了最多的資源。為此,可以使用以下幾個命令行工具: a. 使用top

如何在Almalinux 8/9中啟動到單用戶模式如何在Almalinux 8/9中啟動到單用戶模式Apr 29, 2025 am 09:46 AM

AlmaLinux 8 和 9 的單用戶模式 (也稱為救援模式) 指南 單用戶模式是一個精簡的 Linux 環境,允許系統管理員執行維護任務、排查問題和從系統故障中恢復。當您需要重置 root 密碼、修復配置錯誤、修復損壞的文件系統或調查阻止正常啟動的系統錯誤時,單用戶模式特別有用。 作為基於 RHEL 的發行版,AlmaLinux 8 和 9 通過 GRUB 引導加載程序提供了一種簡單的進入單用戶模式的方法。本指南將逐步解釋如何在 AlmaLinux 8 和 9 上進入單用戶模式。 什麼是單用

Linux故障排除:5個常見問題以及如何解決這些問題Linux故障排除:5個常見問題以及如何解決這些問題Apr 29, 2025 am 09:42 AM

Linux系统以其强大和可靠性著称,但即使是经验丰富的用户也会遇到意想不到的问题。无论是意外删除的文件、忘记的root密码,还是系统运行缓慢,高效的故障排除技巧是成为Linux专家的关键。 本指南将介绍一些常见的Linux问题解决场景以及逐步解决方案,这些问题在系统管理员、开发人员和日常Linux用户中普遍存在。 场景一:意外删除重要文件 您意外地使用rm命令删除了一个重要文件,现在需要恢复它。与Windows和macOS不同,Linux没有内置的“回收站”来存储从终端删除的文件。 恢复选项取决

如何在Linux上永久更改Docker文件夾權限如何在Linux上永久更改Docker文件夾權限Apr 29, 2025 am 09:35 AM

Docker 是一款強大的工具,允許您在稱為 容器 的隔離環境中運行應用程序。但是,有時您可能需要更改 Docker 文件夾的權限,以確保您的應用程序可以訪問必要的文 件和目錄。 本文將指導您完成在 Linux 系統上永久更改 Docker 文件夾權限的過程。 了解 Docker 文件夾權限 默認情況下,Docker 將其數據(包括鏡像、容器和卷)存儲在 Linux 系統上的特定目錄中。最常見的目錄是 /var/lib/docker。 這些文件夾的權限決定了誰可以讀取、寫入或執行其中的文件。如果

像專業人士一樣管理Docker:在Linux上安裝Portainer CE像專業人士一樣管理Docker:在Linux上安裝Portainer CEApr 29, 2025 am 09:24 AM

用Linux上的Portainer CE簡化Docker Management:逐步指南 通過命令行管理Docker容器可能令人生畏,尤其是對於新移民而言。 Portainer CE(社區版)提供免費,輕巧且直觀的Solutio

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。