我按照以下步骤在 QEMU
上构建和刷新我的内核:
make ARCH=arm distclean
制作 ARCH=arm versatile_defconfig
make ARCH=arm menuconfig
在这里您需要启用以下功能。
内核特性 ---> [*] 使用ARM EABI
编译内核。 (启用此功能)。make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-uImage
qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -append "console=tty1"
在这里你会得到控制台说内核 panic 。为避免这种情况,请传递您的rootfs
参数。
我猜你是从 busybox 构建 rootfs 的,如果是的话,请尝试使用下面的命令来完全启动系统qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -initrd rootfs.img -append "root=/dev/ram mem=128M rdinit=/sbin/init"-串行标准输入输出
在运行时,内核是否使用设备树来加载设备?如果是,如何确认设备树位于何处? (我需要更改设备树文件(.dts),但无法找到该文件所在的位置)请帮忙
最佳答案
设备树位于 arch/arm/boot/dts/versatile-pb.dts
关于c - 使用设备树引导主线 Linux 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22433334/