失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > qemu搭建arm运行linux内核 centos使用qemu搭建ARM64运行环境

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

时间:2021-04-13 00:35:34

相关推荐

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

准备工作

(1) linux 内核源码, 从github上获取

git clone /torvalds/linux

make kernelversion

(2) 交叉编译工具,从linaro官网()上获取

解压后设置环境变量即可

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

tar -xvf gcc-linaro-xxx.tar

export PATH=$PATH:/yourpath

(3) 安装QEMU ,支持arm64需要源码安装/

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 : /

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运行环境》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。