日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

qemu搭建arm运行linux内核,centos使用qemu搭建ARM64运行环境

發布時間:2024/7/23 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qemu搭建arm运行linux内核,centos使用qemu搭建ARM64运行环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

準備工作

(1) linux 內核源碼, 從github上獲取

git clone https://github.com/torvalds/linux

make kernelversion

(2) 交叉編譯工具,從linaro官網(www.linaro.org)上獲取

解壓后設置環境變量即可

xz -d gcc-linaro-xxx.tar.xz

tar -xvf gcc-linaro-xxx.tar

export PATH=$PATH:/yourpath

(3) 安裝QEMU ,支持arm64需要源碼安裝https://www.qemu.org/

yum install gtk2-devel

./configure –target-list=aarch64-softmmu

make && make install

安裝完成后,有qemu-system-aarch64命令即可

內核代碼編譯

進入下載好的內核源碼目錄

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make defconfig

make menuconfig

make -j4

制作文件系統

(1)下載安裝busybox : https://busybox.net/

make menuconfig

settings->build options->build static library(enable)

make

make install

(2) 制作根文件系統

mkdir rootfs

cp busybox/_install/* rootfs/ -rf

cd rootfs/_install

mkdir dev etc 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

在_inistall/etc/ 目錄下新建一個fstab文件:

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

在_inistall/etc/ 目錄下新建一個inittab文件:

::sysinit:/etc/init.d/rcS

::respawn:-/bin/sh

::askfirst:-/bin/sh

::ctrlaltdel:/bin/umount -a -r

cd init.d

在_install/dev目錄下新建節點:

mknod console c 5 1

mknod null c 1 3

返回上層目錄,壓縮

cd ../..

find . | cpio -o -H newc > rootfs.cpio

gzip -c rootfs.cpio > rootfs.cpio.gz

QEMU啟動ARM64虛擬機

qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -nographic -m 2048 -smp 2 -kernel linux/arch/arm64/boot/Image -initrd rootfs.cpio.gz -append "rdinit=/linuxrc console=ttyAMA0"

啟動成功后,查看內核版本

/ # uname -r

4.20.0-rc4-00007-gef78e5e

關閉虛擬機

另起一個超級終端,輸入

killall -9 qemu-system-aarch64

參考文章

《奔跑吧linux內核》第六章

總結

以上是生活随笔為你收集整理的qemu搭建arm运行linux内核,centos使用qemu搭建ARM64运行环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。