ubuntu 18 qemu模拟arm u-boot加载内核 nfs挂载文件系统

该博客详细介绍了如何在Ubuntu 18上使用QEMU模拟ARM架构,包括安装模拟器和交叉编译器、下载编译内核与 BusyBox、编译u-boot、制作根文件系统、配置tftp和nfs服务器、以及通过uboot加载内核的过程,确保QEMU与主机间的网络连接畅通。
摘要由CSDN通过智能技术生成

1. 安装qemu模拟器及arm交叉编译器

sudo apt-get install flex bison \
     qemu uml-utilities bridge-utils \
     libncurses5-dev \
     gcc-arm-linux-gnueabi build-essential \
     nfs-kernel-server \
     tftp-hpa tftpd-hpa xinetd \
     device-tree-compiler u-boot-tools

2. 下载编译内核

https://www.kernel.org/

tar xf linux-5.6.tar.xz && cd linux-5.6

export ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
make vexpress_defconfig
make menuconfig #将nfs4支持选上,将kernel hack中的debug filesystem选上
make zImage -j4 && make dtbs
make LOADADDR=0x60003000 uImage -j4

3. 下载编译busybox

https://busybox.net/

tar xf busybox-1.31.1.tar.bz2 && cd busybox-1.31.1
export ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
make defconfig
make menuconfig #配置静态编译
make -j4 && make install

4. 编译u-boot

unzip u-boot-master.zip && cd u-boot
make vexpress_ca9x4_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

5. 制作根文件系统

mkdir kernel
cp linux-5.6/arch/arm/boot/zImage kernel/
cp linux-5.6/arch/arm/boot/dts/vexpress-v2p-ca9.dtb kernel/
cp linux-5.6/.config kernel/
sudo mkdir -p rootfs/{lib,etc,dev,mnt}
sudo cp busybox-1.31.1/_install/* -r rootfs/
sudo cp -P /usr/arm-linux-gnueabi/lib/* rootfs/lib/
sudo mkdir -p rootfs/etc/init.d
sudo vim rootfs/etc/init.d/rcS
mkdir -p /proc
mkd
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值