使用设备树引导主线Linux内核

时间:2014-03-16 05:28:21

标签: c linux-kernel device-tree

我按照以下步骤在QEMU上构建并刷新内核:

  1. make ARCH=arm distclean
  2. make ARCH=arm versatile_defconfig
  3. make ARCH=arm menuconfig
    在这里你需要启用以下功能。
    内核特征---> [*]使用ARM EABI编译内核。 (启用此功能)。
  4. make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
  5. qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -append "console=tty1"
    在这里你会得到控制台说内核恐慌。为避免这种情况,请通过rootfs参数 我猜你是从busybox构建了rootfs,如果是这样尝试下面的命令来完全启动系统
  6. qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -initrd rootfs.img -append "root=/dev/ram mem=128M rdinit=/sbin/init" -serial stdio
  7. 在运行时,内核是否使用设备树来加载设备?如果是,如何确认设备树位于何处? (我需要更改设备树文件(.dts),但无法找到文件所在的位置)请帮助

1 个答案:

答案 0 :(得分:2)

设备树位于arch/arm/boot/dts/versatile-pb.dts