yocto项目中的U-boot源代码

时间:2017-03-15 13:40:13

标签: linux-kernel yocto u-boot bitbake

我是yocto项目的新手,并根据我能从互联网上找到的指南来构建项目。

当我按照目前的指南来构建图像时,我能够成功完成它。

http://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html

但我不知道它在哪里找到了u-boot源代码,并告诉我获取内核源代码。

2 个答案:

答案 0 :(得分:1)

如果您使用的是1.8(基于上面的链接),那么您应首先阅读https://www.yoctoproject.org/docs/1.8/bsp-guide/bsp-guide.html以了解有关如何执行BSP相关工作的更多信息。一旦你理解了内核示例,这应该会引导你如何使用U-Boot。

答案 1 :(得分:1)

查找内核源代码和u-boot源代码的最佳方法是查看MACHINE

中的conf/local.conf变量

例如:https://github.com/Freescale/meta-fsl-arm/blob/master/conf/machine/imx6dlsabresd.conf

MACHINEOVERRIDES =. "mx6:mx6dl:"

require conf/machine/include/imx6sabresd-common.inc

KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb imx6dl-sabresd-hdcp.dtb \
                     imx6dl-sabresd-enetirq.dtb imx6dl-sabresd-btwifi.dtb"

UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx6dlsabresd_config,sdcard"
UBOOT_CONFIG[epdc] = "mx6dlsabresd_epdc_config"
UBOOT_CONFIG[mfgtool] = "mx6dlsabresd_config"

MACHINE_FIRMWARE += "firmware-imx-epdc"

require conf/machine/include/imx6sabresd-common.inc行告诉我们要imx6sabresd-common.inc,这会让我们看到imx-base.inc

imx-base.inc内,它显示PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-fslc"

开启,OpenEmbedded Layer Index,检查u-boot-fslc,您会看到u-boot-fslc_2016.11.bb,这会导致u-boot-fslc.inc

对于内核,这是相同的,以与u-boot相同的方式查找:

# Handle default kernel
IMX_DEFAULT_KERNEL = "linux-imx"
IMX_DEFAULT_KERNEL_mxs = "linux-fslc"
IMX_DEFAULT_KERNEL_mx5 = "linux-fslc"
IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_mx7 = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_mx6ul = "linux-fslc-imx"

PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"