问题描述
我有一个任务是用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
for arm,在设备上加载dtc
并创建来自 /proc/device-tree 的 DTS 文件,现在 DTB 构建没有错误。
有什么想法吗?如果有一些调试消息,我可以理解出了什么问题,但内核似乎根本没有加载。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)