Linux kernel AT91SAM9263ek使用设备树引导Linux失败

Linux kernel AT91SAM9263ek使用设备树引导Linux失败,linux-kernel,arm,u-boot,device-tree,Linux Kernel,Arm,U Boot,Device Tree,我在启动Linux 3.16.1时遇到问题。我用at91sam9263_defconfig编译了源代码 我在引导选项中添加了扁平设备树支持。 下面是()演示中建议的在/proc中打开支持设备树的提示,但我在menuconfig中没有该选项 我有U-Boot引导程序版本2014.10rc2,它支持设备树。 我已经从内核附带的脚本生成了dtb: 使之成为at91sam9263ek.dtb 现在我得到了这个错误: Welcome to minicom 2.5 OPTIONS: I18n Compile

我在启动Linux 3.16.1时遇到问题。我用at91sam9263_defconfig编译了源代码

我在引导选项中添加了扁平设备树支持。 下面是()演示中建议的在/proc中打开支持设备树的提示,但我在menuconfig中没有该选项

我有U-Boot引导程序版本2014.10rc2,它支持设备树。 我已经从内核附带的脚本生成了dtb: 使之成为at91sam9263ek.dtb

现在我得到了这个错误:

Welcome to minicom 2.5 OPTIONS: I18n Compiled on Feb 9 2011, 14:45:00. Port /dev/ttyS0 Press CTRL-A Z for help on special keys RomBOOT > U-Boot 2014.10-rc2-00200-g9170818-dirty (Sep 23 2014 - 15:16:39) CPU: AT91SAM9263 Crystal frequency: 16.368 MHz CPU clock : 199.919 MHz Master clock : 99.960 MHz DRAM: 64 MiB WARNING: Caches not enabled NAND: 256 MiB MMC: mci: 0 In: serial Out: serial Err: serial Net: macb0 Warning: Your board does not use generic board. Please read doc/README.generic-board and take action. Boards not upgraded by the late 2014 may break or be removed. Hit any key to stop autoboot: 0 U-Boot> tftp uImage macb0: Starting autonegotiation... macb0: Autonegotiation complete macb0: link up, 100Mbps full-duplex (lpa: 0xcde1) Using macb0 device TFTP from server 192.168.1.247; our IP address is 192.168.1.240 Filename 'uImage'. Load address: 0x22000000 Loading: ################################################################# ################################################################# ################################################################# ############## 1.2 MiB/s done Bytes transferred = 3068016 (2ed070 hex) U-Boot> tftp 20000000 dt macb0: link up, 100Mbps full-duplex (lpa: 0xcde1) Using macb0 device TFTP from server 192.168.1.247; our IP address is 192.168.1.240 Filename 'dt'. Load address: 0x20000000 Loading: # 340.8 KiB/s done Bytes transferred = 13279 (33df hex) U-Boot> bootm 22000000 - 20000000 ## Booting kernel from Legacy Image at 22000000 ... Image Name: Linux-3.16.1 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3067952 Bytes = 2.9 MiB Load Address: 20008000 Entry Point: 20008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 20000000 Booting using the fdt blob at 0x20000000 Loading Kernel Image ... OK Loading Device Tree to 23ea3000, end 23ea93de ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: unrecognized/unsupported device tree compatible list: [ 'atmel,at91sam9263ek' 'atmel,at91sam9263' 'atmel,at91sam9' ] Available machine support: ID (hex) NAME 000004b2 Atmel AT91SAM9263-EK Please check your kernel config and/or bootloader. 欢迎来到minicom 2.5 选项:I18n 编制于2011年2月9日14:45:00。 端口/dev/ttyS0 按CTRL-A Z键可获取有关特殊键的帮助信息 长靴 > U-Boot 2014.10-rc2-00200-g9170818-dirty(2014年9月23日-15:16:39) CPU:AT91SAM9263 晶体频率:16.368 MHz CPU时钟:199.919 MHz 主时钟:99.960 MHz DRAM:64 MiB 警告:未启用缓存 NAND:256 MiB MMC:mci:0 In:序列号 输出:序列号 错误:串行 网络:macb0 警告:您的板不使用通用板。请阅读 doc/README.generic-board并采取行动。董事会不 到2014年底升级可能会中断或被删除。 按任意键停止自动启动:0 U-Boot>tftp uImage macb0:正在启动自动协商。。。 macb0:自动协商完成 macb0:链接,100Mbps全双工(lpa:0xcde1) 使用macb0设备 来自服务器192.168.1.247的TFTP;我们的IP地址是192.168.1.240 文件名“uImage”。 加载地址:0x22000000 装载:################################################################# ################################################################# ################################################################# ############## 1.2 MiB/s 完成 传输的字节数=3068016(2ed070十六进制) U形防尘套>tftp 20000000 dt macb0:链接,100Mbps全双工(lpa:0xcde1) 使用macb0设备 来自服务器192.168.1.247的TFTP;我们的IP地址是192.168.1.240 文件名“dt”。 加载地址:0x20000000 装载:# 340.8千磅/秒 完成 传输的字节数=13279(33df十六进制) U-Boot>bootm 22000000-20000000 ##正在从22000000的旧映像引导内核。。。 图像名称:Linux-3.16.1 映像类型:ARM Linux内核映像(未压缩) 数据大小:3067952字节=2.9 MiB 加载地址:20008000 入境点:20008000 正在验证校验和。。。好啊 ##2000万处的扁平设备树blob 在0x20000000处使用fdt blob引导 正在加载内核映像。。。好啊 正在将设备树加载到23ea3000,结束23ea93de。。。好啊 正在启动内核。。。 解压缩Linux。。。完成,启动内核。 错误:无法识别/不支持的设备树兼容列表: ['atmel,at91sam9263ek''atmel,at91sam9263''atmel,at91sam9'] 可用的机器支持: ID(十六进制)名称 000004b2 Atmel AT91SAM9263-EK 请检查内核配置和/或引导加载程序。 解决方案: 将此行添加到.config:
CONFIG_MACH_AT91SAM9_DT=y

使用设备树时,此板的正确配置为at91_DT_defconfig


然而,看到有人试图使用这样一个旧内核,我感到非常惊讶。该板在上游得到充分支持。为什么不使用v5.3?如果这不起作用,请报告任何错误,我们将很乐意帮助纠正它们。

根据内核版本和配置,有多种方法可以做到这一点。这是一个修复方法。不赞成直接编辑.config文件。使用
make menuconfig