[英]Buildroot Linux for arm processor imx287
我有一个任务是用arm iMX287的新内核构建Buildroot,Buildroot版本是2018.02.4,以前用内核v4.14.67构建,现在我尝试用内核f5.10.48构建,内核构建正常,我将内核、文件系统等写入U-Boot,启动系统,看到如下:
## Flattened Device Tree blob at 41000000
Booting using the fdt blob at 0x41000000
Loading Device Tree to 47b1b000, end 47b23148 ... OK
Starting kernel ...
data abort
pc : [<42000134>] lr : [<28c82330>]
sp : 424cf570 ip : 900a40a6 fp : d6e26852
r10: 2687e604 r9 : c0dabbc0 r8 : 47b1b000
r7 : 000009e3 r6 : 424ce540 r5 : 420000a0 r4 : 40008000
r3 : 21162500 r2 : 29a2d619 r1 : 03b63138 r0 : e12c87c4
Flags: nzCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
resetting ...
Buildroot 中使用了以下内核配置:
CONFIG_POSIX_MQUEUE=y
CONFIG_EXT2_FS=m
CONFIG_EXT3_FS=m
CONFIG_SERIAL_MXS_AUART=m
CONFIG_SERIAL_MCTRL_GPIO=m
CONFIG_SND_MXS_SOC=m
CONFIG_SND_SOC_MXS_SGTL5000=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_CONFIGFS_FS=y
CONFIG_DEBUG_INFO=n
CONFIG_DEBUG_KERNEL=n
CONFIG_USB_OTG=y
CONFIG_USB_OTG_FSM=y
CONFIG_USB_ACM=y
CONFIG_U_SERIAL_CONSOLE=y
CONFIG_USB_G_SERIAL=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_ETH=m
CONFIG_RTC_DRV_DS1307=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_NET_IPIP=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_UDP_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_L2TP=m
CONFIG_TUN=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NF_CONNTRACK_IPV4=y
NF_LOG_IPV4=y
NF_REJECT_IPV4=y
CONFIG_NF_NAT_IPV4=y
CONFIG_NF_NAT_MASQUERADE_IPV4=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_RAW=y
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_HAVE_GCC_PLUGINS=n
CONFIG_GCC_PLUGINS=n
在构建内核时,我看到以下消息:
Using /home/max/work/buildroot/buildroot-2018.02.4/output/build/linux-5.10.48/.config as base
Merging new_kernel_defconfig
Value of CONFIG_POSIX_MQUEUE is redefined by fragment tm4/soyuz_new_kernel_defconfig:
Previous value: # CONFIG_POSIX_MQUEUE is not set
New value: CONFIG_POSIX_MQUEUE=y
Value of CONFIG_EXT2_FS is redefined by fragment tm4/soyuz_new_kernel_defconfig:
Previous value: # CONFIG_EXT2_FS is not set
New value: CONFIG_EXT2_FS=m
Value of CONFIG_EXT3_FS is redefined by fragment tm4/soyuz_new_kernel_defconfig:
Previous value: # CONFIG_EXT3_FS is not set
New value: CONFIG_EXT3_FS=m
...
更换内核后,有错误时,编译一个新的内核DTB文件,我解决了这样的问题:我编译dtc
的手臂静态,加载dtc
在设备上,从/ proc /设备树创建的DTS文件,现在 DTB 的构建没有错误。
任何想法? 如果有一些调试消息,我可以理解出了什么问题,但内核似乎根本没有加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.